Boost logo

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