]> git.ipfire.org Git - thirdparty/git.git/blobdiff - git-pull.sh
pull: merge into unborn by fast-forwarding from empty tree
[thirdparty/git.git] / git-pull.sh
index f323f56bcb2f0c2fe443841422be2b72dcf74bb6..2c502171f7fb7bc6e13c65dfd72e920e8b021a3b 100755 (executable)
@@ -260,9 +260,16 @@ case "$merge_head" in
        ;;
 esac
 
+# Pulling into unborn branch: a shorthand for branching off
+# FETCH_HEAD, for lazy typers.
 if test -z "$orig_head"
 then
-       git read-tree -m -u $merge_head &&
+       # Two-way merge: we claim the index is based on an empty tree,
+       # and try to fast-forward to HEAD.  This ensures we will not
+       # lose index/worktree changes that the user already made on
+       # the unborn branch.
+       empty_tree=4b825dc642cb6eb9a060e54bf8d69288fbee4904
+       git read-tree -m -u $empty_tree $merge_head &&
        git update-ref -m "initial pull" HEAD $merge_head "$curr_head"
        exit
 fi