Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
cvsexportcommit -p : fix the usage of git-apply -C.
author
Tomash Brechko
<tomash.brechko@gmail.com>
Mon, 9 Apr 2007 11:24:02 +0000
(15:24 +0400)
committer
Junio C Hamano
<junkio@cox.net>
Tue, 10 Apr 2007 01:52:41 +0000
(18:52 -0700)
Unlike 'patch --fuzz=NUM', which specifies the number of lines allowed
to mismatch, 'git-apply -CNUM' requests the match of NUM lines of
context. Omitting -C requests full context match, and that's what
should be used for cvsexportcommit -p.
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-cvsexportcommit.perl
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
24c64d6
)
diff --git
a/git-cvsexportcommit.perl
b/git-cvsexportcommit.perl
index 67224b44497715edc07df9d7df469339caa48e51..6ed471918df25006314f3f2c6177bdd018757068 100755
(executable)
--- a/
git-cvsexportcommit.perl
+++ b/
git-cvsexportcommit.perl
@@
-124,12
+124,17
@@
`git-diff-tree --binary -p $parent $commit >.cvsexportcommit.diff`;# || die "Cannot diff";
## apply non-binary changes
`git-diff-tree --binary -p $parent $commit >.cvsexportcommit.diff`;# || die "Cannot diff";
## apply non-binary changes
-my $fuzz = $opt_p ? 0 : 2;
+
+# In pedantic mode require all lines of context to match. In normal
+# mode, be compatible with diff/patch: assume 3 lines of context and
+# require at least one line match, i.e. ignore at most 2 lines of
+# context, like diff/patch do by default.
+my $context = $opt_p ? '' : '-C1';
print "Checking if patch will apply\n";
my @stat;
print "Checking if patch will apply\n";
my @stat;
-open APPLY, "GIT_DIR= git-apply
-C$fuzz
--binary --summary --numstat<.cvsexportcommit.diff|" || die "cannot patch";
+open APPLY, "GIT_DIR= git-apply
$context
--binary --summary --numstat<.cvsexportcommit.diff|" || die "cannot patch";
@stat=<APPLY>;
close APPLY || die "Cannot patch";
my (@bfiles,@files,@afiles,@dfiles);
@stat=<APPLY>;
close APPLY || die "Cannot patch";
my (@bfiles,@files,@afiles,@dfiles);
@@
-196,7
+201,7
@@
}
print "Applying\n";
}
print "Applying\n";
-`GIT_DIR= git-apply
-C$fuzz
--binary --summary --numstat --apply <.cvsexportcommit.diff` || die "cannot patch";
+`GIT_DIR= git-apply
$context
--binary --summary --numstat --apply <.cvsexportcommit.diff` || die "cannot patch";
print "Patch applied successfully. Adding new files and directories to CVS\n";
my $dirtypatch = 0;
print "Patch applied successfully. Adding new files and directories to CVS\n";
my $dirtypatch = 0;