Miscellaneous Notes on Working with Subversion
There are a few more things that you might want to know when you’re using git svn.
svn:ignore Versus .gitignore
In any version control system, you need to be able to specify files that you want the system to ignore, such as backup files, compiled executables, and so on.
In Subversion, this is done by setting the
svn:ignore property on a directory. In Git, you
create a file called .gitignore, as explained in
The .gitignore File.
Conveniently, git svn provides an easy way to
.gitignore. There are two approaches to
git svn create-ignore automatically creates .gitignore files to match the
svn:ignoreproperties. You can then commit them, if you’d like.
git svn show-ignore finds all the
svn:ignoreproperties in your whole project and prints the entire list. You can capture the command’s output and put it in your .git/info/exclude file.
Which technique you choose depends on how covert your git svn usage is. If you don’t want to commit the .gitignore files into your repository—thus making them show up for your Subversion-using coworkers—use the exclude file. Otherwise, .gitignore is usually the way to go, because it’s automatically shared by everyone else using Git on that project.
Reconstructing the git-svn cache
The git svn command stores extra housekeeping information in the .git/svn directory. This information is used, for example, to quickly detect whether a particular Subversion revision has already been downloaded ...