summaryrefslogtreecommitdiff
path: root/git-submodule.sh
diff options
context:
space:
mode:
authorFredrik Gustafsson <iveqy@iveqy.com>2013-06-17 09:55:36 (GMT)
committerJunio C Hamano <gitster@pobox.com>2013-06-17 20:26:42 (GMT)
commitb545cd15af873fe15e692daaa6e804b191b451cc (patch)
tree9c2ea540b98e341a606f44879bf54152b58a710b /git-submodule.sh
parentfb7dfaa710da6f9ebb854f70ffc1c78668a1e70c (diff)
downloadgit-b545cd15af873fe15e692daaa6e804b191b451cc.zip
git-b545cd15af873fe15e692daaa6e804b191b451cc.tar.gz
git-b545cd15af873fe15e692daaa6e804b191b451cc.tar.bz2
git-submodule.sh: remove duplicate call to set_rev_name
set_rev_name is a possiblly expensive operation. If a submodule has changes in it, set_rev_name was called twice. Move call to set_rev_name so it's only called once, no matter which codepath is taken. Signed-off-by: Fredrik Gustafsson <iveqy@iveqy.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-submodule.sh')
-rwxr-xr-xgit-submodule.sh4
1 files changed, 2 insertions, 2 deletions
diff --git a/git-submodule.sh b/git-submodule.sh
index 79bfaac..75feaf1 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -1129,16 +1129,16 @@ cmd_status()
say "-$sha1 $displaypath"
continue;
fi
- set_name_rev "$sm_path" "$sha1"
if git diff-files --ignore-submodules=dirty --quiet -- "$sm_path"
then
+ set_name_rev "$sm_path" "$sha1"
say " $sha1 $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"
fi
+ set_name_rev "$sm_path" "$sha1"
say "+$sha1 $displaypath$revname"
fi