Boost logo

Boost :

Subject: Re: [boost] [Git] Extracting libraries from the svn sandbox
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2012-12-18 12:27:58


> -----Original Message-----
> From: boost-bounces_at_[hidden] [mailto:boost-bounces_at_[hidden]] On Behalf Of Beman
> Dawes
> Sent: Thursday, December 13, 2012 5:18 PM
> To: Boost Developers List
> Subject: Re: [boost] [Git] Extracting libraries from the svn sandbox
>
> On Wed, Dec 12, 2012 at 3: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:
>
> I've now created a doc page. See
> https://svn.boost.org/trac/boost/wiki/ExtractSandbox

Windows
========

* I needed to have a cmd.exe 'run with administrator'.
* I was not certain if I was 'bashing' or 'batting' but talk of "making sure git-bash was in my path
before Cygwin" made start 'bashing' but then got to the symlink and decided I should be 'batting'
after all.

I presume 'POSIX' mean all non-Windows platforms?

* A single typo will scupper the whole thing. The process really needs automating with the library
name as a parameter.

* Some steps to show that the directory structure is right, and also to show that the symlinks are
right too would be useful. I installed symlinks $ sudo apt-get install symlinks which warms of
dangling links (pointing to nowhere/nothing)

Ubuntu
======

* I needed to install git - not just logging in to it.

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

* Perhaps because of this, I had to install a new SSH key, a messy business (but well described)

* I considered adding b2 and bjam to the PATH in .bashrc . But instead did

boost-root/build/v2$sudo install b2 /usr/bin

I ran the test OK in both cases.

Moving an existing sandbox library Pierre Talbot's 2011 GSoC project checks.
==============================================================

* I needed to have a cmd.exe 'Run with administrator'.

https://svn.boost.org/trac/boost/wiki/ExtractSandbox

Worked OK for me. More details in attached zip.

H:\git-temp>git svn clone http://svn.boost.org/svn/boost/sandbox/SOC/2011/checks
Initialized empty Git repository in h:/git-temp/checks/.git/
W: Ignoring error from SVN, path probably does not exist: (175007): HTTP Path Not Found: REPORT
request failed on '/svn/boost/!svn/bc/100/sandbox/SOC/2011/checks':
'/svn/boost/!svn/bc/100/sandbox/SOC/2011/checks' path not found
W: Do not be alarmed at the above message git-svn is just searching aggressively for old history.
This may take a while on large repositories
Checked through r42900.... eventually up to r81158

Took a couple of kiloseconds to scan all the Boost revisions! (Time for tea ;-)

And blew the top of the DOS box buffer :-( (So better to send to a log file?)

<snip>
r77300 = 5194d8002858ca4816b0050690cb18a3ea057f65 (refs/remotes/git-svn)
        M libs/checks/test/test_checks.cpp
...
W: -empty_dir: boost/checks/prechecksum.hpp
r80904 = 84349968d807fb7ea02206479e516534fa53ceec (refs/remotes/git-svn)
        M boost/checks/checksum.hpp
        M boost/checks/modulus97.hpp
        M boost/checks/mastercard.hpp
        M libs/checks/doc/doxygen/doxywarn.log
r81158 = d08cbb13b856f3e4fa9dcc3881809a5a2e9af765 (refs/remotes/git-svn)
Checked out HEAD:
  http://svn.boost.org/svn/boost/sandbox/SOC/2011/checks r81158

Will RTFM for what the letter A, D and M mean.

I:\boost-trunk\libs>git clone git_at_[hidden]:pabristow/checks.git
Cloning into 'checks'...
Enter passphrase for key '/c/Users/Paul/.ssh/id_rsa':
remote: Counting objects: 3785, done.
remote: Compressing objects: 100% (697/697), done.
remote: Total 3785 (delta 2732), reused 3785 (delta 2732)
Receiving objects: 100% (3785/3785), 6.40 MiB | 496 KiB/s, done.
Resolving deltas: 100% (2732/2732), done.
Rename from 'I:/boost-trunk/libs/checks/.git/HEAD.lock' to 'I:/boost-trunk/libs/checks/.git/HEAD'
failed. Should I try again? (y/n) y

Questions:

* Not sure why above failed first time, but was OK on retry.
(Could be a problem in a command file?)

* I didn't need any symlink to run the test - though I expected to have to do so? I need it
elsewhere? So I created a link as before

I:\boost-trunk\boost>mklink /d checks ..\libs\checks\include\boost\checks
symbolic link created for checks <<===>> ..\libs\checks\include\boost\checks

18-Dec-2012 17:08 <SYMLINKD> checks [..\libs\checks\include\boost\checks]

but this is wrong because the conversion is using the existing 'old' file structure - since there is
no /include folder.

What should I do about this - create a new symlink? Sounds a bit dodgy to have different file
structures?

* How do I give the original GSoC author Pierre Talbot write access to this git repo? Do we have to
share a password? (I wouldn't want him to have access to my other git repros?)

* What will prevent two 'user submitted' libraries with the same name?

Looking OKish, but fiddly, and a single typo will scupper you, so a command file system would be
*much* better (but perhaps troublesome?).

Paul

---
Paul A. Bristow,
Prizet Farmhouse, Kendal LA8 8AB  UK
+44 1539 561830  07714330204
pbristow_at_[hidden]



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