More work on merging with git-read-tree..
Add a "-u" flag to update the tree as a result of a merge. Right now this code is way too anal about things, and fails merges it shouldn't, but let me fix up the different cases and this will allow for much smoother merging even in the presense of dirty data in the working tree.
This commit is contained in:
@ -39,14 +39,13 @@ if [ "$common" == "$head" ]; then
|
||||
echo "Destroying all noncommitted data!"
|
||||
echo "Kill me within 3 seconds.."
|
||||
sleep 3
|
||||
git-read-tree -m $merge || exit 1
|
||||
git-checkout-cache -f -u -a
|
||||
git-read-tree -u -m $head $merge || exit 1
|
||||
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 || exit 1
|
||||
git-read-tree -u -m $common $head $merge || exit 1
|
||||
merge_msg="Merge of $merge_repo"
|
||||
result_tree=$(git-write-tree 2> /dev/null)
|
||||
if [ $? -ne 0 ]; then
|
||||
@ -58,5 +57,4 @@ fi
|
||||
result_commit=$(echo "$merge_msg" | git-commit-tree $result_tree -p $head -p $merge)
|
||||
echo "Committed merge $result_commit"
|
||||
echo $result_commit > "$GIT_DIR"/HEAD
|
||||
git-checkout-cache -f -u -a
|
||||
git-diff-tree -p ORIG_HEAD HEAD | git-apply --stat
|
||||
|
Reference in New Issue
Block a user