As you become more and more comfortable with Git, you’ll likely find it harder and harder to work without such a capable tool. But sometimes you’ll have to do without Git—say, if you work with a team whose source code is managed by some other VCS. (SVN, for example, is popular among open source projects.) Luckily, the Git developers have created numerous plug-ins to import and synchronize source code revisions with other systems.
This chapter demonstrates how to use Git when the rest of your team employs SVN. This chapter also provides guidance if more of your teammates want to make the switch to Git, and it explains what to do if your team wants to drop SVN entirely.
To begin, let’s make a shallow clone of a single SVN branch. Specifically, let’s work with the source code of SVN itself (which is guaranteed to be managed with SVN for as long as this book is in print) and a particular set of revisions, 33005 through 33142, from the 1.5.x branch of SVN.
The first step is to clone the SVN repository:
git svn clone -r33005:33142 \ http://svn.collab.net/repos/ svn/branches/1.5.x/ svn.git
In some Git packages, such as those provided by the Debian and Ubuntu Linux distributions, the git svn command is an optional part of Git. If you type git svn and are warned that “svn is not a git-command,” try to install the git-svn package. (See Chapter 2 for details about installing Git packages.)