Skip to content

Commit

Permalink
revision: forbid combining --graph and --no-walk
Browse files Browse the repository at this point in the history
Because "--graph" is about connected history while --no-walk is
about discrete points, it does not make sense to allow these two
options at the same time. [1]

This change makes a few calls to "show --graph" fail in t4052, but
asking to show one commit with graph is a nonsensical thing to do.
Thus, tests on "show --graph" in t4052 have been removed [2,3].
Same tests on "show" without --graph option have already been tested
in 4052.

3 testcases have been added to test this patch.

[1]: http://article.gmane.org/gmane.comp.version-control.git/216083
[2]: http://article.gmane.org/gmane.comp.version-control.git/264950
[3]: http://article.gmane.org/gmane.comp.version-control.git/265107

Helped-By: Eric Sunshine <sunshine@sunshineco.com>
Helped-By: René Scharfe <l.s.r@web.de>
Helped-By: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Dongcan Jiang <dongcan.jiang@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Dongcan Jiang authored and Junio C Hamano committed Mar 19, 2015
1 parent 9874fca commit 695985f
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 7 deletions.
2 changes: 2 additions & 0 deletions Documentation/rev-list-options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -673,6 +673,7 @@ These options are mostly targeted for packing of Git repositories.
given on the command line. Otherwise (if `sorted` or no argument
was given), the commits are shown in reverse chronological order
by commit time.
Cannot be combined with `--graph`.

--do-walk::
Overrides a previous `--no-walk`.
Expand Down Expand Up @@ -775,6 +776,7 @@ you would get an output like this:
on the left hand side of the output. This may cause extra lines
to be printed in between commits, in order for the graph history
to be drawn properly.
Cannot be combined with `--no-walk`.
+
This enables parent rewriting, see 'History Simplification' below.
+
Expand Down
2 changes: 2 additions & 0 deletions revision.c
Original file line number Diff line number Diff line change
Expand Up @@ -2337,6 +2337,8 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s

if (revs->reflog_info && revs->graph)
die("cannot combine --walk-reflogs with --graph");
if (revs->no_walk && revs->graph)
die("cannot combine --no-walk with --graph");
if (!revs->reflog_info && revs->grep_filter.use_reflog_filter)
die("cannot use --grep-reflog without --walk-reflogs");

Expand Down
14 changes: 7 additions & 7 deletions t/t4052-stat-output.sh
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ do
test_cmp "$expect" actual
'

test "$cmd" != diff || continue
case "$cmd" in diff|show) continue;; esac

test_expect_success "$cmd --graph $verb COLUMNS (big change)" '
COLUMNS=200 git $cmd $args --graph >output
Expand Down Expand Up @@ -127,7 +127,7 @@ do
test_cmp "$expect" actual
'

test "$cmd" != diff || continue
case "$cmd" in diff|show) continue;; esac

test_expect_success "$cmd --graph $verb not enough COLUMNS (big change)" '
COLUMNS=40 git $cmd $args --graph >output
Expand Down Expand Up @@ -155,7 +155,7 @@ do
test_cmp "$expect" actual
'

test "$cmd" != diff || continue
case "$cmd" in diff|show) continue;; esac

test_expect_success "$cmd --graph $verb statGraphWidth config" '
git -c diff.statGraphWidth=26 $cmd $args --graph >output
Expand Down Expand Up @@ -196,7 +196,7 @@ do
test_cmp expect actual
'

test "$cmd" != diff || continue
case "$cmd" in diff|show) continue;; esac

test_expect_success "$cmd --stat-width=width --graph with big change" '
git $cmd $args --stat-width=40 --graph >output
Expand Down Expand Up @@ -236,7 +236,7 @@ do
test_cmp expect actual
'

test "$cmd" != diff || continue
case "$cmd" in diff|show) continue;; esac

test_expect_success "$cmd --stat=width --graph with big change is balanced" '
git $cmd $args --stat-width=60 --graph >output &&
Expand Down Expand Up @@ -270,7 +270,7 @@ do
test_cmp "$expect" actual
'

test "$cmd" != diff || continue
case "$cmd" in diff|show) continue;; esac

test_expect_success "$cmd --graph $verb COLUMNS (long filename)" '
COLUMNS=200 git $cmd $args --graph >output
Expand Down Expand Up @@ -299,7 +299,7 @@ do
test_cmp "$expect" actual
'

test "$cmd" != diff || continue
case "$cmd" in diff|show) continue;; esac

test_expect_success COLUMNS_CAN_BE_1 \
"$cmd --graph $verb prefix greater than COLUMNS (big change)" '
Expand Down
4 changes: 4 additions & 0 deletions t/t4202-log.sh
Original file line number Diff line number Diff line change
Expand Up @@ -872,4 +872,8 @@ test_expect_success GPG 'log --graph --show-signature for merged tag' '
grep "^| | gpg: Good signature" actual
'

test_expect_success 'log --graph --no-walk is forbidden' '
test_must_fail git log --graph --no-walk
'

test_done
4 changes: 4 additions & 0 deletions t/t6014-rev-list-all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,8 @@ test_expect_success 'repack does not lose detached HEAD' '
'

test_expect_success 'rev-list --graph --no-walk is forbidden' '
test_must_fail git rev-list --graph --no-walk HEAD
'

test_done
4 changes: 4 additions & 0 deletions t/t7007-show.sh
Original file line number Diff line number Diff line change
Expand Up @@ -124,4 +124,8 @@ test_expect_success '--quiet suppresses diff' '
test_cmp expect actual
'

test_expect_success 'show --graph is forbidden' '
test_must_fail git show --graph HEAD
'

test_done

0 comments on commit 695985f

Please sign in to comment.