All of lore.kernel.org
 help / color / mirror / Atom feed
* git submodule manpage does not document --checkout
@ 2014-02-25 11:03 Matthijs Kooijman
  2014-02-27 22:01 ` [PATCH] submodule update: document the '--checkout' option Jens Lehmann
  0 siblings, 1 reply; 4+ messages in thread
From: Matthijs Kooijman @ 2014-02-25 11:03 UTC (permalink / raw)
  To: git

[-- Attachment #1: Type: text/plain, Size: 200 bytes --]

Hi,

it seems git submodule supports --checkout, which is also mentioned
indirectly in the manpage. However, the option itself is not mentioned
in the synopsis or detailed option list.

Gr.

Matthijs

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH] submodule update: document the '--checkout' option
  2014-02-25 11:03 git submodule manpage does not document --checkout Matthijs Kooijman
@ 2014-02-27 22:01 ` Jens Lehmann
  2014-02-28 21:39   ` Junio C Hamano
  0 siblings, 1 reply; 4+ messages in thread
From: Jens Lehmann @ 2014-02-27 22:01 UTC (permalink / raw)
  To: Matthijs Kooijman; +Cc: git, Heiko Voigt, Junio C Hamano

Commit 322bb6e12f (add update 'none' flag to disable update of submodule
by default) added the '--checkout' option to "git submodule update" but
forgot to explicitly document it in the synopsis and the man page (It is
only mentioned implicitly in the man page).

Document this option in synopsis and man page too. While at it make it
more clear that only one of '--checkout', '--merge' or '--rebase' make
sense by grouping them together.

Reported-by: Matthijs Kooijman <matthijs@stdin.nl>
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
---

Am 25.02.2014 11:03, schrieb Matthijs Kooijman:
> it seems git submodule supports --checkout, which is also mentioned
> indirectly in the manpage. However, the option itself is not mentioned
> in the synopsis or detailed option list.

Good point. What about this?


 Documentation/git-submodule.txt | 13 +++++++++++--
 git-submodule.sh                |  2 +-
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt
index bfef8a0..9054217 100644
--- a/Documentation/git-submodule.txt
+++ b/Documentation/git-submodule.txt
@@ -15,8 +15,8 @@ SYNOPSIS
 'git submodule' [--quiet] init [--] [<path>...]
 'git submodule' [--quiet] deinit [-f|--force] [--] <path>...
 'git submodule' [--quiet] update [--init] [--remote] [-N|--no-fetch]
-	      [-f|--force] [--rebase] [--reference <repository>] [--depth <depth>]
-	      [--merge] [--recursive] [--] [<path>...]
+	      [-f|--force] [--checkout|--merge|--rebase] [--reference <repository>]
+	      [--depth <depth>] [--recursive] [--] [<path>...]
 'git submodule' [--quiet] summary [--cached|--files] [(-n|--summary-limit) <n>]
 	      [commit] [--] [<path>...]
 'git submodule' [--quiet] foreach [--recursive] <command>
@@ -287,6 +287,15 @@ SHA-1.  If you don't want to fetch, you should use `submodule update
 	This option is only valid for the update command.
 	Don't fetch new objects from the remote site.

+--checkout::
+	This option is only valid for the update command.
+	Checkout the commit recorded in the superproject on a detached HEAD
+	in the submodule. This is the default behavior, the main use of
+	this option is to override `submodule.$name.update` when set to
+	`merge`, `rebase` or `none`.
+	If the key `submodule.$name.update` is either not explicitly set or
+	set to `checkout`, this option is implicit.
+
 --merge::
 	This option is only valid for the update command.
 	Merge the commit recorded in the superproject into the current branch
diff --git a/git-submodule.sh b/git-submodule.sh
index 4a30087..65cf963 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -9,7 +9,7 @@ USAGE="[--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <re
    or: $dashless [--quiet] status [--cached] [--recursive] [--] [<path>...]
    or: $dashless [--quiet] init [--] [<path>...]
    or: $dashless [--quiet] deinit [-f|--force] [--] <path>...
