
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] 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@acm.org> 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@github.com: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@hetp.u-net.com