Boost logo

Boost :

Subject: Re: [boost] [Git] Extracting libraries from the svn sandbox
From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2012-12-13 00:12:49


I tried using the possible more direct svnrdump command (to talk to the
github subversion bridge directly) and failed. It seems the github bridge
doesn't support the svn webdav commands svn 1.7 uses. So I tried Beman's
suggested commands..

On Wed, Dec 12, 2012 at 2:57 PM, Beman Dawes <bdawes_at_[hidden]> wrote:

> One of the issues that came up in the documentation discussion was the
> desire to extract still useful sub-trees from the old svn sandbox, and
> to move them to GitHub.
>
> I've been able to extract my proposed endian library from the sandbox,
> history and all. Here was the process:
>
> 1) Created a empty repository named "endian" in my GitHub account via
> the usual web interface.
>

1.5) Create an authors mapping file that has lines to match your github
account:

    echo "grafik = Rene Rivera <grafikrobot_at_[hidden]>" > github-authors.txt

> 2) From the command line, in a temporary directory:
>
> git svn clone https://svn.boost.org/svn/boost/sandbox/endian

I added "-Agithub-authors.txt":

git svn clone -Agithub-authors.txt
https://svn.boost.org/svn/boost/sandbox/boost/predef

> (Got a "Error validating server certificate...", and gave "p" as a
> response to the "(R)eject, accept (t)emporarily or accept
> (p)ermanently?" query. The process ran for perhaps 10 minutes, but
> that was fine because it was successful at recovering history. And it
> is a one-time process.)
>

As I was experimenting I ended up running it multiple times.. And it worked
the first time. Then after deleting/resetting it stopped working subsequent
times. Even after trying the exact initial command. So it seems it's rather
fragile?

  cd endian
> git branch -d git-svn
>

It error-ed for me at that point.

> git push --mirror git_at_[hidden]:Beman/endian.git
>

I pushed the repo anyway, using the HTTPS protocol:

git push --mirror https://github.com/grafikrobot/boost-predef.git

That's it! The git branch command deletes the git-svn branch, which is
> an artifact of the conversion process.
>
> Finish off by cloning the library in its permanent local location:
>
> cd permanent-local-location
> git clone git_at_[hidden]:Beman/endian.git
>

I wouldn't bother with this part for documentation. As it's just using git.
I sure hope there's a better way to do this.. As I can't seem to make it
work more than once. And if it can't be replicated.. I wouldn't recommend
this procedure.

I have to say.. I keep being underwhelmed by git :-\

-- 
-- 
-- Grafik - Don't Assume Anything
-- Redshift Software, Inc. - http://redshift-software.com
-- rrivera/acm.org - grafik/redshift-software.com
-- 102708583/icq - grafikrobot/aim - grafikrobot/yahoo

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk