path: root/advice.h
diff options
authorJonathan Tan <>2019-12-02 19:57:52 (GMT)
committerJunio C Hamano <>2019-12-03 16:49:45 (GMT)
commit4f3e57ef13d0ad4c00d0a87f0858cde81456a2e0 (patch)
treecb86a3bd9dcb28f554950037e5f8f10acac393bf /advice.h
parent10c64a0b3c15391180c31d1217ba01d687558757 (diff)
submodule--helper: advise on fatal alternate error
When recursively cloning a superproject with some shallow modules defined in its .gitmodules, then recloning with "--reference=<path>", an error occurs. For example: git clone --recurse-submodules --branch=master -j8 \ \ master git clone --recurse-submodules --branch=master -j8 \ \ --reference master master2 fails with: fatal: submodule '<snip>' cannot add alternate: reference repository '<snip>' is shallow When a alternate computed from the superproject's alternate cannot be added, whether in this case or another, advise about configuring the "submodule.alternateErrorStrategy" configuration option and using "--reference-if-able" instead of "--reference" when cloning. Signed-off-by: Jonathan Tan <> Acked-by: Jeff King <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'advice.h')
1 files changed, 1 insertions, 0 deletions
diff --git a/advice.h b/advice.h
index d015404..b706780 100644
--- a/advice.h
+++ b/advice.h
@@ -30,6 +30,7 @@ extern int advice_waiting_for_editor;
extern int advice_graft_file_deprecated;
extern int advice_checkout_ambiguous_remote_branch_name;
extern int advice_nested_tag;
+extern int advice_submodule_alternate_error_strategy_die;
int git_default_advice_config(const char *var, const char *value);
__attribute__((format (printf, 1, 2)))