any git clones of the MPL svn repo out there?

Since using git for some time on several projects (including projects
with a central svn repository), it's been hard to go back to the
universally slow web-based subversion history browsers and the absence
of 'git bisect'. Thus, I'm thinking about cloning the MPL SVN history
into a git repo, but I wonder if anyone has already done this? Are there
any git clones of the MPL svn repo out there?

Thanks,
Andrew

I don't know of any, but if you create one let us know. I'd be interested in playing with such a thing. I'm ready to see what all the fuss is about... :wink:

Mike

Andrew Straw wrote:

···

Since using git for some time on several projects (including projects
with a central svn repository), it's been hard to go back to the
universally slow web-based subversion history browsers and the absence
of 'git bisect'. Thus, I'm thinking about cloning the MPL SVN history
into a git repo, but I wonder if anyone has already done this? Are there
any git clones of the MPL svn repo out there?

Thanks,
Andrew

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options

I used rsync to mirror the entire SVN repo locally and then using "git
svn clone" to import it (which took about 12 hours on a 2.5 GHz Core 2
machine, even with the local SVN mirror).

I haven't been able to clone the new git repo such that the 2nd git copy
would not need to do "git svn fetch" on the entire repository. Thus, it
seems that putting my git svn mirror in a publicly accessible location
isn't actually going to save anyone the pain of letting git call
subversion a bazillion times to import all history. (At least not
without me understanding things like
http://utsl.gen.nz/talks/git-svn/intro.html#howto-track-rebuildmeta )

I'll plan to use my local git repository to interact with the MPL svn
repo, but I don't plan to publish my git repo unless I figure out how to
set it up so it's actually useful. Until or unless that happens, here's
how I cloned the MPL repo:

# Directories
MPL_RSYNC_DIR="/mnt/workdisk/tmp/matplotlib-svn-rsync"
MPL_GIT_DIR="/mnt/workdisk/tmp/matplotlib"

# Copy the svn repo history locally
mkdir -p $MPL_RSYNC_DIR
cd $MPL_RSYNC_DIR
rsync -av matplotlib.svn.sourceforge.net::svn/matplotlib/* .

# Import into git
mkdir -p $MPL_GIT_DIR
cd $MPL_GIT_DIR
git svn clone --trunk=trunk/matplotlib --tags=tags \
file://$MPL_RSYNC_DIR

At this point, you should have a shiny new git MPL repo in $MPL_GIT_DIR
suitable for use with git, including two of my favorites, git bisect and
gitk. However, to update from svn without going through the rsync
intermediate and to commit directly to the svn repo, you need to do the
equivalent of "svn switch --relocate" to point your git repo at the
SourceForge svn https URL rather than your local rsync copy. I'm at the
mercy of my google searching skills here because I don't understand how
git-svn works, but I followed the recipe at
http://www.ciaran-lee.com/articles/6 . Here it is modified to be
specific for this case:

* In the [svn-remote "svn"] section of $MPL_GIT_DIR/.git/config, change
the url to matplotlib download | SourceForge.net
(but note the old file:/// URL -- you'll need that in a minute).

* (I think a commit has to have been made to the SourceForge SVN repo
for this next step to work. Somewhere in this recipe this has to happen,
and I forgot exactly where.)

* Run "git svn fetch" in $MPL_GIT_DIR

* Change the svn-remote url back to the original file:///

* Run "git svn rebase -l" to do a local rebase (with the changes that
came in with the last fetch operation)

* Change svn-remote url back to the new url.

* "git svn rebase" and "git svn dcommit" should now work.

Finally, a couple URLs that are useful for git-svn interaction:

* http://andy.delcambre.com/2008/3/4/git-svn-workflow
* http://git.or.cz/course/svn.html

And the man page:

* git-svn(1)

Note that I'd actually suggest getting moderately comfortable with pure
git before attempting to do git/svn juggling. I suggest playing with the
sympy git repository: git clone git://git.sympy.org/sympy.git

Michael Droettboom wrote:

···

I don't know of any, but if you create one let us know. I'd be
interested in playing with such a thing. I'm ready to see what all the
fuss is about... :wink:

Mike

Andrew Straw wrote:

Since using git for some time on several projects (including projects
with a central svn repository), it's been hard to go back to the
universally slow web-based subversion history browsers and the absence
of 'git bisect'. Thus, I'm thinking about cloning the MPL SVN history
into a git repo, but I wonder if anyone has already done this? Are there
any git clones of the MPL svn repo out there?

Thanks,
Andrew

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options
  
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
matplotlib-devel List Signup and Options

I always use this blog post to do exactly that:

http://subtlegradient.com/articles/2008/04/22/cloning-a-git-svn-clone

and it works very nicely. So please publish your repository somewhere,
so that others don't have to reclone the whole svn repo.

Thanks,
Ondrej

P.S. Michael, you should learn git. :slight_smile:

P.P.S. Sorry I still didn't have time to port our 3D plotting from
sympy to matplotlib. Seems like a lot of people would welcome that,
but someone just needs to do it.

···

On Sun, Nov 30, 2008 at 9:42 PM, Andrew Straw <strawman@...36...> wrote:

I used rsync to mirror the entire SVN repo locally and then using "git
svn clone" to import it (which took about 12 hours on a 2.5 GHz Core 2
machine, even with the local SVN mirror).

I haven't been able to clone the new git repo such that the 2nd git copy
would not need to do "git svn fetch" on the entire repository. Thus, it
seems that putting my git svn mirror in a publicly accessible location
isn't actually going to save anyone the pain of letting git call
subversion a bazillion times to import all history. (At least not
without me understanding things like
http://utsl.gen.nz/talks/git-svn/intro.html#howto-track-rebuildmeta )