Git – Best Practice for following Subversion repository Trunk: Git (Mirror), Git-Svn, Subversion

djangogitgit-svnsvn

I want to checkout, and then update as necessary, the Django Subversion trunk on a Mac OS X Leopard 10.5.5 machine.

I am only interested in having updated Django code on my Mac. I am not interested in contributing patches to the Django project. I do not need the Subversion history for the Django trunk.

I plan to use Git as the DVCS/SCM for all of my personal projects.


What is the best practice for keeping my Mac updated with the latest Django trunk and why?

I am new to Git so understanding why you chose your option will be very helpful.

  1. Use Subversion 1.4.4 installed on my Mac: svn co http://code.djangoproject.com/svn/django/trunk/. Essentially using Subversion to fetch Subversion repos and Git for my personal projects.

  2. Use Git SVN to fetch the Django Subversion repo. Instructions on how to do this for a Git newbie?

  3. Use Git to fetch a Git mirror of the Django repo. I'm a little concerned that the mirror might go away in the future, but I'm willing to use it if it's the best option.

Best Solution

If you're not going to be making changes to the Django code, then there's no reason to import it into Git. Just use option 1.

Using git-svn (either by running it yourself or by cloning somebody else's repository) is useful if you want to make local modifications to a project that uses Subversion (whether or not you send any of those modifications back to the project). But if you're not making any local modifications, then it's just needless complexity.