git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* working with a large repository and git svn
@ 2011-01-12  1:27 Joe Corneli
  2011-01-12 15:30 ` Wesley J. Landaker
  0 siblings, 1 reply; 12+ messages in thread
From: Joe Corneli @ 2011-01-12  1:27 UTC (permalink / raw)
  To: git

Greetings -

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.

Previously, on Mac OS X 10.6.4 with git version 1.7.3.4,
it made it through about 18000 commits before failing with
some other error.  (I don't have that one recorded at the
moment.)

Separately from the latest attempt, I tried repacking the
repository before doing the "git svn" stuff, with

  git repack -a -d --depth=250 --window=250 -f

but that also failed ("pack-objects died of signal 11").

Any tips for dealing with new, large, repositories would
be appreciated.  The sequence of commands I used are below
the 8<.

Thanks,
Joe

8<-8<-8<-8<-8<-8<-8<-8<-8<-8<-8<-8<-8<-8<-8<-8<-8<-8<-8<-8<-8<

## Creating an svn repo

$ mkdir repo;
$ svnadmin create repo;
$ mkdir init;
$ touch init/README;
$ svn import init file://`pwd`/repo/init -m "Initial import";
$ svn checkout file://`pwd`/repo/init working;

## THIS PART FOLLOWS THE MODEL SUGGESTED BY THE FOLKS AT code.google.com
## (/Users/jac2349/planetary/destination/ IS THE LOCATION OF MY GIT REPO.)

$ mkdir cloning
$ cd cloning
$ git svn clone file:///Users/jac2349/planetary/repo/init
$ cd init
$ git fetch git:///Users/jac2349/planetary/destination/.git

$ git branch tmp $(cut -b-40 .git/FETCH_HEAD)
$ git tag -a -m "Last fetch" last tmp

$ INIT_COMMIT=$(git log tmp --pretty=format:%H | tail -1)
$ git checkout $INIT_COMMIT .
$ git commit -C $INIT_COMMIT

$ git rebase master tmp
$ git branch -M tmp master

$ git svn dcommit --no-rebase

$ mv .git/refs/tags/newlast .git/refs/tags/last

## BTW, THE --no-rebase FLAG KEEPS IT FROM BEING IMPOSSIBLY SLOW!

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2011-01-16  3:32 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-12  1:27 working with a large repository and git svn Joe Corneli
2011-01-12 15:30 ` Wesley J. Landaker
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

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).