threads / patch / 31099

patchMake 'git submodule update --force' always check out submodules.

Subject: [PATCH] Make 'git submodule update --force' always check out submodules.

## tl;dr

5 messages between Jul 25, 2012 and Aug 17, 2012. Diffs are folded; open one to read it.

replies: 4people: 3as markdown or json

Stefan Zager· Jul 25, 2012, 18:03 UTC · lore

Currently, it will only do a checkout if the sha1 registered in the containing repository doesn't match the HEAD of the submodule, regardless of whether the submodule is dirty. As discussed on the mailing list, the '--force' flag is a strong indicator that the state of the submodule is suspect, and should be reset to HEAD.

Signed-off-by: Stefan Zager <szager@google.com>
---
 git-submodule.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Show changes to git-submodule.sh +1 −1
diff --git a/git-submodule.sh b/git-submodule.sh
index dba4d39..621eff7 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -575,7 +575,7 @@ Maybe you want to use 'update --init'?")"
 			die "$(eval_gettext "Unable to find current revision in submodule path '\$sm_path'")"
 		fi
 
-		if test "$subsha1" != "$sha1"
+		if test "$subsha1" != "$sha1" -o -n "$force"
 		then
 			subforce=$force
 			# If we don't already have a -f flag and the submodule has never been checked out
-- 
1.7.11.rc2
Junio C Hamano· Jul 25, 2012, 18:44 UTC · re: Stefan Zager · lore

Re: [PATCH] Make 'git submodule update --force' always check out submodules.

Stefan Zager <szager@google.com> writes:
Show 8 quoted lines
> Currently, it will only do a checkout if the sha1 registered in the containing
> repository doesn't match the HEAD of the submodule, regardless of whether the
> submodule is dirty.  As discussed on the mailing list, the '--force' flag is a
> strong indicator that the state of the submodule is suspect, and should be reset
> to HEAD.
>
> Signed-off-by: Stefan Zager <szager@google.com>
> ---

Looks sensible (again -- see http://thread.gmane.org/gmane.comp.version-control.git/197532 for the original discussion). Can submodule folks Ack it?

Thanks.
Show 16 quoted lines
>  git-submodule.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/git-submodule.sh b/git-submodule.sh
> index dba4d39..621eff7 100755
> --- a/git-submodule.sh
> +++ b/git-submodule.sh
> @@ -575,7 +575,7 @@ Maybe you want to use 'update --init'?")"
>  			die "$(eval_gettext "Unable to find current revision in submodule path '\$sm_path'")"
>  		fi
>  
> -		if test "$subsha1" != "$sha1"
> +		if test "$subsha1" != "$sha1" -o -n "$force"
>  		then
>  			subforce=$force
>  			# If we don't already have a -f flag and the submodule has never been checked out
Jens Lehmann· Jul 25, 2012, 20:51 UTC · re: Junio C Hamano · lore

Re: [PATCH] Make 'git submodule update --force' always check out submodules.

Am 25.07.2012 20:44, schrieb Junio C Hamano:
Show 13 quoted lines
> Stefan Zager <szager@google.com> writes:
> 
>> Currently, it will only do a checkout if the sha1 registered in the containing
>> repository doesn't match the HEAD of the submodule, regardless of whether the
>> submodule is dirty.  As discussed on the mailing list, the '--force' flag is a
>> strong indicator that the state of the submodule is suspect, and should be reset
>> to HEAD.
>>
>> Signed-off-by: Stefan Zager <szager@google.com>
>> ---
> 
> Looks sensible (again -- see http://thread.gmane.org/gmane.comp.version-control.git/197532
> for the original discussion).  Can submodule folks Ack it?

I like it. Still I'd vote for amending the documentation like the original thread proposed and would appreciate to have a test or two, but apart from that I have no objections.

Show 21 quoted lines
>>  git-submodule.sh | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/git-submodule.sh b/git-submodule.sh
>> index dba4d39..621eff7 100755
>> --- a/git-submodule.sh
>> +++ b/git-submodule.sh
>> @@ -575,7 +575,7 @@ Maybe you want to use 'update --init'?")"
>>  			die "$(eval_gettext "Unable to find current revision in submodule path '\$sm_path'")"
>>  		fi
>>  
>> -		if test "$subsha1" != "$sha1"
>> +		if test "$subsha1" != "$sha1" -o -n "$force"
>>  		then
>>  			subforce=$force
>>  			# If we don't already have a -f flag and the submodule has never been checked out
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
Junio C Hamano· Jul 25, 2012, 22:09 UTC · re: Jens Lehmann · lore

Re: [PATCH] Make 'git submodule update --force' always check out submodules.

Jens Lehmann <Jens.Lehmann@web.de> writes:
Show 18 quoted lines
> Am 25.07.2012 20:44, schrieb Junio C Hamano:
>> Stefan Zager <szager@google.com> writes:
>> 
>>> Currently, it will only do a checkout if the sha1 registered in the containing
>>> repository doesn't match the HEAD of the submodule, regardless of whether the
>>> submodule is dirty.  As discussed on the mailing list, the '--force' flag is a
>>> strong indicator that the state of the submodule is suspect, and should be reset
>>> to HEAD.
>>>
>>> Signed-off-by: Stefan Zager <szager@google.com>
>>> ---
>> 
>> Looks sensible (again -- see http://thread.gmane.org/gmane.comp.version-control.git/197532
>> for the original discussion).  Can submodule folks Ack it?
>
> I like it. Still I'd vote for amending the documentation like the
> original thread proposed and would appreciate to have a test or two,
> but apart from that I have no objections.

OK, then I'll queue this so that we won't forget about the topic for now, and docs and tests can be done as follow-up patches to the topic.

Thanks.
Junio C Hamano· Aug 17, 2012, 03:23 UTC · re: Jens Lehmann · lore

Re: [PATCH] Make 'git submodule update --force' always check out submodules.

Jens Lehmann <Jens.Lehmann@web.de> writes:
Show 18 quoted lines
> Am 25.07.2012 20:44, schrieb Junio C Hamano:
>> Stefan Zager <szager@google.com> writes:
>> 
>>> Currently, it will only do a checkout if the sha1 registered in the containing
>>> repository doesn't match the HEAD of the submodule, regardless of whether the
>>> submodule is dirty.  As discussed on the mailing list, the '--force' flag is a
>>> strong indicator that the state of the submodule is suspect, and should be reset
>>> to HEAD.
>>>
>>> Signed-off-by: Stefan Zager <szager@google.com>
>>> ---
>> 
>> Looks sensible (again -- see http://thread.gmane.org/gmane.comp.version-control.git/197532
>> for the original discussion).  Can submodule folks Ack it?
>
> I like it. Still I'd vote for amending the documentation like the
> original thread proposed and would appreciate to have a test or two,
> but apart from that I have no objections.
Mind ping on missing follow-ups.

← back to recent threads