I have a subversion repository hosted on Linux but only ever accessed via windows clients as it's for the source of a large Windows application.
It would be awesome if I could work on this repository using git-svn (provided by msysgit).
I'm having a heck of a time trying to get the repository to not get itself in a jam over the windows style line endings.
After svn clone
a checkout of the git repository with:
core.autocrlf = true
shows modifications to any file which actually does use LF
in the repository.core.autocrlf = input
shows modifications to any file which actually does use LF
in the repository.core.autocrlf = false
shows modifications to everything.What's the best option here? Should I use core.autocrlf = true
and commit the LF
to CRLF
changes for affected files?
I'm very close to throwing in the towel and just putting my Subversion working copy into a git repository. This would be a poor solution but would at least allow local branches and stashes. It will obviously become a huge pain to keep adding files when they are added to subversion.
EDIT: For those who are interested. git-svn
is a royal pain if you are on Windows. hasen j's answer below is probably the right one but I can't follow his advice without attracting the ire of the other developers in my team.
I'm essentially abandoning this question since it isn't going to lead to a reasonable outcome. Hopefully the next Google Summer of Code will attract someone who wants to pickup their "Proper git-svn support on Windows" project. See http://git.or.cz/gitwiki/SoC2009Ideas#Propergit-svnsupportonWindows
Since my other answer doesn't apply well to you, here's another way to deal with the situation:
Use both svn and git; in the same working directory.
You'll mainly be working with git, pulling from the upstream repository, making local changes, local branches, etc; everything that you normally do when you work on a local git project.
Then, when you want to commit to the central svn repo, use the svn client.
I had some experience doing this, only I wouldn't do an svn commit
, but instead create a patch with svn diff
and submit it (since I had no commit access anyway).