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

Re: git-svn does not seems to work with crlf convertion enabled.

From
Dmitry Potapov <dpotapov@gmail.com>
Date
Aug 6, 2008, 16:11 UTC
Message-ID
<37fcd2780808060911g58fbab9ey6188280c8f318854@mail.gmail.com>
In-Reply-To
<20080806111545.GD32184@machine.or.cz>
On Wed, Aug 6, 2008 at 3:15 PM, Petr Baudis <pasky@suse.cz> wrote:
Show 5 quoted lines
>
>  If not, why do you want to drop git-svn from Windows Git? It seems
> that the CRLF issue has trivial workaround to set autocrlf=false;
> this will make git-svn-tracked repositories useful only on Windows,
> but I'd bet this is fine for large majority of Windows git-svn users?

Actually, it is not so simple. If you have svn properties setup correctly for your text files (i.e. svn:eol-style=native) than autocrlf=false is not what you want, because then SVN uses LF as EOL when stores this files.

In many case, just setting svn:eol-style correctly in SVN may solve the problem.

However, to make git-svn work reliable in present files with different ending, it should import files from SVN without applying any filter. Therefore, the --no-filters option was recently added to git-hash-object. Adding its use to git-svn should be easy (I have not had time to test it): ===

diff --git a/perl/Git.pm b/perl/Git.pm
index 087d3d0..438b7fd 100644
--- a/perl/Git.pm
+++ b/perl/Git.pm
@@ -829,7 +829,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 {
===

This should solve all problem with git-svn fetch. However, if you want to
respect svn:eol-style and when you commit your changes, that will require
synchronization svn:eol-style with values for crlf in your .gitattributes,
which is a much more ambitious task.

Dmitry
Previous: Avery PennarunNext: Dmitry Potapov
Message 13 of 45 in “git-svn does not seems to work with crlf convertion enabled.”
  1. Alexander LitvinovJul 23, 2008
  2. Johannes SchindelinJul 23, 2008
  3. Alexander LitvinovJul 23, 2008
  4. Johannes SchindelinJul 23, 2008
  5. Avery PennarunJul 23, 2008
  6. Johannes SchindelinJul 23, 2008
  7. Alexander LitvinovJul 24, 2008
  8. Petr BaudisAug 6, 2008
  9. Peter HarrisAug 6, 2008
  10. Johannes SchindelinAug 6, 2008
  11. git-svn on MSysGit and why is it (going to be?) unsupportedPetr Baudis, Aug 6, 2008
  12. Avery PennarunAug 6, 2008
  13. Dmitry PotapovAug 6, 2008
  14. Dmitry PotapovJul 24, 2008
  15. Johannes SchindelinJul 24, 2008
  16. Avery PennarunJul 24, 2008
  17. Alexander LitvinovJul 30, 2008
  18. git-svn now work with crlf convertion enabled.Alexander Litvinov, Jul 31, 2008
  19. Alexander LitvinovJul 31, 2008
  20. Dmitry PotapovJul 31, 2008
  21. [RFC] hash-object --no-filtersDmitry Potapov, Jul 31, 2008
  22. Alexander LitvinovAug 1, 2008
  23. Junio C HamanoAug 1, 2008
  24. Dmitry PotapovAug 1, 2008
  25. Alexander LitvinovAug 1, 2008
  26. Dmitry PotapovAug 1, 2008
  27. Junio C HamanoAug 1, 2008
  28. Dmitry PotapovAug 1, 2008
  29. Junio C HamanoAug 1, 2008
  30. Dmitry PotapovAug 1, 2008
  31. Junio C HamanoAug 1, 2008
  32. Dmitry PotapovAug 1, 2008
  33. Junio C HamanoAug 2, 2008
  34. Dmitry PotapovAug 3, 2008
  35. Dmitry PotapovAug 3, 2008
  36. 1/5 correct argument checking test for git hash-objectDmitry Potapov, Aug 3, 2008
  37. 2/5 correct usage help string for git-hash-objectDmitry Potapov, Aug 3, 2008
  38. 3/5 use parse_options() in git hash-objectDmitry Potapov, Aug 3, 2008
  39. 4/5 add --path option to git hash-objectDmitry Potapov, Aug 3, 2008
  40. 5/5 add --no-filters option to git hash-objectDmitry Potapov, Aug 3, 2008
  41. Junio C HamanoAug 3, 2008
  42. Alexander LitvinovAug 1, 2008
  43. Dmitry PotapovAug 1, 2008
  44. Alexander LitvinovAug 4, 2008
  45. Eric WongAug 4, 2008

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.