diff options
author | Linus Torvalds <torvalds@osdl.org> | 2006-06-28 22:06:36 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-06-28 22:24:45 -0700 |
commit | 0c7993839b92f466278439a724023f8be50391c1 (patch) | |
tree | fd1fc5395f2dce9c742b0902c82fe60e4b9da718 /pack-objects.c | |
parent | Prepare "git-merge-tree" for future work (diff) | |
download | tgif-0c7993839b92f466278439a724023f8be50391c1.tar.xz |
Improved three-way blob merging code
This fleshes out the code that generates a three-way merge of a set of
blobs.
It still actually does the three-way merge using an external executable
(ie just calling "merge"), but the interfaces have been cleaned up a lot
and are now fully based on the 'mmfile_t' interface, so if libxdiff were
to ever grow a compatible three-way-merge, it could probably be directly
plugged in.
It also uses the previous XDL_EMIT_COMMON functionality extension to
libxdiff to generate a made-up base file for the merge for the case where
no base file previously existed. This should be equivalent to what we
currently do in git-merge-one-file.sh:
diff -u -La/$orig -Lb/$orig $orig $src2 | git-apply --no-add
except it should be much simpler and can be done using the direct libxdiff
interfaces.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'pack-objects.c')
0 files changed, 0 insertions, 0 deletions