summaryrefslogtreecommitdiffstats
path: root/submodule-config.h
diff options
context:
space:
mode:
authorHeiko Voigt <hvoigt@hvoigt.net>2017-10-16 15:58:27 +0200
committerJunio C Hamano <gitster@pobox.com>2017-10-17 10:27:18 +0900
commitc68f8375760dc6b77f9c68772230a9c6cfd52aa7 (patch)
tree716f4062df270db00a781b58877f733b8b013665 /submodule-config.h
parent01ce12252c959ed0f4b4b021adffa7a84a2d64a6 (diff)
downloadgit-c68f8375760dc6b77f9c68772230a9c6cfd52aa7.tar.gz
git-c68f8375760dc6b77f9c68772230a9c6cfd52aa7.tar.xz
implement fetching of moved submodules
We store the changed submodules paths to calculate which submodule needs fetching. This does not work for moved submodules since their paths do not stay the same in case of a moved submodules. In case of new submodules we do not have a path in the current checkout, since they just appeared in this fetch. It is more general to collect the submodule names for changes instead of their paths to include the above cases. If we do not have a configuration for a gitlink we rely on constructing a default name from the path if a git repository can be found at its path. We skip non-configured gitlinks whose default name collides with a configured one. With the change described above we implement 'on-demand' fetching of changes in moved submodules. Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'submodule-config.h')
-rw-r--r--submodule-config.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/submodule-config.h b/submodule-config.h
index e3845831f..a5503a5d1 100644
--- a/submodule-config.h
+++ b/submodule-config.h
@@ -22,6 +22,9 @@ struct submodule {
int recommend_shallow;
};
+#define SUBMODULE_INIT { NULL, NULL, NULL, RECURSE_SUBMODULES_NONE, \
+ NULL, NULL, SUBMODULE_UPDATE_STRATEGY_INIT, {0}, -1 };
+
struct submodule_cache;
struct repository;