threads / patch / 38809

v3log: forbid log --graph --no-walk

Subject: [PATCH v3] log: forbid log --graph --no-walk

## tl;dr

7 messages between Mar 15, 2015 and Mar 16, 2015. Diffs are folded; open one to read it.

replies: 6people: 3as markdown or json

Manos Pitsidianakis· Mar 15, 2015, 00:43 UTC · lore

In git-log, --graph shows a graphical representation of a continuous commit history, and --no-walk shows discrete specified commits without continuity. Using both doesn't make sense, so we forbid the combined use of these flags.

Signed-off-by: Manos Pitsidianakis <epilys@norn.io>
---
This is a microproject intended to complement my GSoC application.
 builtin/log.c  | 2 ++
 t/t4202-log.sh | 4 ++++
 2 files changed, 6 insertions(+)
Show changes to 2 files +6 −0

builtin/log.c, t/t4202-log.sh

diff --git a/builtin/log.c b/builtin/log.c
index dd8f3fc..5aaf964 100644
--- a/builtin/log.c
+++ b/builtin/log.c
@@ -155,6 +155,8 @@ static void cmd_log_init_finish(int argc, const char **argv, const char *prefix,
 	memset(&w, 0, sizeof(w));
 	userformat_find_requirements(NULL, &w);
 
+	if (rev->graph && rev->no_walk)
+		die("--graph and --no-walk are incompatible");
 	if (!rev->show_notes_given && (!rev->pretty_given || w.notes))
 		rev->show_notes = 1;
 	if (rev->show_notes)
diff --git a/t/t4202-log.sh b/t/t4202-log.sh
index 5f2b290..5d72713 100755
--- a/t/t4202-log.sh
+++ b/t/t4202-log.sh
@@ -887,4 +887,8 @@ test_expect_success GPG 'log --graph --show-signature for merged tag' '
 	grep "^| | gpg: Good signature" actual
 '
 
+test_expect_success 'forbid log --graph --no-walk' '
+	test_must_fail git log --graph --no-walk
+'
+
 test_done
-- 
2.1.4
Dongcan Jiang· Mar 15, 2015, 01:08 UTC · re: Manos Pitsidianakis · lore

Re: [PATCH v3] log: forbid log --graph --no-walk

it seems that your patch could not pass t4052-stat-output.sh.

I think it would be better if you could improve the specification for this change in Document/rev-list-options.txt

2015-03-15 8:43 GMT+08:00 Manos Pitsidianakis <epilys@norn.io>:
Show 47 quoted lines
> In git-log, --graph shows a graphical representation of a continuous
> commit history, and --no-walk shows discrete specified commits without
> continuity. Using both doesn't make sense, so we forbid the combined use
> of these flags.
>
> Signed-off-by: Manos Pitsidianakis <epilys@norn.io>
> ---
> This is a microproject intended to complement my GSoC application.
>  builtin/log.c  | 2 ++
>  t/t4202-log.sh | 4 ++++
>  2 files changed, 6 insertions(+)
>
> diff --git a/builtin/log.c b/builtin/log.c
> index dd8f3fc..5aaf964 100644
> --- a/builtin/log.c
> +++ b/builtin/log.c
> @@ -155,6 +155,8 @@ static void cmd_log_init_finish(int argc, const char **argv, const char *prefix,
>         memset(&w, 0, sizeof(w));
>         userformat_find_requirements(NULL, &w);
>
> +       if (rev->graph && rev->no_walk)
> +               die("--graph and --no-walk are incompatible");
>         if (!rev->show_notes_given && (!rev->pretty_given || w.notes))
>                 rev->show_notes = 1;
>         if (rev->show_notes)
> diff --git a/t/t4202-log.sh b/t/t4202-log.sh
> index 5f2b290..5d72713 100755
> --- a/t/t4202-log.sh
> +++ b/t/t4202-log.sh
> @@ -887,4 +887,8 @@ test_expect_success GPG 'log --graph --show-signature for merged tag' '
>         grep "^| | gpg: Good signature" actual
>  '
>
> +test_expect_success 'forbid log --graph --no-walk' '
> +       test_must_fail git log --graph --no-walk
> +'
> +
>  test_done
> --
> 2.1.4
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
江东灿(Dongcan Jiang)
Team of Search Engine & Web Mining
School of Electronic Engineering & Computer Science
Peking University, Beijing, 100871, P.R.China
Manos Pitsidianakis· Mar 15, 2015, 01:24 UTC · re: Dongcan Jiang · lore

Re: [PATCH v3] log: forbid log --graph --no-walk

On 03/15/2015 03:08 AM, Dongcan Jiang wrote:
> it seems that your patch could not pass t4052-stat-output.sh.
> 
> I think it would be better if you could improve the specification for
> this change in Document/rev-list-options.txt

Can't grok why this happens. What exactly is happening in t4052-stat-output.sh? Is it testing every possible combination of git commands and arguments?

Dongcan Jiang· Mar 15, 2015, 01:39 UTC · re: Manos Pitsidianakis · lore

Re: [PATCH v3] log: forbid log --graph --no-walk

Because "revs->no_walk" gets set when it comes to "git show". You can find more information on [1].

[1] http://article.gmane.org/gmane.comp.version-control.git/264921
2015-03-15 9:24 GMT+08:00 Manos Pitsidianakis <epilys@norn.io>:
Show 9 quoted lines
> On 03/15/2015 03:08 AM, Dongcan Jiang wrote:
>> it seems that your patch could not pass t4052-stat-output.sh.
>>
>> I think it would be better if you could improve the specification for
>> this change in Document/rev-list-options.txt
>
> Can't grok why this happens. What exactly is happening in
> t4052-stat-output.sh? Is it testing every possible combination of git
> commands and arguments?
-- 
江东灿(Dongcan Jiang)
Team of Search Engine & Web Mining
School of Electronic Engineering & Computer Science
Peking University, Beijing, 100871, P.R.China
Manos Pitsidianakis· Mar 16, 2015, 19:00 UTC · re: Dongcan Jiang · lore

Re: [PATCH v3] log: forbid log --graph --no-walk

On 03/15/2015 03:39 AM, Dongcan Jiang wrote:
> Because "revs->no_walk" gets set when it comes to "git show".

So basically rewriting t4052-stat-output.sh to exclude git show --graph cases (or similar) is not enough. If rewriting git-show code is what is needed, is that in the scope of a microproject?

Junio C Hamano· Mar 16, 2015, 19:08 UTC · re: Manos Pitsidianakis · lore

Re: [PATCH v3] log: forbid log --graph --no-walk

Manos Pitsidianakis <epilys@norn.io> writes:
Show 6 quoted lines
> On 03/15/2015 03:39 AM, Dongcan Jiang wrote:
>> Because "revs->no_walk" gets set when it comes to "git show".
>
> So basically rewriting t4052-stat-output.sh to exclude git show --graph
> cases (or similar) is not enough. If rewriting git-show code is what is
> needed, is that in the scope of a microproject?

Perhaps 13b25381 (revision: forbid combining --graph and --no-walk, 2015-03-11) that is queued on 'pu' would be a good answer to this question?

Manos Pitsidianakis· Mar 16, 2015, 19:15 UTC · re: Junio C Hamano · lore

Re: [PATCH v3] log: forbid log --graph --no-walk

On 03/16/2015 09:08 PM, Junio C Hamano wrote:
> Perhaps 13b25381 (revision: forbid combining --graph and --no-walk,
> 2015-03-11) that is queued on 'pu' would be a good answer to this
> question?
Didn't notice a patch was queued on 'pu', thanks.

← back to recent threads