summaryrefslogtreecommitdiff
path: root/git-resolve-script
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-06 03:02:31 (GMT)
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-06-06 03:02:31 (GMT)
commit02ede67ad45973f9f8d07db7896a537de97d21b6 (patch)
treed13f55becd5ed77a9fd0b47162bfa2d7f56285db /git-resolve-script
parent9b63f50148bd155c00b6893dbbf48583f7b0848d (diff)
downloadgit-02ede67ad45973f9f8d07db7896a537de97d21b6.zip
git-02ede67ad45973f9f8d07db7896a537de97d21b6.tar.gz
git-02ede67ad45973f9f8d07db7896a537de97d21b6.tar.bz2
git-read-tree: be a lot more careful about merging dirty trees
We don't want to overwrite state that we haven't committed yet when merging, so it's better to make git-read-tree fail than end up with a merge tree that ends up not having the dirty changes. Update git-resolve-script to fail cleanly when git-read-tree fails.
Diffstat (limited to 'git-resolve-script')
-rw-r--r--git-resolve-script5
1 files changed, 3 insertions, 2 deletions
diff --git a/git-resolve-script b/git-resolve-script
index b7ccc20..4fc7a6d 100644
--- a/git-resolve-script
+++ b/git-resolve-script
@@ -39,13 +39,14 @@ if [ "$common" == "$head" ]; then
echo "Destroying all noncommitted data!"
echo "Kill me within 3 seconds.."
sleep 3
- git-read-tree -m $merge && git-checkout-cache -f -u -a
+ git-read-tree -m $merge || exit 1
+ git-checkout-cache -f -u -a
echo $merge > "$GIT_DIR"/HEAD
git-diff-tree -p ORIG_HEAD HEAD | git-apply --stat
exit 0
fi
echo "Trying to merge $merge into $head"
-git-read-tree -m $common $head $merge
+git-read-tree -m $common $head $merge || exit 1
merge_msg="Merge of $merge_repo"
result_tree=$(git-write-tree 2> /dev/null)
if [ $? -ne 0 ]; then