Merge branch 'dj/log-graph-with-no-walk'

"git log --graph --no-walk A B..." is a otcnflicting request that
asks nonsense; no-walk tells us show discrete points in the
history, while graph asks to draw connections between these
discrete points. Forbid the combination.

* dj/log-graph-with-no-walk:
  revision: forbid combining --graph and --no-walk
This commit is contained in:
Junio C Hamano
2015-03-25 12:54:22 -07:00
6 changed files with 23 additions and 7 deletions

View File

@ -680,6 +680,7 @@ endif::git-rev-list[]
given on the command line. Otherwise (if `sorted` or no argument given on the command line. Otherwise (if `sorted` or no argument
was given), the commits are shown in reverse chronological order was given), the commits are shown in reverse chronological order
by commit time. by commit time.
Cannot be combined with `--graph`.
--do-walk:: --do-walk::
Overrides a previous `--no-walk`. Overrides a previous `--no-walk`.
@ -782,6 +783,7 @@ you would get an output like this:
on the left hand side of the output. This may cause extra lines 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 printed in between commits, in order for the graph history
to be drawn properly. to be drawn properly.
Cannot be combined with `--no-walk`.
+ +
This enables parent rewriting, see 'History Simplification' below. This enables parent rewriting, see 'History Simplification' below.
+ +

View File

@ -2339,6 +2339,8 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s
if (revs->reflog_info && revs->graph) if (revs->reflog_info && revs->graph)
die("cannot combine --walk-reflogs with --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) if (!revs->reflog_info && revs->grep_filter.use_reflog_filter)
die("cannot use --grep-reflog without --walk-reflogs"); die("cannot use --grep-reflog without --walk-reflogs");

View File

@ -99,7 +99,7 @@ do
test_cmp "$expect" actual test_cmp "$expect" actual
' '
test "$cmd" != diff || continue case "$cmd" in diff|show) continue;; esac
test_expect_success "$cmd --graph $verb COLUMNS (big change)" ' test_expect_success "$cmd --graph $verb COLUMNS (big change)" '
COLUMNS=200 git $cmd $args --graph >output COLUMNS=200 git $cmd $args --graph >output
@ -127,7 +127,7 @@ do
test_cmp "$expect" actual 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)" ' test_expect_success "$cmd --graph $verb not enough COLUMNS (big change)" '
COLUMNS=40 git $cmd $args --graph >output COLUMNS=40 git $cmd $args --graph >output
@ -155,7 +155,7 @@ do
test_cmp "$expect" actual test_cmp "$expect" actual
' '
test "$cmd" != diff || continue case "$cmd" in diff|show) continue;; esac
test_expect_success "$cmd --graph $verb statGraphWidth config" ' test_expect_success "$cmd --graph $verb statGraphWidth config" '
git -c diff.statGraphWidth=26 $cmd $args --graph >output git -c diff.statGraphWidth=26 $cmd $args --graph >output
@ -196,7 +196,7 @@ do
test_cmp expect actual 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" ' test_expect_success "$cmd --stat-width=width --graph with big change" '
git $cmd $args --stat-width=40 --graph >output git $cmd $args --stat-width=40 --graph >output
@ -236,7 +236,7 @@ do
test_cmp expect actual 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" ' test_expect_success "$cmd --stat=width --graph with big change is balanced" '
git $cmd $args --stat-width=60 --graph >output && git $cmd $args --stat-width=60 --graph >output &&
@ -270,7 +270,7 @@ do
test_cmp "$expect" actual test_cmp "$expect" actual
' '
test "$cmd" != diff || continue case "$cmd" in diff|show) continue;; esac
test_expect_success "$cmd --graph $verb COLUMNS (long filename)" ' test_expect_success "$cmd --graph $verb COLUMNS (long filename)" '
COLUMNS=200 git $cmd $args --graph >output COLUMNS=200 git $cmd $args --graph >output
@ -299,7 +299,7 @@ do
test_cmp "$expect" actual test_cmp "$expect" actual
' '
test "$cmd" != diff || continue case "$cmd" in diff|show) continue;; esac
test_expect_success COLUMNS_CAN_BE_1 \ test_expect_success COLUMNS_CAN_BE_1 \
"$cmd --graph $verb prefix greater than COLUMNS (big change)" ' "$cmd --graph $verb prefix greater than COLUMNS (big change)" '

View File

@ -887,4 +887,8 @@ test_expect_success GPG 'log --graph --show-signature for merged tag' '
grep "^| | gpg: Good signature" actual grep "^| | gpg: Good signature" actual
' '
test_expect_success 'log --graph --no-walk is forbidden' '
test_must_fail git log --graph --no-walk
'
test_done test_done

View File

@ -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 test_done

View File

@ -124,4 +124,8 @@ test_expect_success '--quiet suppresses diff' '
test_cmp expect actual test_cmp expect actual
' '
test_expect_success 'show --graph is forbidden' '
test_must_fail git show --graph HEAD
'
test_done test_done