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

[PATCH 2/2] git-svn: support fetch with autocrlf on

From
Erik Faye-Lund <kusmabite@googlemail.com>
Date
Feb 12, 2010, 17:52 UTC
Message-ID
<1265997155-3592-2-git-send-email-kusmabite@gmail.com>
In-Reply-To
<1265997155-3592-1-git-send-email-kusmabite@gmail.com>

If I enable core.autocrlf and perform a "git svn rebase" that fetches a change containing CRLFs, the git-svn meta-data gets corrupted.

Commit d3c9634e worked around this by setting core.autocrlf to "false" in the per-repo config when initing the clone. However if the config variable was changed, the breakage would still occur. This made it painful to work with git-svn on repos with mostly checked in LFs on Windows.

This patch tries to fix the same problem while allowing core.autocrlf to be enabled, by disabling filters when when hashing.

git-svn is currently the only call-site for hash_and_insert_object (apart from the test-suite), so changing it should be safe.

Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
---

With this patch applied, I guess we can also revert d3c9634e. I didn't do this in this series, because I'm lazy and selfish and thus only changed the code I needed to get what I wanted to work ;)

I've been running git-svn with these patches with core.autocrlf enabled since December, and never seen the breakage that I saw before d3c9634e.

 perl/Git.pm |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/perl/Git.pm b/perl/Git.pm
index e8df55d..2378da4 100644
--- a/perl/Git.pm
+++ b/perl/Git.pm
@@ -842,7 +842,7 @@ sub _open_hash_and_insert_object_if_needed {
 
 	($self->{hash_object_pid}, $self->{hash_object_in},
 	 $self->{hash_object_out}, $self->{hash_object_ctx}) =
-		command_bidi_pipe(qw(hash-object -w --stdin-paths));
+		command_bidi_pipe(qw(hash-object -w --stdin-paths --no-filters));
 }
 
 sub _close_hash_and_insert_object {
-- 
1.7.0.rc2
Previous: Erik Faye-LundNext: Eric Wong
Message 2 of 11 in “hash-object: support --stdin-paths with --no-filters”
  1. 1/2 hash-object: support --stdin-paths with --no-filtersErik Faye-Lund, Feb 12, 2010
  2. 2/2 git-svn: support fetch with autocrlf onErik Faye-Lund, Feb 12, 2010
  3. Eric WongFeb 13, 2010
  4. Erik Faye-LundFeb 13, 2010
  5. Johannes SchindelinFeb 13, 2010
  6. Erik Faye-LundFeb 14, 2010
  7. Johannes SchindelinFeb 14, 2010
  8. Erik Faye-LundFeb 14, 2010
  9. Johannes SchindelinFeb 13, 2010
  10. Dmitry PotapovFeb 12, 2010
  11. Erik Faye-LundFeb 14, 2010

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.