Junio C Hamano venit, vidit, dixit 28.02.2011 00:07: > Junio C Hamano <gitster@xxxxxxxxx> writes: > >> Michael J Gruber <git@xxxxxxxxxxxxxxxxxxxx> writes: >> >>> Wasn't the pager invented for sifting through output which has to be >>> several pages, but not not for that which could be more concise? ;) >>> >>> In fact, -D would be quite analogous to -M and -C in that respect. >> >> There is a big difference: -M and -C lets your recipient reproduce the >> state using the change you are trying to convey with the diff output in >> either direction (iow, "apply -R" works), but your "-D" would not have >> that property. > > Having said that we have always valued "reversibility" and a casual -D is I didn't know, but I guess I haven't come across those issues yet. > not in line with that principle, I don't have a strong objection if the > new mode of operation is marked clearly as "nonusable if you are trying to > produce appliable diff (iow, don't send such a patch to mailing list--it > is for viewing purposes only)", treating it just like the --color-words > and the --stat options (there isn't even need to mark these as unusable > for that purpose, as people with common sense would be able to guess). Yes, it is purely intended as "for viewing by humans". Even in the forward direction saying "delete that path" is different from saying "delete that content from that path", i.e. "diff -D" output may apply without conflicts in cases where "diff" output does not. That aspect is similar to -M and -C, though - unless we check the sha1 of the blobs before applying the patch (which would be possible for -D also) - do we? > If we were to do this, it probably is a good idea to apply that for a > typechange patch (the one that is produced when a symlink turns into a > regular file and vice versa) as well. 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. Reminds me of my failed attempt to make the diff output for symlinks more human-friendly. The latter can be solved with textconv, though. Michael -- 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