diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-02-28 16:11:55 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-04-02 23:52:20 -0700 |
commit | 467ddc14fe37ea6a3d77058fb24c4240e82e6344 (patch) | |
tree | 14e77a41ab3361c97ead322efd2c86f851dcb8fc /Documentation | |
parent | Start preparing release notes to 1.7.5 (diff) | |
download | tgif-467ddc14fe37ea6a3d77058fb24c4240e82e6344.tar.xz |
git diff -D: omit the preimage of deletes
When reviewing a patch while concentrating primarily on the text after
then change, wading through pages of deleted text involves a cognitive
burden.
Introduce the -D option that omits the preimage text from the patch output
for deleted files. When used with -B (represent total rewrite as a single
wholesale deletion followed by a single wholesale addition), the preimage
text is also omitted.
To prevent such a patch from being applied by mistake, the output is
designed not to be usable by "git apply" (or GNU "patch"); it is strictly
for human consumption.
It of course is possible to "apply" such a patch by hand, as a human can
read the intention out of such a patch. It however is impossible to apply
such a patch even manually in reverse, as the whole point of this option
is to omit the information necessary to do so from the output.
Initial request by Mart Sõmermaa, documentation and tests helped by
Michael J Gruber.
Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/diff-options.txt | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Documentation/diff-options.txt b/Documentation/diff-options.txt index c93124be79..30a00d3287 100644 --- a/Documentation/diff-options.txt +++ b/Documentation/diff-options.txt @@ -259,6 +259,19 @@ endif::git-log[] projects, so use it with caution. Giving more than one `-C` option has the same effect. +-D:: +--irreversible-delete:: + Omit the preimage for deletes, i.e. print only the header but not + the diff between the preimage and `/dev/null`. The resulting patch + is not meant to be applied with `patch` nor `git apply`; this is + solely for people who want to just concentrate on reviewing the + text after the change. In addition, the output obviously lack + enough information to apply such a patch in reverse, even manually, + hence the name of the option. ++ +When used together with `-B`, omit also the preimage in the deletion part +of a delete/create pair. + -l<num>:: The `-M` and `-C` options require O(n^2) processing time where n is the number of potential rename/copy targets. This |