From: Avery Pennarun <apenwarr@gmail.com>
To: Eric Wong <normalperson@yhbt.net>
Cc: Bruno Harbulot <Bruno.Harbulot@manchester.ac.uk>, git@vger.kernel.org
Subject: Re: Efficient cloning from svn (with multiple branches/tags subdirs)
Date: Wed, 14 Oct 2009 14:26:16 -0400 [thread overview]
Message-ID: <32541b130910141126u4df7f439i3d2926c2e1db9497@mail.gmail.com> (raw)
In-Reply-To: <20091014180013.GA24741@dcvr.yhbt.net>
On Wed, Oct 14, 2009 at 2:00 PM, Eric Wong <normalperson@yhbt.net> wrote:
> Avery Pennarun <apenwarr@gmail.com> wrote:
>> I've been thinking about this myself for some time. One option that
>> might be "interesting" would be to just grab the *entire* svn tree
>> (from the root), and then use git-subtree[1] to slice and dice it into
>> branches using your local copy of git (which is fast and uses no
>> bandwidth) instead of during the svn fetch (which is slow and uses
>> lots of bandwidth). I think it would also simplify the git-svn code
>> quite a lot, at least for fetching, since there would always be a
>> global view of the tree and SVN things like "copy branch A to tag B"
>> would just be exactly that.
>
> This was actually the original use case of git svn back when I started.
>
> git svn clone SVNREPO_ROOT (without --stdlayout)
>
> It's still an option if you have the disk space for the working copies,
> but I had to create the branches/tags support since the working copies
> would be become prohibitively large. If git-subtree could be
> taught to work on a bare repo (git svn has a --no-checkout option)
> it might be an option, too.
I've never tested git-subtree without a working tree, however, it
doesn't *use* the working tree for anything when splitting, so at
worst, there might be a minor bug or two. Thus, there ought never be
a need to check out the whole huge tree (which I agree would be both
slow and huge).
dcommit might be a little weirder. Though I guess if we fixed the
git-svn-id tags in the split branches, you could just commit directly
into a branch, then fetch the new commit back from the root, then
rebase the branch, as dcommit already does.
You know, maybe this is actually easier than I thought... I was
thinking committing back to svn would be complicated since it requires
a working tree, but if we let you commit straight from one of the
branches, it shouldn't actually be too bad at all. Hmm.
Have fun,
Avery
next prev parent reply other threads:[~2009-10-14 18:32 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-13 18:13 Efficient cloning from svn (with multiple branches/tags subdirs) Bruno Harbulot
2009-10-14 6:03 ` Eric Wong
2009-10-14 9:07 ` Bruno Harbulot
2009-10-14 16:28 ` Avery Pennarun
2009-10-14 18:00 ` Eric Wong
2009-10-14 18:26 ` Avery Pennarun [this message]
2009-10-15 17:23 ` Bruno Harbulot
2009-10-15 17:29 ` B Smith-Mannschott
2009-10-16 11:20 ` Bruno Harbulot
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=32541b130910141126u4df7f439i3d2926c2e1db9497@mail.gmail.com \
--to=apenwarr@gmail.com \
--cc=Bruno.Harbulot@manchester.ac.uk \
--cc=git@vger.kernel.org \
--cc=normalperson@yhbt.net \
/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).