|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2003-05-07 11:17:59
Douglas Gregor <gregod_at_[hidden]> writes:
> On Wednesday 07 May 2003 09:18 am, Beman Dawes wrote:
> [snip]
>> On 2003-05-05, the primary SourceForge.net project CVS server
>> sufferred a hard crash which resulted in the corruption of CVS
>> repositories for a small number of projects. Unfortunately, we
>> believe that your project, boost, was one of the effected
>> projects (we base this on information returned when we ran checks
>> on the filesystem).
> [snip]
>> 3. Restored your project CVS repository as of 2003-05-03. This
>> action was taken as we could not ensure the stability of your
>> repository in its current state.
> [snip]
>
> Well, what do we do about this? The newest versions of all files in the
> repository have to be on someone's machine, somewhere. The good news is that
> they're easy to find. For instance, I run "cvs status" on
> boost/type_traits/alignment_of.hpp and I get:
>
> ===================================================================
> File: alignment_of.hpp Status: Needs Patch
>
> Working revision: 1.4
> Repository revision: 1.3
> /cvsroot/boost/boost/boost/type_traits/alignment_of.hpp,v
> Sticky Tag: (none)
> Sticky Date: (none)
> Sticky Options: (none)
>
> Note that the working revision > the repository revision, which means that it
> was checked in as version 1.4 but only version 1.3 still exists in the
> repository. The status will be "Needs Patch" when the local version is
> untouched from the last checked-in version (before the hard crash) or
> "Locally Modified" if the file has been changed size the last checkout.
>
> Someone could write a script to restore all of the files from a particular
> Boost checkout. It would:
> - execute "cvs status" in $BOOST_ROOT once to get the status of all files in
> the repository
> - find the set of files with status "Needs Patch" and working version >
> repository version.
> - "touch" each of the files (so it looks like they were locally modified)
> - "cvs commit" each of the files
I'm running
cvs status | grep --after-context=5 "Needs Patch"
right now to see what I learn.
That was fast!
Here's what it said:
cvs status | grep --after-context=5 "Needs Patch"
cvs server: Examining .
cvs server: Examining boost
cvs server: boost/implicit_cast.hpp is no longer in the repository
cvs server: Examining boost/bind
cvs server: Examining boost/compatibility
cvs server: Examining boost/compatibility/cpp_c_headers
cvs server: Examining boost/config
cvs server: Examining boost/config/compiler
cvs server: Examining boost/config/platform
cvs server: Examining boost/config/stdlib
cvs server: Examining boost/date_time
cvs server: Examining boost/date_time/gregorian
cvs server: Examining boost/date_time/posix_time
cvs server: Examining boost/detail
cvs server: Examining boost/filesystem
cvs server: Examining boost/format
cvs server: Examining boost/function
cvs server: Examining boost/function/detail
cvs server: Examining boost/graph
cvs server: Examining boost/graph/detail
cvs server: Examining boost/integer
cvs server: Examining boost/io
cvs server: Examining boost/lambda
cvs server: Examining boost/lambda/detail
cvs server: Examining boost/math
cvs server: Examining boost/math/special_functions
cvs server: Examining boost/mpl
File: vector_property_map.hpp Status: Needs Patch
Working revision: 1.3
Repository revision: 1.2 /cvsroot/boost/boost/boost/vector_property_map.hpp,v
Sticky Tag: (none)
Sticky Date: (none)
--
File: intel.hpp Status: Needs Patch
Working revision: 1.21
Repository revision: 1.20 /cvsroot/boost/boost/boost/config/compiler/intel.hpp,v
Sticky Tag: (none)
Sticky Date: (none)
--
File: win32.hpp Status: Needs Patch
Working revision: 1.9
Repository revision: 1.8 /cvsroot/boost/boost/boost/config/platform/win32.hpp,v
Sticky Tag: (none)
Sticky Date: (none)
--
File: stlport.hpp Status: Needs Patch
Working revision: 1.20
Repository revision: 1.19 /cvsroot/boost/boost/boost/config/stdlib/stlport.hpp,v
Sticky Tag: (none)
Sticky Date: (none)
--
File: convenience.hpp Status: Needs Patch
Working revision: 1.2
Repository revision: 1.1 /cvsroot/boost/boost/boost/filesystem/convenience.hpp,v
Sticky Tag: (none)
Sticky Date: (none)
--
cvs server: boost/mpl/void_fwd.hpp is no longer in the repository
cvs server: Examining boost/mpl/aux_
cvs server: boost/mpl/aux_/test.hpp is no longer in the repository
cvs server: Examining boost/mpl/aux_/config
cvs server: Examining boost/mpl/aux_/preprocessed
cvs server: Examining boost/mpl/aux_/preprocessed/bcc
cvs server: Examining boost/mpl/aux_/preprocessed/bcc551
cvs server: Examining boost/mpl/aux_/preprocessed/gcc
cvs server: Examining boost/mpl/aux_/preprocessed/msvc60
cvs server: Examining boost/mpl/aux_/preprocessed/msvc70
cvs server: Examining boost/mpl/aux_/preprocessed/mwcw
cvs server: Examining boost/mpl/aux_/preprocessed/no_ctps
cvs server: Examining boost/mpl/aux_/preprocessed/no_ttp
cvs server: Examining boost/mpl/aux_/preprocessed/plain
cvs server: Examining boost/mpl/aux_/preprocessor
cvs server: boost/mpl/aux_/preprocessor/is_seq.hpp is no longer in the repository
cvs server: boost/mpl/aux_/preprocessor/token_equal.hpp is no longer in the repository
cvs server: Examining boost/mpl/aux_/range_c
cvs server: Examining boost/mpl/aux_/test
cvs server: failed to create lock directory for `/cvsroot/boost/boost/boost/mpl/aux_/test' (/cvsroot/boost/boost/boost/mpl/aux_/test/#cvs.lock): No such file or directory
cvs server: failed to obtain dir lock in repository `/cvsroot/boost/boost/boost/mpl/aux_/test'
cvs [server aborted]: read lock failed - giving up
File: insert.hpp Status: Needs Patch
Working revision: 1.3
Repository revision: 1.2 /cvsroot/boost/boost/boost/mpl/insert.hpp,v
Sticky Tag: (none)
Sticky Date: (none)
--
File: insert_fwd.hpp Status: Needs Patch
Working revision: 1.3
Repository revision: 1.2 /cvsroot/boost/boost/boost/mpl/insert_fwd.hpp,v
Sticky Tag: (none)
Sticky Date: (none)
--
File: void.hpp Status: Needs Patch
Working revision: 1.7
Repository revision: 1.6 /cvsroot/boost/boost/boost/mpl/void.hpp,v
Sticky Tag: (none)
Sticky Date: (none)
--
File: yes_no.hpp Status: Needs Patch
Working revision: 1.3
Repository revision: 1.2 /cvsroot/boost/boost/boost/mpl/aux_/yes_no.hpp,v
Sticky Tag: (none)
Sticky Date: (none)
I'm not sure how to interpret this. At least one of the files it says
"is no longer in the repository" about is something I CVS add-ed
recently. I also note that the'res no notice about "Examining" many
of the directories: libs, for example.
Oh, yeah: and then there's the worrisome message about failing to
obtain the directory lock.
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk