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@xxxxxxxxxx> --- Hi, On Fri, Jun 01, 2012 at 11:31:26AM +0100, Adam Spiers wrote: > Now if I press Control-T to try to stage 'two' into the index, I get a new > dialog which says: > > Updating the Git index failed. A rescan will be automatically > started to resynchronize git-gui. > > error: two is already a gitlink, not replacing > fatal: Unable to process path two > > > [Unlock Index] [Continue] > > I can work around via 'git add two', but it would be nice if citool > handled this correctly. This is because git gui uses plumbing (update-index) for updating the index. This patch fixes that popup. Testsuite passes here. Is it ok this way? Cheers Heiko builtin/update-index.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/builtin/update-index.c b/builtin/update-index.c index 5f038d6..5a4e9ea 100644 --- a/builtin/update-index.c +++ b/builtin/update-index.c @@ -211,12 +211,6 @@ static int process_path(const char *path) if (S_ISDIR(st.st_mode)) return process_directory(path, len, &st); - /* - * Process a regular file - */ - if (ce && S_ISGITLINK(ce->ce_mode)) - return error("%s is already a gitlink, not replacing", path); - return add_one_path(ce, path, len, &st); } -- 1.7.10.2.522.g93b45fe -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html