{"thread":{"id":"35836","subject":"[PATCH] bash completion: Add --recurse-submodules","startedAt":"2014-02-09T14:35:31Z","lastAt":"2014-02-11T19:18:22Z","messageCount":3,"participants":["Sup Yut Sum","Keshav Kini","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"234548","messageId":"1391956531-6039-1-git-send-email-ch3cooli@gmail.com","threadId":"35836","inReplyTo":null,"subject":"[PATCH] bash completion: Add --recurse-submodules","fromName":"Sup Yut Sum","fromEmail":"ch3cooli@gmail.com","sentAt":"2014-02-09T14:35:31Z","receivedAt":"2014-02-09T14:35:31Z","isPatch":true,"sender":{"key":"ch3cooli@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2804967?v=4"},"body":"Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>\n---\n contrib/completion/git-completion.bash | 19 ++++++++++++++++++-\n 1 file changed, 18 insertions(+), 1 deletion(-)\n\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 9525343..87de809 100644\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1221,14 +1221,20 @@ _git_difftool ()\n \t__git_complete_revlist_file\n }\n \n+__git_fetch_recurse_submodules=\"yes on-demand no\"\n+\n __git_fetch_options=\"\n \t--quiet --verbose --append --upload-pack --force --keep --depth=\n-\t--tags --no-tags --all --prune --dry-run\n+\t--tags --no-tags --all --prune --dry-run --recurse-submodules=\n \"\n \n _git_fetch ()\n {\n \tcase \"$cur\" in\n+\t--recurse-submodules=*)\n+\t\t__gitcomp \"$__git_fetch_recurse_submodules\" \"\" \"${cur##--recurse-submodules=}\"\n+\t\treturn\n+\t\t;;\n \t--*)\n \t\t__gitcomp \"$__git_fetch_options\"\n \t\treturn\n@@ -1583,6 +1589,10 @@ _git_pull ()\n \t__git_complete_strategy && return\n \n \tcase \"$cur\" in\n+\t--recurse-submodules=*)\n+\t\t__gitcomp \"$__git_fetch_recurse_submodules\" \"\" \"${cur##--recurse-submodules=}\"\n+\t\treturn\n+\t\t;;\n \t--*)\n \t\t__gitcomp \"\n \t\t\t--rebase --no-rebase\n@@ -1595,6 +1605,8 @@ _git_pull ()\n \t__git_complete_remote_or_refspec\n }\n \n+__git_push_recurse_submodules=\"check on-demand\"\n+\n _git_push ()\n {\n \tcase \"$prev\" in\n@@ -1607,10 +1619,15 @@ _git_push ()\n \t\t__gitcomp_nl \"$(__git_remotes)\" \"\" \"${cur##--repo=}\"\n \t\treturn\n \t\t;;\n+\t--recurse-submodules=*)\n+\t\t__gitcomp \"$__git_push_recurse_submodules\" \"\" \"${cur##--recurse-submodules=}\"\n+\t\treturn\n+\t\t;;\n \t--*)\n \t\t__gitcomp \"\n \t\t\t--all --mirror --tags --dry-run --force --verbose\n \t\t\t--receive-pack= --repo= --set-upstream\n+\t\t\t--recurse-submodules=\n \t\t\"\n \t\treturn\n \t\t;;\n-- \n1.8.5.2.msysgit.0\n"},{"id":"234584","messageId":"874n466fyo.fsf@gmail.com","threadId":"35836","inReplyTo":"1391956531-6039-1-git-send-email-ch3cooli@gmail.com","subject":"Re: [PATCH] bash completion: Add --recurse-submodules","fromName":"Keshav Kini","fromEmail":"keshav.kini@gmail.com","sentAt":"2014-02-10T17:21:51Z","receivedAt":"2014-02-10T17:21:51Z","isPatch":true,"sender":{"key":"keshav.kini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/691290?v=4"},"body":"Sup Yut Sum <ch3cooli@gmail.com> writes:\n\n> Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>\n> ---\n>  contrib/completion/git-completion.bash | 19 ++++++++++++++++++-\n>  1 file changed, 18 insertions(+), 1 deletion(-)\n\nAren't you missing a commit message?\n\n-Keshav\n"},{"id":"234622","messageId":"xmqqtxc5pif5.fsf@gitster.dls.corp.google.com","threadId":"35836","inReplyTo":"874n466fyo.fsf@gmail.com","subject":"Re: [PATCH] bash completion: Add --recurse-submodules","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2014-02-11T19:18:22Z","receivedAt":"2014-02-11T19:18:22Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Keshav Kini <keshav.kini@gmail.com> writes:\n\n> Sup Yut Sum <ch3cooli@gmail.com> writes:\n>\n>> Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>\n>> ---\n>>  contrib/completion/git-completion.bash | 19 ++++++++++++++++++-\n>>  1 file changed, 18 insertions(+), 1 deletion(-)\n>\n> Aren't you missing a commit message?\n\nThe title itself is almost sufficient, I would think.  It may need\nto mention that this is only for fetch, pull and push.  I'll\ntentatively queue the following.\n\nStripping the leftmost constant string with ${var##constant} looks\nsomewhat strange (why wouldn't a single # work?), but that is not a\nnew problem this patch introduces, and can be cleaned up separately\nif/when somebody wants to.\n\n-- >8 --\nFrom: Sup Yut Sum <ch3cooli@gmail.com>\nDate: Sun, 9 Feb 2014 22:35:31 +0800\nSubject: [PATCH] completion: teach --recurse-submodules to fetch, pull and push\n\nSigned-off-by: Sup Yut Sum <ch3cooli@gmail.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n---\n contrib/completion/git-completion.bash | 19 ++++++++++++++++++-\n 1 file changed, 18 insertions(+), 1 deletion(-)\n\ndiff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash\nindex 8aaf214..c044a68 100644\n--- a/contrib/completion/git-completion.bash\n+++ b/contrib/completion/git-completion.bash\n@@ -1221,14 +1221,20 @@ _git_difftool ()\n \t__git_complete_revlist_file\n }\n \n+__git_fetch_recurse_submodules=\"yes on-demand no\"\n+\n __git_fetch_options=\"\n \t--quiet --verbose --append --upload-pack --force --keep --depth=\n-\t--tags --no-tags --all --prune --dry-run\n+\t--tags --no-tags --all --prune --dry-run --recurse-submodules=\n \"\n \n _git_fetch ()\n {\n \tcase \"$cur\" in\n+\t--recurse-submodules=*)\n+\t\t__gitcomp \"$__git_fetch_recurse_submodules\" \"\" \"${cur##--recurse-submodules=}\"\n+\t\treturn\n+\t\t;;\n \t--*)\n \t\t__gitcomp \"$__git_fetch_options\"\n \t\treturn\n@@ -1577,6 +1583,10 @@ _git_pull ()\n \t__git_complete_strategy && return\n \n \tcase \"$cur\" in\n+\t--recurse-submodules=*)\n+\t\t__gitcomp \"$__git_fetch_recurse_submodules\" \"\" \"${cur##--recurse-submodules=}\"\n+\t\treturn\n+\t\t;;\n \t--*)\n \t\t__gitcomp \"\n \t\t\t--rebase --no-rebase\n@@ -1589,6 +1599,8 @@ _git_pull ()\n \t__git_complete_remote_or_refspec\n }\n \n+__git_push_recurse_submodules=\"check on-demand\"\n+\n _git_push ()\n {\n \tcase \"$prev\" in\n@@ -1601,10 +1613,15 @@ _git_push ()\n \t\t__gitcomp_nl \"$(__git_remotes)\" \"\" \"${cur##--repo=}\"\n \t\treturn\n \t\t;;\n+\t--recurse-submodules=*)\n+\t\t__gitcomp \"$__git_push_recurse_submodules\" \"\" \"${cur##--recurse-submodules=}\"\n+\t\treturn\n+\t\t;;\n \t--*)\n \t\t__gitcomp \"\n \t\t\t--all --mirror --tags --dry-run --force --verbose\n \t\t\t--receive-pack= --repo= --set-upstream\n+\t\t\t--recurse-submodules=\n \t\t\"\n \t\treturn\n \t\t;;\n-- \n1.9.0-rc3-244-g3497008\n"}]}