summaryrefslogtreecommitdiff
path: root/diff.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-02-26 00:43:30 (GMT)
committerJunio C Hamano <gitster@pobox.com>2021-02-26 00:43:30 (GMT)
commit845d6030f81da3bb43bd24a78ef8c441a441c5d5 (patch)
tree8f53740bbf5e31f6a002bc6166c897417e58696e /diff.h
parent3da165ca289efd84ed648a4b87b7d9ed675937c2 (diff)
parent1eb4136ac2a24764257567b930535fcece01719f (diff)
downloadgit-845d6030f81da3bb43bd24a78ef8c441a441c5d5.zip
git-845d6030f81da3bb43bd24a78ef8c441a441c5d5.tar.gz
git-845d6030f81da3bb43bd24a78ef8c441a441c5d5.tar.bz2
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.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/diff.h b/diff.h
index 527fb56..c8f3fae 100644
--- a/diff.h
+++ b/diff.h
@@ -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