update-index: allow overwriting existing submodule index entries

In commit e01105 Linus introduced gitlinks to update-index. He explains that he thinks it is not the right thing to replace a gitlink with something else. That commit is from the very first beginnings of submodule support. Since then we have gotten a lot closer to being able to remove a submodule without losing its history. This check prevents such a use case, so I think this assumption has changed. Additionally in the git add codepath we do not have such a check, so for consistency reasons I think removing this check is the correct thing to do. Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Heiko Voigt committed Jun 9, 2012 at 16:27 UTC 242f55f61252e610092e93f4b2daebba21cb8acf
1 file changed -6
builtin/update-index.c
-6
@@ -211,12 +211,6 @@ static int process_path(const char *path)
211 if (S_ISDIR(st.st_mode))
212 return process_directory(path, len, &st);
213
214 - /*
215 - * Process a regular file
216 - */
217 - if (ce && S_ISGITLINK(ce->ce_mode))
218 - return error("%s is already a gitlink, not replacing", path);
219 -
214 return add_one_path(ce, path, len, &st);
215 }
216