26 lines
683 B
Bash
Executable file
26 lines
683 B
Bash
Executable file
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
if git symbolic-ref --short refs/remotes/origin/HEAD >/dev/null; then
|
|
main_branch="$(git symbolic-ref --short refs/remotes/origin/HEAD | sed 's@^origin/@@')" "$@"
|
|
else
|
|
echo "You don't have a primary branch reference set for your origin remote.
|
|
Use:
|
|
git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/{name_of_your_primary_branch}
|
|
|
|
to set the reference and then try merging again."
|
|
|
|
exit 1
|
|
fi
|
|
|
|
git fetch origin
|
|
line_count=$(git diff origin/$main_branch..$main_branch | wc -l)
|
|
|
|
if [ $line_count -gt 0 ]; then
|
|
printf "failed: $main_branch is not up to date with origin/$main_branch\n"
|
|
exit 1
|
|
fi
|
|
|
|
git checkout $main_branch
|
|
git merge "@{-1}"
|