[PATCH] git-submodule add: Record branch name in .gitmodules
flat view
STALE3771d
From: W. Trevor King <hidden>
Date: 2016-06-15 22:55:05
Subsystem:
documentation, the rest · Maintainers:
Jonathan Corbet, Linus Torvalds
From: "W. Trevor King" <redacted>
This removes a configuration step if you're trying to setup Ævar's
$ git submodule foreach 'git checkout $(git config --file $toplevel/.gitmodules submodule.$name.branch) && git pull'
workflow from
commit f030c96d8643fa0a1a9b2bd9c2f36a77721fb61f
Author: Ævar Arnfjörð Bjarmason [off-list ref]
Date: Fri May 21 16:10:10 2010 +0000
git-submodule foreach: Add $toplevel variable
If you're not using that workflow, I see no harm in recording the
branch used to determine the original submodule commit.
Signed-off-by: W. Trevor King <redacted>
---
Documentation/git-submodule.txt | 3 ++-
git-submodule.sh | 4 ++++
t/t7400-submodule-basic.sh | 1 +
3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt
index b4683bb..b9f437f 100644
--- a/Documentation/git-submodule.txt
+++ b/Documentation/git-submodule.txt@@ -207,7 +207,8 @@ OPTIONS -b:: --branch:: - Branch of repository to add as submodule. + Branch of repository to add as submodule. The branch name is + recorded in .gitmodules for future reference. -f:: --force::
diff --git a/git-submodule.sh b/git-submodule.sh
index ab6b110..fd15a54 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh@@ -366,6 +366,10 @@ Use -f if you really want to add it." >&2 git config -f .gitmodules submodule."$sm_path".path "$sm_path" && git config -f .gitmodules submodule."$sm_path".url "$repo" && + if test -n "$branch" + then + git config -f .gitmodules submodule."$sm_path".branch "$branch" + fi && git add --force .gitmodules || die "$(eval_gettext "Failed to register submodule '\$sm_path'")" }
diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh
index 5397037..5031e2a 100755
--- a/t/t7400-submodule-basic.sh
+++ b/t/t7400-submodule-basic.sh@@ -133,6 +133,7 @@ test_expect_success 'submodule add --branch' ' ( cd addtest && git submodule add -b initial "$submodurl" submod-branch && + test "$(git config -f .gitmodules submodule.submod-branch.branch)" = initial && git submodule init ) &&
--
1.8.0.2.g09b91ca