aboutsummaryrefslogtreecommitdiffstats
path: root/revision.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2022-08-29 14:55:11 -0700
committerJunio C Hamano <gitster@pobox.com>2022-08-29 14:55:11 -0700
commit0b08ba7eb666803973ccbb60b8e1a4436fe494b5 (patch)
tree9819ec92b87a56116b429e8968176c7ba2d3693b /revision.h
parent64cb4c34d1c27969c6556cbe339a73e88758d7e6 (diff)
parent257418c59040c13bfa839e01922e21833cda6a52 (diff)
downloadgit-0b08ba7eb666803973ccbb60b8e1a4436fe494b5.tar.gz
Merge branch 'en/ancestry-path-in-a-range'
"git rev-list --ancestry-path=C A..B" is a natural extension of "git rev-list A..B"; instead of choosing a subset of A..B to those that have ancestry relationship with A, it lets a subset with ancestry relationship with C. * en/ancestry-path-in-a-range: revision: allow --ancestry-path to take an argument t6019: modernize tests with helper rev-list-options.txt: fix simple typo
Diffstat (limited to 'revision.h')
-rw-r--r--revision.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/revision.h b/revision.h
index bb91e7ed91..61a9b1316b 100644
--- a/revision.h
+++ b/revision.h
@@ -48,6 +48,7 @@
*/
#define NOT_USER_GIVEN (1u<<25)
#define TRACK_LINEAR (1u<<26)
+#define ANCESTRY_PATH (1u<<27)
#define ALL_REV_FLAGS (((1u<<11)-1) | NOT_USER_GIVEN | TRACK_LINEAR | PULL_MERGE)
#define DECORATE_SHORT_REFS 1
@@ -164,6 +165,13 @@ struct rev_info {
cherry_mark:1,
bisect:1,
ancestry_path:1,
+
+ /* True if --ancestry-path was specified without an
+ * argument. The bottom revisions are implicitly
+ * the arguments in this case.
+ */
+ ancestry_path_implicit_bottoms:1,
+
first_parent_only:1,
exclude_first_parent_only:1,
line_level_traverse:1,
@@ -306,6 +314,7 @@ struct rev_info {
struct saved_parents *saved_parents_slab;
struct commit_list *previous_parents;
+ struct commit_list *ancestry_path_bottoms;
const char *break_bar;
struct revision_sources *sources;