info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: sticky tags!


From: Mark D. Baushke
Subject: Re: sticky tags!
Date: Mon, 29 Nov 2004 16:47:50 -0800

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ed Zaron <address@hidden> writes:

> Hello Everyone,
> 
> ... Yes, I searched the archives!
> 
> Here's my situation:
> 
> 1) I have cvs repository for a project, and I inadvertently included a
> bunch of .mod files in it (the source code is in fortran-90 and .mod
> files are generated at compile-time from source code, so I don't
> really need them in the repository). I frequently access the
> repository remotely, and updating the .mod files takes some time.
> 
> 2) I tried to use the command
> 
> cvs remove -f *.mod
> 
> to remove the .mod files from my project.
> 
> 3) Next, I tried to commit my changes with
> 
> cvs commit
> 
> and received the message:
> 
> cvs commit: cannot commit with sticky date for file `barotropic.mod'
> cvs [commit aborted]: correct above errors first!

Right, removing a file with a sticky date won't work.

> 4) Then, a status check shows:
>   cvs status barotropic.mod
> ===================================================================
> File: no file barotropic.mod            Status: Locally Removed
> 
>     Working revision:    -1.16   Thu Oct 28 19:52:45 2004
>     Repository revision: 1.16
> /Users/ezaron/CVSrepository/X/src/barotropic.mod,v
>     Sticky Tag:          (none)
>     Sticky Date:         2004.11.03.08.00.00
>     Sticky Options:      (none)
> 
> 5) Then, following the advice in the cvs documentation, I attempt to
> reset the sticky flags:
> cvs update -A barotropic.mod
> R barotropic.mod

First you need to resurrect the deleted file with a 'cvs add' THEN
remove the sticky date and THEN 'cvs rm -f' to remove it and THEN
'cvs ci' to commit the change.

> 6) Now a cvs status shows the same status for barotropic.mod, and the
> cvs commit still doesn't go through.
>
> Any help would sure be appreciated.

So, the following steps should work for you:

    cvs add barotropic.mod
    cvs up -A barotropic.mod
    rm barotropic.mod
    cvs rm barotropic.mod
    cvs commit

Your basic problem is that 'cvs rm -f' tells cvs to try to force the
removal, so you won't get the normal error message:

cvs remove:cannot remove file `barotropic.mod' which has a sticky date of 
`2004.11.03.08.00.00'

which you might otherwise have received...

A 'safer alternative in the future might be something like

  find . -name \*.mod > modfiles
  xargs rm < modfiles
  xargs cvs rm < modfiles
  cvs commit

where even if you need to do a 'cvs up -A' to clear out sticky dates in
the future, it won't let the checked out tree get into a state that is as
confusing to you.

        Enjoy!
        -- Mark

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (FreeBSD)

iD8DBQFBq8M13x41pRYZE/gRAvTXAKCfDh06NYkkSza4nF+O9v36/ILcNQCfaX0v
ZNvkqCGUfl50Yhz1kAFusc8=
=g9DS
-----END PGP SIGNATURE-----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]