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

Re: [PATCH] git pull: Remove option handling done by fetch

From
Jens Lehmann <jens.lehmann@web.de>
Date
Feb 6, 2011, 22:57 UTC
Message-ID
<4D4F273C.8030003@web.de>
In-Reply-To
<20110206220939.GC17210@elie>
Am 06.02.2011 23:09, schrieb Jonathan Nieder:
Show 15 quoted lines
> Jens Lehmann wrote:
>> Am 06.02.2011 21:45, schrieb Junio C Hamano:
>>> Jens Lehmann <Jens.Lehmann@web.de> writes:
> 
>>>> Yes, but isn't that exactly what the pull man-page says? Quote:
>>>> "Options meant for git pull itself and the underlying git merge
>>>> must be given before the options meant for git fetch."
>>>
>>> Yes, it says that, and I think that was a weasely way to say "the command
>>> line parser in git-pull is broken".
> [...]
>> (CCed Jonathan, as he is the author of the lines I quoted)
> 
> They're from Junio. :)  See v1.5.4.5~26 (git-pull documentation: warn
> about the option order, 2008-03-10).
And I thought I could trust "git blame -M -C" ... ;-)
Show 8 quoted lines
> I also agree that (1) it would be very nice to find a way to fix this
> and (2) until then, it seems best as a general principle not to
> regress in those odd cases where we sort of fixed it.
> 
> In other words, if we were adding --recurse-submodules today, I'd
> agree that it should be treated like other fetch options, but we
> already added the option and some people/scripts might be used to
> the added flexibility, no?

Ok, even though that option was added only two months ago, somebody could already use it. So that leaves option two:

1) Drop the patch I proposed
2) Document "--[no-]recurse-submodules" as " as "git pull" options

(And then I can later pass the same option to "git merge", which is much better than the solutions I came up with ;-)

Maybe something like this?
-------------8<--------------
Subject: [PATCH] pull: Document the "--[no-]recurse-submodules" options

In commits be254a0ea9 and 7dce19d374 the handling of the new fetch options "--[no-]recurse-submodules" had been added to git-pull.sh. But they were not documented as the pull options they now are, so let's fix that.

Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
---
 Documentation/fetch-options.txt |    2 +-
 Documentation/git-pull.txt      |    4 ++++
 2 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/Documentation/fetch-options.txt b/Documentation/fetch-options.txt
index 695696d..ab0dbfc 100644
--- a/Documentation/fetch-options.txt
+++ b/Documentation/fetch-options.txt
@@ -64,11 +64,11 @@ ifndef::git-pull[]
 	downloaded. The default behavior for a remote may be
 	specified with the remote.<name>.tagopt setting. See
 	linkgit:git-config[1].
-endif::git-pull[]

 --[no-]recurse-submodules::
 	This option controls if new commits of all populated submodules should
 	be fetched too (see linkgit:git-config[1] and linkgit:gitmodules[5]).
+endif::git-pull[]

 ifndef::git-pull[]
 --submodule-prefix=<path>::
diff --git a/Documentation/git-pull.txt b/Documentation/git-pull.txt
index 3046691..7d0f601 100644
--- a/Documentation/git-pull.txt
+++ b/Documentation/git-pull.txt
@@ -84,6 +84,10 @@ must be given before the options meant for 'git fetch'.
 --verbose::
 	Pass --verbose to git-fetch and git-merge.

+--[no-]recurse-submodules::
+	This option controls if new commits of all populated submodules should
+	be fetched too (see linkgit:git-config[1] and linkgit:gitmodules[5]).
+
 Options related to merging
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
-- 
1.7.4.31.g5ae186.dirty
Previous: Jonathan NiederNext: Jonathan Nieder
Message 7 of 11 in “git pull: Remove option handling done by fetch”
  1. git pull: Remove option handling done by fetchJens Lehmann, Feb 4, 2011
  2. Johannes SixtFeb 4, 2011
  3. Jens LehmannFeb 5, 2011
  4. Junio C HamanoFeb 6, 2011
  5. Jens LehmannFeb 6, 2011
  6. Jonathan NiederFeb 6, 2011
  7. Jens LehmannFeb 6, 2011
  8. Jonathan NiederFeb 7, 2011
  9. pull: Document the "--[no-]recurse-submodules" optionsJens Lehmann, Feb 7, 2011
  10. Junio C HamanoFeb 7, 2011
  11. pull: Document the "--[no-]recurse-submodules" optionsJens Lehmann, Feb 7, 2011

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.