From: "Wesley J. Landaker" <wjl@icecavern•net>
To: Joe Corneli <holtzermann17@gmail•com>
Cc: git@vger•kernel.org
Subject: Re: working with a large repository and git svn
Date: Wed, 12 Jan 2011 08:30:45 -0700 [thread overview]
Message-ID: <201101120830.47016.wjl@icecavern.net> (raw)
In-Reply-To: <AANLkTimKbS3ECzOaGtNgvx7DThJGH_DkPmg4ehKXGtwc@mail.gmail.com>
On Tuesday, January 11, 2011 18:27:10 Joe Corneli wrote:
> I am experiencing trouble with git svn, trying to import a
> large repository (7.9 gigs, ~54000 commits) from Git into
> SVN.
>
> This has failed in a couple of different ways, depending
> on the operating environment. With Git version 1.7.3.5
> running on Ubuntu 9.10, in the final step
>
> git svn dcommit --no-rebase
>
> of the formula described below, I get:
>
> failing with "Can't fork at /usr/share/perl/5.10.0/Git.pm line 1261."
>
> after committing just over 2000 revisions.
I haven't tried importing 8 GB from Git to Subversion, but I have used Git
against existing huge Subversion repositories that are >= 10 GB with little
trouble, other than that it takes forever because Subversion is slow.
Here are some thoughts on how I'd approach what you are doing. Realize that
no matter what, it's still probably going to take "forever" (e.g. run it
over the weekend).
1) Sounds like git-svn is running out of resources on your machine --
that's probably a bug, but work around it: Don't dcommit all 20000 revisions
at once. Maybe write a shell script that goes through and dcommits a 100
commits at a time.
2) Do you need the full history to be in SVN? Can you rebase/squash large
parts together and thus need to commit less revisions in the first place?
3) I love git-svn for working with Subversion repositories, but you could
consider a different tool, like tailor, if you can't make git-svn do what
you want. I have also heard talk (but I don't know the state of things) of
people working on a fast-import tool for SVN, so you could git-fast-export
and svn-fast-import in a big batch.
4) Does 8 GB of data really belong in the same repository? Maybe it should
really be split up and used with git submodules or SVN externals? That may
make things easier to work with in the long term.
5) Do you really want to be going from Git, to Subversion? That seems like
a big step backwards. =)
In any case, good luck!
next prev parent reply other threads:[~2011-01-12 15:41 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-12 1:27 working with a large repository and git svn Joe Corneli
2011-01-12 15:30 ` Wesley J. Landaker [this message]
2011-01-13 0:54 ` Joe Corneli
2011-01-13 3:23 ` Jonathan Nieder
2011-01-14 7:43 ` Joe Corneli
2011-01-14 8:05 ` Ramkumar Ramachandra
2011-01-14 8:29 ` Jonathan Nieder
2011-01-14 9:23 ` Michael Haggerty
[not found] ` <F0299861-B36C-459C-972E-856212A92615@kth.se>
2011-01-14 10:16 ` [PATCH] Optionally parse author information Ramkumar Ramachandra
2011-01-16 2:17 ` Joe Corneli
2011-01-16 2:57 ` Jonathan Nieder
2011-01-16 3:32 ` Ramkumar Ramachandra
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=201101120830.47016.wjl@icecavern.net \
--to=wjl@icecavern$(echo .)net \
--cc=git@vger$(echo .)kernel.org \
--cc=holtzermann17@gmail$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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