Subject: Re: [PATCH] submodule: use abbreviated sha1 in 'status' output

From: Jens Lehmann <[email-masked]>
Date: Sat, 29 Sep 2012 16:31:49 +0200

I'm not against the change per se, but do we really want to risk breaking
scripts which parse the output of "git submodule status" without even
providing a commit message explaining why we did that?

Am 29.09.2012 15:43, schrieb Ramkumar Ramachandra:
> Signed-off-by: Ramkumar Ramachandra <[email-masked]>
> ---
>  git-submodule.sh |   15 ++++++++-------
>  1 file changed, 8 insertions(+), 7 deletions(-)
> 
> diff --git a/git-submodule.sh b/git-submodule.sh
> index 1d61ebd..f8efc52 100755
> --- a/git-submodule.sh
> +++ b/git-submodule.sh
> @@ -942,27 +942,28 @@ cmd_status()
>  		name=$(module_name "$sm_path") || exit
>  		url=$(git config submodule."$name".url)
>  		displaypath="$prefix$sm_path"
> +		sha1_abbr=$(git rev-parse --short "$sha1")
>  		if test "$stage" = U
>  		then
> -			say "U$sha1 $displaypath"
> +			say "U$sha1_abbr $displaypath"
>  			continue
>  		fi
>  		if test -z "$url" || ! test -d "$sm_path"/.git -o -f "$sm_path"/.git
>  		then
> -			say "-$sha1 $displaypath"
> +			say "-$sha1_abbr $displaypath"
>  			continue;
>  		fi
> -		set_name_rev "$sm_path" "$sha1"
> +		set_name_rev "$sm_path" "$sha1_abbr"
>  		if git diff-files --ignore-submodules=dirty --quiet -- "$sm_path"
>  		then
> -			say " $sha1 $displaypath$revname"
> +			say " $sha1_abbr $displaypath$revname"
>  		else
>  			if test -z "$cached"
>  			then
> -				sha1=$(clear_local_git_env; cd "$sm_path" && git rev-parse --verify HEAD)
> -				set_name_rev "$sm_path" "$sha1"
> +				sha1_abbr=$(clear_local_git_env; cd "$sm_path" && git rev-parse --short --verify HEAD)
> +				set_name_rev "$sm_path" "$sha1_abbr"
>  			fi
> -			say "+$sha1 $displaypath$revname"
> +			say "+$sha1_abbr $displaypath$revname"
>  		fi
>  
>  		if test -n "$recursive"
>