Junio C Hamano wrote:
> I'll try:
> - slurping your integration branches,
> - teasing the topics apart out of your 'pu',
> - populating my rerere database to match your confict resolution,
> - reconstructing the Meta/Reintegrate insn for 'pu', and
> - rebuilding 'pu' to make sure the end result matches yours
> and then push the result out to the usual places
Sounds good. The teased-apart topics can also be found at
>> This patch preserves the old "just pass it to the shell" behavior
>> when a single argument is passed to 'git submodule foreach' and
>> moves to a new "skip the shell and use the arguments passed
>> unmolested" behavior when more than one argument is passed.
> When scripts give 'echo' and '$path' (two args), does this change
> allow the 'echo' command to see the value of $path (coming from
> $sm_path), or just the not-useful-because-not-exported variable name
The latter. A quick search (web search + codesearch.debian.net)
reveals that most callers to submodule foreach either pass a script as
a single quoted argument (e.g.,
git submodule foreach '[ "$path" = "Libraries/JSONKit" ] \
&& branch=experimental \
|| branch=master; git co $branch'
git submodule foreach "git pull \$(git config remote.origin.url)"
) or pass a one-off command with no arguments intended for the shell
git submodule foreach git push "$@"
git submodule foreach git tag -s -f -F $tmp $gittag
So I suspect this will fix more scripts than it breaks, though it may
still break some. :/
It might make sense to warn when passed multiple arguments and some
include shell metacharacters, since that's probably rare, too, except
it's punishing people who use multiple arguments as a way to avoid
quoting issues. Probably there's no replacement for just advertising
the change loudly and seeking out scripts it could break.
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html