Signed-off-by: Nguyễn Thái Ngọc Duy <[email protected]>
---
Documentation/git-worktree.txt | 8 ++++++++
git-submodule.sh | 8 ++++----
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/Documentation/git-worktree.txt b/Documentation/git-worktree.txt
index 41350db..2a5661d 100644
--- a/Documentation/git-worktree.txt
+++ b/Documentation/git-worktree.txt
@@ -142,6 +142,14 @@ to share to all working directories:
you are sure you always use sparse checkout for all working
directories.
+ - `submodule.*` in current state should not be shared because the
+ information is tied to a particular version of .gitmodules in a
+ working directory.
+
+ - `remote.*` added by submodules may be per working directory as
+ well, unless you are sure remotes from all possible submodules in
+ history are consistent.
+
DETAILS
-------
Each linked working tree has a private sub-directory in the repository's
diff --git a/git-submodule.sh b/git-submodule.sh
index 4ec7546..7b576f5 100755
--- a/git-submodule.sh
+++ b/git-submodule.sh
@@ -261,7 +261,7 @@ or you are unsure what this means choose another name with
the '--name' option."
esac
) || die "$(eval_gettext "Unable to checkout submodule
'\$sm_path'")"
fi
- git config submodule."$sm_name".url "$realrepo"
+ git config --worktree submodule."$sm_name".url "$realrepo"
git add $force "$sm_path" ||
die "$(eval_gettext "Failed to add submodule '\$sm_path'")"
@@ -461,7 +461,7 @@ Submodule work tree '\$displaypath' contains a .git
directory
# Remove the whole section so we have a clean state when
# the user later decides to init this submodule again
url=$(git config submodule."$name".url)
- git config --remove-section submodule."$name"
2>/dev/null &&
+ git config --worktree --remove-section
submodule."$name" 2>/dev/null &&
say "$(eval_gettext "Submodule '\$name' (\$url)
unregistered for path '\$displaypath'")"
fi
done
@@ -1106,7 +1106,7 @@ cmd_sync()
then
displaypath=$(git submodule--helper relative-path
"$prefix$sm_path" "$wt_prefix")
say "$(eval_gettext "Synchronizing submodule url for
'\$displaypath'")"
- git config submodule."$name".url "$super_config_url"
+ git config --worktree submodule."$name".url
"$super_config_url"
if test -e "$sm_path"/.git
then
@@ -1114,7 +1114,7 @@ cmd_sync()
sanitize_submodule_env
cd "$sm_path"
remote=$(get_default_remote)
- git config remote."$remote".url
"$sub_origin_url"
+ git config --worktree remote."$remote".url
"$sub_origin_url"
if test -n "$recursive"
then
--
2.9.1.566.gbd532d4
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html