threads / patch / 34723

patchsubmodule: prevent warning in summary output

Subject: [PATCH] submodule: prevent warning in summary output

## tl;dr

3 messages between Aug 18, 2013 and Aug 19, 2013. Diffs are folded; open one to read it.

replies: 2people: 3as markdown or json

brian m. carlson· Aug 18, 2013, 17:31 UTC · lore

When git submodule summary is run and there is a deleted submodule, there is an warning from git rev-parse:

  fatal: Not a git repository: '.vim/pathogen/.git'

Silence this warning, since it is fully expected that a deleted submodule will not be a git repository.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
---
 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 2979197..66ee621 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -1071,7 +1071,7 @@ cmd_summary() {
 		missing_dst=
 
 		test $mod_src = 160000 &&
-		! GIT_DIR="$name/.git" git-rev-parse -q --verify $sha1_src^0 >/dev/null &&
+		! GIT_DIR="$name/.git" git-rev-parse -q --verify $sha1_src^0 >/dev/null 2>&1 &&
 		missing_src=t
 
 		test $mod_dst = 160000 &&
-- 
1.8.4.rc2.564.g10ce5ae
Chris Packham· Aug 19, 2013, 08:13 UTC · re: brian m. carlson · lore

Re: [PATCH] submodule: prevent warning in summary output

Hi Brian, On 19/08/13 05:31, brian m. carlson wrote:

Show 27 quoted lines
> When git submodule summary is run and there is a deleted submodule, there is an
> warning from git rev-parse:
> 
>   fatal: Not a git repository: '.vim/pathogen/.git'
> 
> Silence this warning, since it is fully expected that a deleted submodule will
> not be a git repository.
> 
> Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
> ---
>  git-submodule.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/git-submodule.sh b/git-submodule.sh
> index 2979197..66ee621 100755
> --- a/git-submodule.sh
> +++ b/git-submodule.sh
> @@ -1071,7 +1071,7 @@ cmd_summary() {
>  		missing_dst=
>  
>  		test $mod_src = 160000 &&
> -		! GIT_DIR="$name/.git" git-rev-parse -q --verify $sha1_src^0 >/dev/null &&
> +		! GIT_DIR="$name/.git" git-rev-parse -q --verify $sha1_src^0 >/dev/null 2>&1 &&
>  		missing_src=t
>  
>  		test $mod_dst = 160000 &&
> 

I wonder if there are other useful errors this will silence unintentionally. Perhaps this would be better (untested)

 test $mod_src = 160000 &&
 test -e "$name/.git" &&
 ! GIT_DIR="$name/.git" git-rev-parse -q --verify $sha1_src^0 /dev/null &&
  missing_src=t

Having said that there are precedents for both in git-submodule.sh. If there aren't any errors worth catching here then your way is probably cleaner than mine.

- C
Jens Lehmann· Aug 19, 2013, 21:17 UTC · re: Chris Packham · lore

Re: [PATCH] submodule: prevent warning in summary output

Am 19.08.2013 10:13, schrieb Chris Packham:
Show 41 quoted lines
> Hi Brian,
> On 19/08/13 05:31, brian m. carlson wrote:
>> When git submodule summary is run and there is a deleted submodule, there is an
>> warning from git rev-parse:
>>
>>   fatal: Not a git repository: '.vim/pathogen/.git'
>>
>> Silence this warning, since it is fully expected that a deleted submodule will
>> not be a git repository.
>>
>> Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
>> ---
>>  git-submodule.sh | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/git-submodule.sh b/git-submodule.sh
>> index 2979197..66ee621 100755
>> --- a/git-submodule.sh
>> +++ b/git-submodule.sh
>> @@ -1071,7 +1071,7 @@ cmd_summary() {
>>  		missing_dst=
>>  
>>  		test $mod_src = 160000 &&
>> -		! GIT_DIR="$name/.git" git-rev-parse -q --verify $sha1_src^0 >/dev/null &&
>> +		! GIT_DIR="$name/.git" git-rev-parse -q --verify $sha1_src^0 >/dev/null 2>&1 &&
>>  		missing_src=t
>>  
>>  		test $mod_dst = 160000 &&
>>
> 
> I wonder if there are other useful errors this will silence
> unintentionally. Perhaps this would be better (untested)
> 
>  test $mod_src = 160000 &&
>  test -e "$name/.git" &&
>  ! GIT_DIR="$name/.git" git-rev-parse -q --verify $sha1_src^0 /dev/null &&
>   missing_src=t
> 
> Having said that there are precedents for both in git-submodule.sh. If
> there aren't any errors worth catching here then your way is probably
> cleaner than mine.

I'd prefer a way to not drop all errors too. We should be able to use the status variable to see if the submodule is deleted and then skip the rev-parse all together, or am I missing something here?

← back to recent threads