Thread (6 messages) flat view 6 messages, 3 authors, 2016-06-15

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

From: Jens Lehmann <hidden>
Date: 2016-06-15 22:50:31
Subsystem: documentation, the rest · Maintainers: Jonathan Corbet, Linus Torvalds

Possibly related (same subject, not in this thread)

Am 06.02.2011 23:09, schrieb Jonathan Nieder:
Jens Lehmann wrote:
quoted
Am 06.02.2011 21:45, schrieb Junio C Hamano:
quoted
Jens Lehmann [off-list ref] writes:
quoted
quoted
quoted
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".
[...]
quoted
(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" ... ;-)
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 <redacted>
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help