projects
/
git.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
merge-one-file: use empty- or common-base condintionally in two-stage merge.
[git.git]
/
git-merge-one-file.sh
diff --git
a/git-merge-one-file.sh
b/git-merge-one-file.sh
index
d9ee458
..
b08597d
100755
(executable)
--- a/
git-merge-one-file.sh
+++ b/
git-merge-one-file.sh
@@
-64,7
+64,13
@@
case "${1:-.}${2:-.}${3:-.}" in
# This extracts OUR file in $orig, and uses git-apply to
# remove lines that are unique to ours.
orig=`git-unpack-file $2`
# This extracts OUR file in $orig, and uses git-apply to
# remove lines that are unique to ours.
orig=`git-unpack-file $2`
+ sz0=`wc -c <"$orig"`
diff -u -La/$orig -Lb/$orig $orig $src2 | git-apply --no-add
diff -u -La/$orig -Lb/$orig $orig $src2 | git-apply --no-add
+ sz1=`wc -c <"$orig"`
+
+ # If we do not have enough common material, it is not
+ # worth trying two-file merge using common subsections.
+ expr "$sz0" \< "$sz1" \* 2 >/dev/null || : >$orig
;;
*)
echo "Auto-merging $4."
;;
*)
echo "Auto-merging $4."