-   or: $dashless [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--rebase] [--reference <repository>] [--merge] [--recursive] [--] [<path>...]
+   or: $dashless [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--reference <repository>] [--recursive] [--] [<path>...]
    or: $dashless [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]
    or: $dashless [--quiet] foreach [--recursive] <command>
    or: $dashless [--quiet] sync [--recursive] [--] [<path>...]"
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] submodule update: document the '--checkout' option
  2014-02-27 22:01 ` [PATCH] submodule update: document the '--checkout' option Jens Lehmann
@ 2014-02-28 21:39   ` Junio C Hamano
  2014-02-28 22:41     ` [PATCH v2] submodule update: consistently " Jens Lehmann
  0 siblings, 1 reply; 4+ messages in thread
From: Junio C Hamano @ 2014-02-28 21:39 UTC (permalink / raw)
  To: Jens Lehmann; +Cc: Matthijs Kooijman, git, Heiko Voigt

Jens Lehmann <Jens.Lehmann@web.de> writes:

> Good point. What about this?
>
>
>  Documentation/git-submodule.txt | 13 +++++++++++--
>  git-submodule.sh                |  2 +-
>  2 files changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt
> index bfef8a0..9054217 100644
> --- a/Documentation/git-submodule.txt
> +++ b/Documentation/git-submodule.txt
> @@ -15,8 +15,8 @@ SYNOPSIS
>  'git submodule' [--quiet] init [--] [<path>...]
>  'git submodule' [--quiet] deinit [-f|--force] [--] <path>...
>  'git submodule' [--quiet] update [--init] [--remote] [-N|--no-fetch]
> -	      [-f|--force] [--rebase] [--reference <repository>] [--depth <depth>]
> -	      [--merge] [--recursive] [--] [<path>...]
> +	      [-f|--force] [--checkout|--merge|--rebase] [--reference <repository>]
> +	      [--depth <depth>] [--recursive] [--] [<path>...]

This has already been done by 23d25e48 (submodule: explicit local
branch creation in module_clone, 2014-01-26).  That commit also adds
some text to the description of 'update' subcommand, but not a
separate entry for '--checkout' mode.

Does the result of applying this patch except for this particular
hunk still make sense as a whole?  It appears to me that it does,
but just to double check...

Thanks.

>  'git submodule' [--quiet] summary [--cached|--files] [(-n|--summary-limit) <n>]
>  	      [commit] [--] [<path>...]
>  'git submodule' [--quiet] foreach [--recursive] <command>
> @@ -287,6 +287,15 @@ SHA-1.  If you don't want to fetch, you should use `submodule update
>  	This option is only valid for the update command.
>  	Don't fetch new objects from the remote site.
>
> +--checkout::
> +	This option is only valid for the update command.
> +	Checkout the commit recorded in the superproject on a detached HEAD
> +	in the submodule. This is the default behavior, the main use of
> +	this option is to override `submodule.$name.update` when set to
> +	`merge`, `rebase` or `none`.
> +	If the key `submodule.$name.update` is either not explicitly set or
> +	set to `checkout`, this option is implicit.
> +
>  --merge::
>  	This option is only valid for the update command.
>  	Merge the commit recorded in the superproject into the current branch
> diff --git a/git-submodule.sh b/git-submodule.sh
> index 4a30087..65cf963 100755
> --- a/git-submodule.sh
> +++ b/git-submodule.sh
> @@ -9,7 +9,7 @@ USAGE="[--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <re
>     or: $dashless [--quiet] status [--cached] [--recursive] [--] [<path>...]
>     or: $dashless [--quiet] init [--] [<path>...]
>     or: $dashless [--quiet] deinit [-f|--force] [--] <path>...
> -   or: $dashless [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--rebase] [--reference <repository>] [--merge] [--recursive] [--] [<path>...]
> +   or: $dashless [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--reference <repository>] [--recursive] [--] [<path>...]
>     or: $dashless [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]
>     or: $dashless [--quiet] foreach [--recursive] <command>
>     or: $dashless [--quiet] sync [--recursive] [--] [<path>...]"

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v2] submodule update: consistently document the '--checkout' option
  2014-02-28 21:39   ` Junio C Hamano
@ 2014-02-28 22:41     ` Jens Lehmann
  0 siblings, 0 replies; 4+ messages in thread
From: Jens Lehmann @ 2014-02-28 22:41 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Matthijs Kooijman, git, Heiko Voigt

Commit 322bb6e12f (add update 'none' flag to disable update of submodule
by default) added the '--checkout' option to "git submodule update" but
forgot to explicitly document it in synopsis, usage string and man page
(It is only mentioned implicitly in the man page). In 23d25e48 (submodule:
explicit local branch creation in module_clone) the synopsis of the man
page was updated, but the "OPTIONS" section of the man page and the usage
string of the git-submodule script still do not mention the '--checkout'
option.

