On 03/07/13 18:55, Jens Lehmann wrote: > Am 03.07.2013 01:26, schrieb Chris Packham: >> On Wed, Jul 3, 2013 at 4:56 AM, Jens Lehmann <Jens.Lehmann@xxxxxx> wrote: >>> Am 02.07.2013 12:12, schrieb Chris Packham: >>>> --- a/Documentation/git-submodule.txt >>>> +++ b/Documentation/git-submodule.txt >>>> @@ -159,7 +159,9 @@ update:: >>>> This will make the submodules HEAD be detached unless `--rebase` or >>>> `--merge` is specified or the key `submodule.$name.update` is set to >>>> `rebase`, `merge` or `none`. `none` can be overridden by specifying >>>> - `--checkout`. >>>> + `--checkout`. Setting the key `submodule.$name.update` to `!command` >>>> + will cause `command` to be run. `command` can be any arbitrary shell >>>> + command that takes a single argument, namely the sha1 to update to. >>>> + >>>> If the submodule is not yet initialized, and you just want to use the >>>> setting as stored in .gitmodules, you can automatically initialize the > > The above hunk is perfectly fine ... > >>>> @@ -172,6 +174,7 @@ If `--force` is specified, the submodule will be checked out (using >>>> `git checkout --force` if appropriate), even if the commit specified in the >>>> index of the containing repository already matches the commit checked out in >>>> the submodule. >>>> ++ >>>> >>>> summary:: >>>> Show commit summary between the given commit (defaults to HEAD) and > > ... but I don't understand the extra '+'-line added here. > >>> I'm not sure this change is necessary ;-) >> >> Not necessary because it should be documented in >> Documentation/config.txt instead, or not necessary because it's a >> niche feature that doesn't need to be advertised? > > Sorry for the confusion, I should have been more specific here. > Ah that makes sense. It's left over from the '--exec' option in v1. Will be cleaned up in v4. On a related note should I be updating Documentation/config.txt as well? Even if it's a statement that this feature exists refer to git-submodule(1) for details. >>>> diff --git a/git-submodule.sh b/git-submodule.sh >>>> index eb58c8e..a7c2375 100755 >>>> --- a/git-submodule.sh >>>> +++ b/git-submodule.sh >>>> @@ -799,6 +799,12 @@ Maybe you want to use 'update --init'?")" >>>> say_msg="$(eval_gettext "Submodule path '\$prefix\$sm_path': merged in '\$sha1'")" >>>> must_die_on_failure=yes >>>> ;; >>>> + !*) >>>> + command="${update_module#!}" >>>> + die_msg="$(eval_gettext "Unable to exec '\$command \$sha1' in submodule path '\$prefix\$sm_path'")" >>> >>> Hmm, "Unable to exec" does not quite cut it, as the command was executed >>> but returned an error, right? Maybe something like this: >>> >>> Execution of '\$command \$sha1' failed in submodule path '\$prefix\$sm_path' >>> >> >> Will include in v4 once I write some tests. > > Thanks. > -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html