{"thread":{"id":"42938","subject":"[PATCHv1] completion: add option '--recurse-submodules' to 'git clone'","startedAt":"2016-07-27T08:34:23Z","lastAt":"2016-07-29T01:26:51Z","messageCount":6,"participants":["Chris Packham","Junio C Hamano","Stefan Beller"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"292302","messageId":"20160727083406.10241-1-judge.packham@gmail.com","threadId":"42938","inReplyTo":null,"subject":"[PATCHv1] completion: add option '--recurse-submodules' to 'git clone'","fromName":"Chris Packham","fromEmail":"judge.packham@gmail.com","sentAt":"2016-07-27T08:34:06Z","receivedAt":"2016-07-27T08:34:23Z","isPatch":false,"sender":{"key":"judge.packham@gmail.com","avatar":"https://avatars.githubusercontent.com/u/155667?v=4"},"body":"Signed-off-by: Chris Packham <judge.packham@gmail.com>\n---\nHi,\n\nI noticed --recurse-submodules was missing from the bash completion. This adds\nit. I went for '--recurse-submodules' instead of '--recursive' as I seem to\nrecall the former being agreed upon as the better (or least ambiguous) of the\ntwo terms.\n\n contrib/completion/git-completion.bash | 1 +\n 1 file changed, 1 insertion(+)\n\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 37888f4..7c06455 100644\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1136,6 +1136,7 @@ _git_clone ()\n \t\t\t--depth\n \t\t\t--single-branch\n \t\t\t--branch\n+\t\t\t--recurse-submodules\n \t\t\t\"\n \t\treturn\n \t\t;;\n-- \n2.9.2\n\n"},{"id":"292334","messageId":"xmqqshuvvvxb.fsf@gitster.mtv.corp.google.com","threadId":"42938","inReplyTo":"20160727083406.10241-1-judge.packham@gmail.com","subject":"Re: [PATCHv1] completion: add option '--recurse-submodules' to 'git clone'","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2016-07-27T17:21:36Z","receivedAt":"2016-07-27T17:21:45Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Chris Packham <judge.packham@gmail.com> writes:\n\n> Signed-off-by: Chris Packham <judge.packham@gmail.com>\n> ---\n> Hi,\n>\n> I noticed --recurse-submodules was missing from the bash completion. This adds\n> it. I went for '--recurse-submodules' instead of '--recursive' as I seem to\n> recall the former being agreed upon as the better (or least ambiguous) of the\n> two terms.\n\nYup, that position is consistent with what 3446a54c (clone: fixup\nrecurse_submodules option, 2011-02-11) gave us.\n\nPerhaps we should think about deprecating \"--recursive\"?  I dunno.\n\n>  contrib/completion/git-completion.bash | 1 +\n>  1 file changed, 1 insertion(+)\n>\n> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\n> index 37888f4..7c06455 100644\n> --- a/contrib/completion/git-completion.bash\n> +++ b/contrib/completion/git-completion.bash\n> @@ -1136,6 +1136,7 @@ _git_clone ()\n>  \t\t\t--depth\n>  \t\t\t--single-branch\n>  \t\t\t--branch\n> +\t\t\t--recurse-submodules\n>  \t\t\t\"\n>  \t\treturn\n>  \t\t;;\n"},{"id":"292336","messageId":"xmqqoa5jvven.fsf@gitster.mtv.corp.google.com","threadId":"42938","inReplyTo":"xmqqshuvvvxb.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCHv1] completion: add option '--recurse-submodules' to 'git clone'","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2016-07-27T17:32:48Z","receivedAt":"2016-07-27T17:32:57Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n>> I noticed --recurse-submodules was missing from the bash completion. This adds\n>> it. I went for '--recurse-submodules' instead of '--recursive' as I seem to\n>> recall the former being agreed upon as the better (or least ambiguous) of the\n>> two terms.\n>\n> Yup, that position is consistent with what 3446a54c (clone: fixup\n> recurse_submodules option, 2011-02-11) gave us.\n\nSilly me. The blame actually goes down to ccdd3da6 (clone: Add the\n--recurse-submodules option as alias for --recursive, 2010-11-04),\nbut the conclusion is the same.\n\n> Perhaps we should think about deprecating \"--recursive\"?  I dunno.\n\nAnyway, I'll apply the \"addition to the completion\" patch.\n\nThanks.\n"},{"id":"292339","messageId":"CAGZ79ka0kvr9RAkGHbgrZ7fery8436dH8Nu4bwG0t3K5FprgKA@mail.gmail.com","threadId":"42938","inReplyTo":"xmqqoa5jvven.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCHv1] completion: add option '--recurse-submodules' to 'git clone'","fromName":"Stefan Beller","fromEmail":"sbeller@google.com","sentAt":"2016-07-27T17:41:08Z","receivedAt":"2016-07-27T17:41:26Z","isPatch":false,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"On Wed, Jul 27, 2016 at 10:32 AM, Junio C Hamano <gitster@pobox.com> wrote:\n> Junio C Hamano <gitster@pobox.com> writes:\n>\n>>> I noticed --recurse-submodules was missing from the bash completion. This adds\n>>> it. I went for '--recurse-submodules' instead of '--recursive' as I seem to\n>>> recall the former being agreed upon as the better (or least ambiguous) of the\n>>> two terms.\n>>\n>> Yup, that position is consistent with what 3446a54c (clone: fixup\n>> recurse_submodules option, 2011-02-11) gave us.\n>\n> Silly me. The blame actually goes down to ccdd3da6 (clone: Add the\n> --recurse-submodules option as alias for --recursive, 2010-11-04),\n> but the conclusion is the same.\n>\n>> Perhaps we should think about deprecating \"--recursive\"?  I dunno.\n>\n> Anyway, I'll apply the \"addition to the completion\" patch.\n>\n> Thanks.\n\nThanks for this patch!\n\nNote: if we ever decide to resurrect sb/submodule-default-path,\nwe run into a merge conflict. The reasoning for using\n\"--recurse-submodules\" instead of a plain \"--recurse\" makes sense\nas well, so that merge conflict will be resolved in favor of this patch.\n\nThanks,\nStefan\n"},{"id":"292424","messageId":"xmqqshutspfc.fsf@gitster.mtv.corp.google.com","threadId":"42938","inReplyTo":"CAGZ79ka0kvr9RAkGHbgrZ7fery8436dH8Nu4bwG0t3K5FprgKA@mail.gmail.com","subject":"Re: [PATCHv1] completion: add option '--recurse-submodules' to 'git clone'","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2016-07-28T16:22:31Z","receivedAt":"2016-07-28T16:22:39Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Stefan Beller <sbeller@google.com> writes:\n\n>> Anyway, I'll apply the \"addition to the completion\" patch.\n>>\n>> Thanks.\n>\n> Thanks for this patch!\n>\n> Note: if we ever decide to resurrect sb/submodule-default-path,\n> we run into a merge conflict. The reasoning for using\n> \"--recurse-submodules\" instead of a plain \"--recurse\" makes sense\n> as well, so that merge conflict will be resolved in favor of this patch.\n\nThanks for an advance warning.  My rerere database has already been\ntaught about this conflict ;-)\n\nAs to sb/submodule-default-path topic, which has been blocked on\nstill-in-flux attribute work, I am tempted to declare that the\nattribute work is not yet thread-ready but it is in a good enough\nshape to base other works on, and have them advance to 'next'.\n\nThe traditional pattern of allowing the callers to randomly allocate\nan array of \"struct git_attr_check\" and passing the pointer to its\nfirst element to git_check_attr() function was impossible to extend\nwithout having to update the callers, but we have migrated away from\nthe pattern and the attribute subsystem can be enhanced without\nimpacting the callers too much.\n\n"},{"id":"292483","messageId":"CAGZ79kbCTQx_FAeGkJRRyDotAsdJT6J+4Ab9BHW-YFw6rOqaqQ@mail.gmail.com","threadId":"42938","inReplyTo":"xmqqshutspfc.fsf@gitster.mtv.corp.google.com","subject":"Re: [PATCHv1] completion: add option '--recurse-submodules' to 'git clone'","fromName":"Stefan Beller","fromEmail":"sbeller@google.com","sentAt":"2016-07-29T01:26:43Z","receivedAt":"2016-07-29T01:26:51Z","isPatch":false,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"On Thu, Jul 28, 2016 at 9:22 AM, Junio C Hamano <gitster@pobox.com> wrote:\n> Stefan Beller <sbeller@google.com> writes:\n>\n>>> Anyway, I'll apply the \"addition to the completion\" patch.\n>>>\n>>> Thanks.\n>>\n>> Thanks for this patch!\n>>\n>> Note: if we ever decide to resurrect sb/submodule-default-path,\n>> we run into a merge conflict. The reasoning for using\n>> \"--recurse-submodules\" instead of a plain \"--recurse\" makes sense\n>> as well, so that merge conflict will be resolved in favor of this patch.\n>\n> Thanks for an advance warning.  My rerere database has already been\n> taught about this conflict ;-)\n>\n> As to sb/submodule-default-path topic, which has been blocked on\n> still-in-flux attribute work, I am tempted to declare that the\n> attribute work is not yet thread-ready but it is in a good enough\n> shape to base other works on, and have them advance to 'next'.\n\nI am tempted to ask for delaying sb/submodule-default-path\na bit more and see if there is an alternative solution.\n\nInspired by Duys series on submodules and worktree I found a new\nway how to do the submodule management (separation of the submodule\nURL as a flag indicating the existence and the actual URL), and that\nwill be very similar to what is implemented in sb/submodule-default-path\njust even more streamlined. (That said the state of that new series\nis still vapor and not yet solid, so ... it's hopes and dreams.)\n\n>\n> The traditional pattern of allowing the callers to randomly allocate\n> an array of \"struct git_attr_check\" and passing the pointer to its\n> first element to git_check_attr() function was impossible to extend\n> without having to update the callers, but we have migrated away from\n> the pattern and the attribute subsystem can be enhanced without\n> impacting the callers too much.\n>\n"}]}