mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
submodule add: If --branch is given, record it in .gitmodules
This allows you to easily record a submodule.<name>.branch option in .gitmodules when you add a new submodule. With this patch, $ git submodule add -b <branch> <repository> [<path>] $ git config -f .gitmodules submodule.<path>.branch <branch> reduces to $ git submodule add -b <branch> <repository> [<path>] This means that future calls to $ git submodule update --remote ... will get updates from the same branch that you used to initialize the submodule, which is usually what you want. Signed-off-by: W. Trevor King <wking@tremily.us> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
06b1abb5bd
commit
b928922727
|
@ -208,6 +208,8 @@ OPTIONS
|
|||
-b::
|
||||
--branch::
|
||||
Branch of repository to add as submodule.
|
||||
The name of the branch is recorded as `submodule.<path>.branch` in
|
||||
`.gitmodules` for `update --remote`.
|
||||
|
||||
-f::
|
||||
--force::
|
||||
|
|
|
@ -417,6 +417,10 @@ Use -f if you really want to add it." >&2
|
|||
|
||||
git config -f .gitmodules submodule."$sm_name".path "$sm_path" &&
|
||||
git config -f .gitmodules submodule."$sm_name".url "$repo" &&
|
||||
if test -n "$branch"
|
||||
then
|
||||
git config -f .gitmodules submodule."$sm_name".branch "$branch"
|
||||
fi &&
|
||||
git add --force .gitmodules ||
|
||||
die "$(eval_gettext "Failed to register submodule '\$sm_path'")"
|
||||
}
|
||||
|
|
|
@ -133,6 +133,7 @@ test_expect_success 'submodule add --branch' '
|
|||
(
|
||||
cd addtest &&
|
||||
git submodule add -b initial "$submodurl" submod-branch &&
|
||||
test "initial" = "$(git config -f .gitmodules submodule.submod-branch.branch)" &&
|
||||
git submodule init
|
||||
) &&
|
||||
|
||||
|
|
Loading…
Reference in a new issue