aboutsummaryrefslogtreecommitdiff
path: root/git-submodule.sh
diff options
context:
space:
mode:
authorMark Levedahl <mlevedahl@gmail.com>2008-04-14 22:48:06 -0400
committerJunio C Hamano <gitster@pobox.com>2008-04-14 23:14:08 -0700
commitf669ac0be901e19a8948c9b04af63d23ebae8003 (patch)
treea15a0c9837feadbfacfc4e66c3cdf6b0721164c3 /git-submodule.sh
parent02604e293a3b7d48b0ce4e34149de8dc89c674e5 (diff)
downloadgit-f669ac0be901e19a8948c9b04af63d23ebae8003.tar.gz
git-f669ac0be901e19a8948c9b04af63d23ebae8003.tar.xz
git-submodule - possibly use branch name to describe a module
This changes the search logic for describing a submodule from: - annotated tag - any tag - tag on a subsequent commit - commit id to - annotated tag - any tag - tag on a subsequent commit - local or remote branch - commit id The change is describing with respect to a branch before falling back to the commit id. By itself, git-submodule will maintain submodules as headless checkouts without ever making a local branch. In general, such heads can always be described relative to the remote branch regardless of existence of tags, and so provides a better fallback summary than just the commit id. This requires inserting an extra describe step as --contains is incompatible with --all, but the latter can be used with --always to fall back to a commit ID. Also, --contains implies --tags, so the latter is not needed. Signed-off-by: Mark Levedahl <mlevedahl@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-submodule.sh')
-rwxr-xr-xgit-submodule.sh3
1 files changed, 2 insertions, 1 deletions
diff --git a/git-submodule.sh b/git-submodule.sh
index 7674346c8..a745e42bf 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -327,7 +327,8 @@ set_name_rev () {
cd "$1" && {
git describe "$2" 2>/dev/null ||
git describe --tags "$2" 2>/dev/null ||
- git describe --contains --tags --always "$2"
+ git describe --contains "$2" 2>/dev/null ||
+ git describe --all --always "$2"
}
) )
test -z "$revname" || revname=" ($revname)"