On Tue, Mar 08, 2011 at 11:25:04PM +0200, Mart SÃmermaa wrote: > "It also might make sense to apply the similar principle to shorten the output > with -B when a rewrite patch is expressed as a single hunk patch that removes > everything old and then adds everthing new." > > I have to admit that I've never used -B, only -M, so please don't mind that > its semantics and exact behavior are a bit foreign to me. > > After running t/t4130-apply-criss-cross-rename.sh, > `git diff -M -B` outputs the following: > > diff --git a/file2 b/file1 > similarity index 100% > rename from file2 > rename to file1 > diff --git a/file1 b/file2 > similarity index 100% > rename from file1 > rename to file2 > > Can you bring a similar example of changes in the output after > the above-mentioned similar principle has been implemented for -B? Try: $ git init $ perl -e 'print "a\n" for (1 .. 1000)' >file $ git add file && git commit -m one $ perl -e 'print "b\n" for (1 .. 1000)' >file Now you can see that -B breaks notes it as a rewrite: $ git diff --stat --summary -B file | 2000 +++++++++++++++++++++++++++---------------------------- 1 files changed, 1000 insertions(+), 1000 deletions(-) rewrite file (100%) And the diff is long: $ git diff -B diff --git a/file b/file dissimilarity index 100% index 5cfafaa..a7b871a 100644 --- a/file +++ b/file @@ -1,1000 +1,1000 @@ -a -a [... x 1000] +b +b [... x 1000] But we could perhaps drop the actual 1000-line hunks (or maybe even just the deletion half). -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html