diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-02-25 16:43:30 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-02-25 16:43:30 -0800 |
commit | 845d6030f81da3bb43bd24a78ef8c441a441c5d5 (patch) | |
tree | 8f53740bbf5e31f6a002bc6166c897417e58696e /diff.h | |
parent | Merge branch 'mt/checkout-index-corner-cases' (diff) | |
parent | diff: --{rotate,skip}-to=<path> (diff) | |
download | tgif-845d6030f81da3bb43bd24a78ef8c441a441c5d5.tar.xz |
Merge branch 'jc/diffcore-rotate'
"git {diff,log} --{skip,rotate}-to=<path>" allows the user to
discard diff output for early paths or move them to the end of the
output.
* jc/diffcore-rotate:
diff: --{rotate,skip}-to=<path>
Diffstat (limited to 'diff.h')
-rw-r--r-- | diff.h | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -237,6 +237,27 @@ enum diff_submodule_format { struct diff_options { const char *orderfile; + /* + * "--rotate-to=<file>" would start showing at <file> and when + * the output reaches the end, wrap around by default. + * Setting skip_instead_of_rotate to true stops the output at the + * end, effectively discarding the earlier part of the output + * before <file>'s diff (this is used to implement the + * "--skip-to=<file>" option). + * + * When rotate_to_strict is set, it is an error if there is no + * <file> in the diff. Otherwise, the output starts at the + * path that is the same as, or first path that sorts after, + * <file>. Because it is unreasonable to require the exact + * match for "git log -p --rotate-to=<file>" (i.e. not all + * commit would touch that single <file>), "git log" sets it + * to false. "git diff" sets it to true to detect an error + * in the command line option. + */ + const char *rotate_to; + int skip_instead_of_rotate; + int rotate_to_strict; + /** * A constant string (can and typically does contain newlines to look for * a block of text, not just a single line) to filter out the filepairs |