diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2007-09-17 23:34:06 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-09-26 13:42:10 -0700 |
commit | 26b28007689d27a921ea90e5a29fc8eb74b0d297 (patch) | |
tree | 5d422206c3c7ca53af345f72e665bf5ae82be057 /git-am.sh | |
parent | 102c2338da0b0954a04742f5cbe307fa6b49f225 (diff) | |
download | git-26b28007689d27a921ea90e5a29fc8eb74b0d297.tar.gz git-26b28007689d27a921ea90e5a29fc8eb74b0d297.tar.xz |
apply: get rid of --index-info in favor of --build-fake-ancestor
git-am used "git apply -z --index-info" to find the original versions
of the files touched by the diff, to be able to do an inexpensive
three-way merge.
This operation makes only sense in a repository, since the index
information in the diff refers to blobs, which have to be present in
the current repository.
Therefore, teach "git apply" a mode to write out the result as an
index file to begin with, obviating the need for scripts to do it
themselves.
The sole user for --index-info is "git am" is converted to
use --build-fake-ancestor in this patch.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-am.sh')
-rwxr-xr-x | git-am.sh | 6 |
1 files changed, 2 insertions, 4 deletions
@@ -62,10 +62,8 @@ fall_back_3way () { mkdir "$dotest/patch-merge-tmp-dir" # First see if the patch records the index info that we can use. - git apply -z --index-info "$dotest/patch" \ - >"$dotest/patch-merge-index-info" && - GIT_INDEX_FILE="$dotest/patch-merge-tmp-index" \ - git update-index -z --index-info <"$dotest/patch-merge-index-info" && + git apply --build-fake-ancestor "$dotest/patch-merge-tmp-index" \ + "$dotest/patch" && GIT_INDEX_FILE="$dotest/patch-merge-tmp-index" \ git write-tree >"$dotest/patch-merge-base+" || cannot_fallback "Repository lacks necessary blobs to fall back on 3-way merge." |