From: "W. Trevor King" <wking@xxxxxxxxxx> 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 <avarab@xxxxxxxxx> 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 <wking@xxxxxxxxxx> --- 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html