git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2] remote show: fix the -n option

From
Junio C Hamano <gitster@pobox.com>
Date
Jun 10, 2008, 01:10 UTC
Message-ID
<7vd4mqdrhi.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<alpine.DEB.1.00.0806091733230.1783@racer>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 15 quoted lines
> On Mon, 9 Jun 2008, Olivier Marin wrote:
>
>> diff --git a/builtin-remote.c b/builtin-remote.c
>> index c49f00f..efe74c7 100644
>> --- a/builtin-remote.c
>> +++ b/builtin-remote.c
>> @@ -421,10 +421,10 @@ static void show_list(const char *title, struct path_list *list)
>>  
>>  static int show_or_prune(int argc, const char **argv, int prune)
>>  {
>> -	int dry_run = 0, result = 0;
>> +	int no_query = 0, result = 0;
>
> Just for the record (not that I think anybody will care): I do not like 
> this change.
I do not think nobody cares ;-).

At least I care enough to point out that I think you are wrong in this case. "show -n" in the scripted version was never about "dry-run" but was about "no-query".

The problem with the area of the code this patch touches is that compared to the scripted version, show and prune now share their codepaths a bit more, and it is less easy to keep -n disabled for prune (I think it is a nonsense because you cannot "prune" sensibly without looking at what the remote has. It was a bug in the scripted version and losing it in C rewrite was a "silent bugfix") while resurrecting -n for show (which is a quick way to view where the URL points at without bothering to see what remote branches there are).

I think a sensible thing to do would be to:
 - Agree that "-n" in the sense that "do not query" and "--dry-run" in the
   sense that "do not do anything but report what you would do" are
   different options.
 - Resurrect "show -n" as a quick way to view URLs without bothering to
   contact the remote end that is needed to show "the tracked branches"
   information.
 - Forbid "prune -n", which is nonsense.
 - Make "prune --dry-run" truly useful --- contact the other end, and
   report what will be pruned without really pruning them.
 - Perhaps as an enhancement, "show -n" could show what tracking branches
   we have from the remote, even though the information may be stale.
   The scripted version did not do this, I think, and it would be an
   improvement.

I am CC'ing Shawn who authored 859607d (Teach 'git remote' how to cleanup stale tracking branches., 2007-02-02) to give him a chance to point out why I am wrong in saying "prune -n" is nonsense. Maybe there is a valid use case for that option, even though I do not see one.

Previous: Olivier MarinNext: Shawn O. Pearce
Message 22 of 36 in “remote show/prune: strange -n(--dry-run) option.”
  1. Olivier MarinJun 8, 2008
  2. Documentation/git-remote.txt: remove description for useless -n optionOlivier Marin, Jun 8, 2008
  3. Documentation/git-remote.txt: remove description for useless -n optiondkr+ml.git@free.fr, Jun 8, 2008
  4. Junio C HamanoJun 8, 2008
  5. Olivier MarinJun 9, 2008
  6. remote show: fix the -n optionOlivier Marin, Jun 9, 2008
  7. Johannes SchindelinJun 9, 2008
  8. Olivier MarinJun 9, 2008
  9. Johannes SchindelinJun 9, 2008
  10. Olivier MarinJun 9, 2008
  11. Johannes SchindelinJun 9, 2008
  12. Olivier MarinJun 9, 2008
  13. Olivier MarinJun 9, 2008
  14. Johannes SchindelinJun 9, 2008
  15. remote show: fix the -n optionOlivier Marin, Jun 9, 2008
  16. Johannes SchindelinJun 9, 2008
  17. Olivier MarinJun 9, 2008
  18. Johannes SchindelinJun 9, 2008
  19. Olivier MarinJun 9, 2008
  20. builtin-remote: make reuse of code easier by not die()ingJohannes Schindelin, Jun 9, 2008
  21. Olivier MarinJun 9, 2008
  22. Junio C HamanoJun 10, 2008
  23. Shawn O. PearceJun 10, 2008
  24. Johannes SchindelinJun 10, 2008
  25. 0/4 remote show/prune improvementOlivier Marin, Jun 10, 2008
  26. 1/4 remote show: fix the -n optionOlivier Marin, Jun 10, 2008
  27. 2/4 builtin-remote: split show_or_prune() in two separate functionsOlivier Marin, Jun 10, 2008
  28. 3/4 remote prune: print the list of pruned branchesOlivier Marin, Jun 10, 2008
  29. Junio C HamanoJun 12, 2008
  30. Olivier MarinJun 12, 2008
  31. 4/4 remote show: list tracked remote branches with -nOlivier Marin, Jun 10, 2008
  32. Junio C HamanoJun 10, 2008
  33. Olivier MarinJun 10, 2008
  34. Jakub NarebskiJun 10, 2008
  35. Olivier MarinJun 10, 2008
  36. Jakub NarebskiJun 10, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.