git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] git-svn: remove files from the index before adding/updating

From
EWEric Wong <normalperson@yhbt.net>
Date
Feb 18, 2006, 05:04 UTC
Message-ID
<11402390872301-git-send-email-normalperson@yhbt.net>

This fixes a bug when importing where a directory gets removed/renamed but is immediately replaced by a file of the same name in the same revision.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
---
 contrib/git-svn/git-svn |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)
c142c70866ab8ce1765e4b88506aa79b5c5c1427
diff --git a/contrib/git-svn/git-svn b/contrib/git-svn/git-svn
index 2caf057..71a8b3b 100755
--- a/contrib/git-svn/git-svn
+++ b/contrib/git-svn/git-svn
@@ -580,13 +580,12 @@ sub svn_info {
 sub sys { system(@_) == 0 or croak $? }
 
 sub git_addremove {
-	system(	"git-ls-files -z --others ".
+	system( "git-diff-files --name-only -z ".
+				" | git-update-index --remove -z --stdin; ".
+		"git-ls-files -z --others ".
 			"'--exclude-from=$GIT_DIR/$GIT_SVN/info/exclude'".
-				"| git-update-index --add -z --stdin; ".
-		"git-ls-files -z --deleted ".
-				"| git-update-index --remove -z --stdin; ".
-		"git-ls-files -z --modified".
-				"| git-update-index -z --stdin") == 0 or croak $?
+				" | git-update-index --add -z --stdin; "
+		) == 0 or croak $?
 }
 
 sub s_to_file {
-- 
1.2.0.g4d1a-dirty
Next: Eric Wong
Message 1 of 3 in “git-svn: remove files from the index before adding/updating”
  1. git-svn: remove files from the index before adding/updatingEric Wong, Feb 18, 2006
  2. archimport: remove files from the index before adding/updatingEric Wong, Feb 18, 2006
  3. Eric WongFeb 18, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.