[PATCH] update-index: allow overwriting existing submodule index entries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]