Browse Source

Commit and push everything before a conflicting commit

Change-Id: Ifdc45e2b0f540ac8212aaca835b9d11c18078eb5
tags/7.1.0
Leif Åstrand 11 years ago
parent
commit
5a9303869c
1 changed files with 23 additions and 3 deletions
  1. 23
    3
      scripts/automerge7.sh

+ 23
- 3
scripts/automerge7.sh View File

@@ -67,6 +67,14 @@ maybe_commit_and_push() {
pushMerged
}

can_merge() {
commit=$1
git merge --no-commit --no-ff $commit > /dev/null 2>&1
result=$?
git reset --hard HEAD > /dev/null 2>&1
return $result
}

nothingToCommit=`git status | grep "nothing to commit"`
if [ "$nothingToCommit" == "" ]
then
@@ -89,9 +97,21 @@ do
commitMsg=`git log -n 1 --format=oneline --abbrev-commit $commit`
if [ "$mergeDirective" == "" ]
then
pendingCommit=$commit
pendingCommitMessage=$pendingCommitMessage"$commitMsg\n"
echo pendingCommitMessage: $pendingCommitMessage
if can_merge $commit
then
pendingCommit=$commit
pendingCommitMessage=$pendingCommitMessage"$commitMsg\n"
echo pendingCommitMessage: $pendingCommitMessage
else
maybe_commit_and_push $pendingCommit "$pendingCommitMessage"
pendingCommit=
pendingCommitMessage=
echo
echo "Stopping merge because $commit because of merge conflicts"
echo "The following commit must be manually merged."
show $commit
exit 3
fi
elif [ "$mergeDirective" == "no" ]
then
maybe_commit_and_push $pendingCommit "$pendingCommitMessage"

Loading…
Cancel
Save