git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Kristian <jkristian@linkedin.com>
To: "git@vger.kernel.org" <git@vger.kernel.org>
Subject: git-svn with big subversion repository
Date: Wed, 2 Mar 2011 02:43:23 +0000	[thread overview]
Message-ID: <C992EE5B.CBFB%jkristian@linkedin.com> (raw)

How do you recommend using git to work with branches of a large, busy
subversion repository? In general, how can small teams use git for their
tasks, and use subversion to coordinate with a larger organization?

git-svn has some trouble, I find. For example, this tries to copy the entire
repo starting with revision 1:

git svn clone --stdlayout svn+ssh://server/repo/project

This would take weeks, I estimate for my subversion repository.

Choosing a subset of the repository enables git svn clone to cope, but then
git svn fetch will stall after processing a few revisions.  For example:

git svn clone --no-follow-parent --no-minimize-url \
 --branches=branches \
 --ignore-paths="^(?!branches/(TEAM_|RELEASE_))" \
 -r $BASE svn+ssh://server/repo/project
git svn fetch --no-follow-parent # stalls

I don't why it stalls. I guess it's doing something that requires processing
the entire subversion repository.

The best I can do is clone each subversion branch into a separate svn-remote
section of the .git/config file, for example:

git svn clone --no-follow-parent --no-minimize-url \
 --svn-remote=TEAM_FOO --id=TEAM_FOO \
 -r $BASE svn+ssh://server/repo/project/branches/TEAM_FOO
git svn fetch --no-follow-parent

The clone runs about as long as svn checkout, and the fetch replays the
later revisions briskly. Sadly, the relationship between branches isn't
fetched: git log won't tell me how a given subversion branch was copied from
another. I use svn for that.

I'm using git version 1.7.4, git-svn version 1.7.4 (svn 1.6.5), svn version
1.6.0 (r36650) and Mac OS X version 10.6.5. I got git from MacPorts.

- John Kristian

             reply	other threads:[~2011-03-02  2:54 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-02  2:43 John Kristian [this message]
2011-03-02 16:09 ` git-svn with big subversion repository Thomas Ferris Nicolaisen
2011-03-03  4:13 ` Phil Hord
2011-03-05 10:53 ` Florian Weimer
2011-03-09  5:53 ` Jason Miller
     [not found]   ` <C99D031D.D0D9%jkristian@linkedin.com>
2011-03-11  0:32     ` Jason Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=C992EE5B.CBFB%jkristian@linkedin.com \
    --to=jkristian@linkedin.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).