Fix that by documenting this option in usage string and the "OPTIONS"
section of man page too. While at it group the update-mode options into
a single set in the usage string.

Reported-by: Matthijs Kooijman <matthijs@stdin.nl>
Signed-off-by: Jens Lehmann <Jens.Lehmann@web.de>
---

Am 28.02.2014 21:39, schrieb Junio C Hamano:
> Jens Lehmann <Jens.Lehmann@web.de> writes:
> 
>> Good point. What about this?
>>
>>
>>  Documentation/git-submodule.txt | 13 +++++++++++--
>>  git-submodule.sh                |  2 +-
>>  2 files changed, 12 insertions(+), 3 deletions(-)
>>
>> diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt
>> index bfef8a0..9054217 100644
>> --- a/Documentation/git-submodule.txt
>> +++ b/Documentation/git-submodule.txt
>> @@ -15,8 +15,8 @@ SYNOPSIS
>>  'git submodule' [--quiet] init [--] [<path>...]
>>  'git submodule' [--quiet] deinit [-f|--force] [--] <path>...
>>  'git submodule' [--quiet] update [--init] [--remote] [-N|--no-fetch]
>> -	      [-f|--force] [--rebase] [--reference <repository>] [--depth <depth>]
>> -	      [--merge] [--recursive] [--] [<path>...]
>> +	      [-f|--force] [--checkout|--merge|--rebase] [--reference <repository>]
>> +	      [--depth <depth>] [--recursive] [--] [<path>...]
> 
> This has already been done by 23d25e48 (submodule: explicit local
> branch creation in module_clone, 2014-01-26).  That commit also adds
> some text to the description of 'update' subcommand, but not a
> separate entry for '--checkout' mode.

Thanks, I missed that one.

> Does the result of applying this patch except for this particular
> hunk still make sense as a whole?  It appears to me that it does,
> but just to double check...

Yes, it still makes sense. But I updated the commit message to
also mention 23d25e48.


 Documentation/git-submodule.txt | 9 +++++++++
 git-submodule.sh                | 2 +-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt
index 21cb59a..dab817d 100644
--- a/Documentation/git-submodule.txt
+++ b/Documentation/git-submodule.txt
@@ -315,6 +315,15 @@ the submodule itself.
 	This option is only valid for the update command.
 	Don't fetch new objects from the remote site.

+--checkout::
+	This option is only valid for the update command.
+	Checkout the commit recorded in the superproject on a detached HEAD
+	in the submodule. This is the default behavior, the main use of
+	this option is to override `submodule.$name.update` when set to
+	`merge`, `rebase` or `none`.
+	If the key `submodule.$name.update` is either not explicitly set or
+	set to `checkout`, this option is implicit.
+
 --merge::
 	This option is only valid for the update command.
 	Merge the commit recorded in the superproject into the current branch
diff --git a/git-submodule.sh b/git-submodule.sh
index a33f68d..6135cfa 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -9,7 +9,7 @@ USAGE="[--quiet] add [-b <branch>] [-f|--force] [--name <name>] [--reference <re
    or: $dashless [--quiet] status [--cached] [--recursive] [--] [<path>...]
    or: $dashless [--quiet] init [--] [<path>...]
    or: $dashless [--quiet] deinit [-f|--force] [--] <path>...
-   or: $dashless [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--rebase] [--reference <repository>] [--merge] [--recursive] [--] [<path>...]
+   or: $dashless [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--checkout|--merge|--rebase] [--reference <repository>] [--recursive] [--] [<path>...]
    or: $dashless [--quiet] summary [--cached|--files] [--summary-limit <n>] [commit] [--] [<path>...]
    or: $dashless [--quiet] foreach [--recursive] <command>
    or: $dashless [--quiet] sync [--recursive] [--] [<path>...]"
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-02-28 22:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-02-25 11:03 git submodule manpage does not document --checkout Matthijs Kooijman
2014-02-27 22:01 ` [PATCH] submodule update: document the '--checkout' option Jens Lehmann
2014-02-28 21:39   ` Junio C Hamano
2014-02-28 22:41     ` [PATCH v2] submodule update: consistently " Jens Lehmann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.