@matheusbsbs / matheus-bagliano / commits / cb7529e13b
Fork 0

revision: Turn off history simplification in --ancestry-path mode

When using --ancestry-path together with history simplification (typically triggered by path limiting), history simplification would get in the way of --ancestry-path by prematurely removing the parent links between commits on which the ancestry path calculations are made. This patch disables this history simplification when --ancestry-path is enabled. This is similar to what e.g. --full-history already does. The patch also includes a simple testcase verifying that --ancestry-path works together with path limiting. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Johan Herland committed Jun 4, 2010 at 01:17 UTC cb7529e13bce186f8b883c9fbb08602cd3a0795f
2 files changed +18
revision.c
+1
@@ -1190,6 +1190,7 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
1190 revs->first_parent_only = 1;
1191 } else if (!strcmp(arg, "--ancestry-path")) {
1192 revs->ancestry_path = 1;
1193 + revs->simplify_history = 0;
1194 revs->limited = 1;
1195 } else if (!strcmp(arg, "-g") || !strcmp(arg, "--walk-reflogs")) {
1196 init_reflog_walk(&revs->reflog_info);
t/t6019-rev-list-ancestry-path.sh
+17
@@ -10,6 +10,9 @@ test_description='--ancestry-path'
10 #
11 # D..M == E F G H I J K L M
12 # --ancestry-path D..M == E F H I J L M
13 +#
14 +# D..M -- M.t == M
15 +# --ancestry-path D..M -- M.t == M
16
17 . ./test-lib.sh
18
@@ -53,4 +56,18 @@ test_expect_success 'rev-list --ancestry-path D..M' '
56 test_cmp expect actual
57 '
58
59 +test_expect_success 'rev-list D..M -- M.t' '
60 + echo M >expect &&
61 + git rev-list --format=%s D..M -- M.t |
62 + sed -e "/^commit /d" >actual &&
63 + test_cmp expect actual
64 +'
65 +
66 +test_expect_success 'rev-list --ancestry-patch D..M -- M.t' '
67 + echo M >expect &&
68 + git rev-list --ancestry-path --format=%s D..M -- M.t |
69 + sed -e "/^commit /d" >actual &&
70 + test_cmp expect actual
71 +'
72 +
73 test_done