views:

688

answers:

3

I've been using TortoiseSVN on Windows for years with local filesystem repositories for my own projects. I'm planning to start collaborating with a friend on one of the projects, and will be shifting the repository to my own website. I've read a lot of "git beats SVN!" posts over the last couple years, and figured I ought to at least see what the fuss was about. Some research turned up the "git svn" command, and that TortoiseGit claims to have some level of git-svn support. I like the idea of keeping the SVN repository, and doing some local commits or branches with git before committing them to the repository. The "shelve" command also sounds useful.

Unfortunately, while there's a number of CLI git-svn tutorials, there's nothing for TortoiseGit (which admittedly seems to be still in early development). As a result, I'm having problems trying to figure out what workflow I need to get these pieces to cooperate.

I have an SVN repository in D:\Projects\repositories\MyProject. I created D:\Projects\temp\gittest, and tried to do a TortoiseGit "Git Clone" of the repository. From there, I've had issues trying to indicate the location of the trunk/branches/tags folders (which are just the standard layout in my repository). I was only able to get useful results when I left those unchecked. When I did seem to get the git repository started correctly, I was able to make some changes and do a couple git commits, but then had problems doing an SVN DCommit.

So, I'm hoping someone out there can provide a reasonably detailed set of instructions on how to correctly use TortoiseGit with an existing SVN repository (with the repository on either the local filesystem or on a remote server). No "don't use SVN!" responses, please - I'm interested in learning how to get these two pieces to work together. If you feel TortoiseGit's SVN support isn't mature enough to make this work, that would also be useful information.

Thanks!

A: 

May be you can put your projects to github which supports an svn access. So you can continue to use TortoiseSVN and collaborate with others. On the other hand you can use things like sourceforge etc. to collaborate via SVN instead of git. BTW why not using git svn clone URLOfTheSVNRepos and later do git commits instead.

khmarbaise
Thanks for the thought, but I'm really looking for instructions on using TortoiseGit specifically. There are some instructions out there on using the git CLI with SVN, but nothing about TortoiseGit.
markerikson
+1  A: 

The only reason git-svn exists is to allow the use of Git alongside an existing Subversion infrastructure. Since you essentially have no infrastructure, there is absolutely no reason not to just switch to Git completely. git-svn is better than svn, but should be avoided if at all possible.

I would strongly urge you to git svn clone -s --no-metadata <path_to_svn> then forget you ever had svn.

dahlbyk
Perhaps you didn't read my initial question carefully. I do indeed have an existing SVN setup, and am currently using it with a couple of friends on a project. I was hoping to experiment with using TortoiseGit to interact with the SVN server while my friends continued to use TortoiseSVN, since that's all they're familiar with. Thanks for taking the time to reply, but this really doesn't answer my actual question.
markerikson
I suppose I could have assumed your situation would changed in the last 5 months; I was responding based on the original wording: "I'm planning to start collaborating with a friend...". TortoiseGit has had git-svn support for a while now, have you had any luck with it?
dahlbyk
Sorry, you're right - that wording is out of date. I never did have much success getting TortoiseGit to interact well with SVN. Not sure whether it was TG's fault, or my lack of knowledge about Git. Since then, my focus has been on writing code rather than fiddling with TG. I'm still curious how to get them to cooperate properly, if anyone out there cares to put together a tutorial...
markerikson
A: 
  1. Create a directory
  2. right click, "Git Clone..."
  3. Enable"From SVN Repository" and select all further settings
StefanPapp