bug-cvs
[Top][All Lists]
Advanced

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

Re: Attic cleanup


From: Derek Robert Price
Subject: Re: Attic cleanup
Date: Mon, 09 Jun 2003 10:58:44 -0400
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.2) Gecko/20030208 Netscape/7.02

I was trying to stay out of this one but I couldn't help but make a few comments -

Paul Edwards wrote:

"Mark D. Baushke" <address@hidden> wrote in message news:address@hidden
At most your original patch to remove the directory reduces the need to
do an extra stat() call or two when doing work from a tag or a branch. I

In fact, it removes all exceptional processing that doesn't happen
in any other directory.  So when a user says "my repository works
except for this one directory", the word "Attic" doesn't spring to
mind, assuming their system is consistent.


No, it only removes exceptional processing for directories with empty Attics. I'd guess that's a small minority of the directories with Attics.

I also do not see an easy way from a cvs command viewpoint to determine
in sanity.sh that the Attic directory is being removed if that is what
is considered proper.


That's easy, Mark.  Just `test -d $CVSROOT_DIRNAME/modulename/Attic'.

Do you have tests for all of the various kinds of filesystems to make
sure that the code works on all of them? (UFS, FAT12, FAT16, FAT32, AIX,
EXT2, HPFS, Plan9, QNX4, EXT3, NTFS, NFS, HFS+, AFS, etc. ?)

No, just like there aren't tests to make sure empty Attics don't
cause problems.


As long as the test -d was in place, I'd trust user's to run sanity.sh on the appropriate filesystems as they found necessary. Also, Paul, if you'd like to send a patch with test cases testing various CVS commands when the Attic is empty, I'd likely commit that. Of course, if the Attic went away when empty, I suppose only the test that it was deleted would be necessary. This would be less code in the test suite.

Of course, a new CVS running against an old repository might still need to handle empty Attics properly. Maybe it's better to test against empty attics.

An adminsitrator could as easily have a crontab job that did something like:

  find $CVSROOT -name Attic -a links 2 -a -type d -print0 | xargs -0 rmdir

That is technically incorrect because it makes assumptions about
the internal structure of a CVS repository.  How does he know
that those directories aren't required?


A doc patch might do the trick.

Derek

--
               *8^)

Email: address@hidden

Get CVS support at <http://ximbiot.com>!
--
I will not sell land in Florida.
I will not sell land in Florida.
I will not sell land in Florida...

         - Bart Simpson on chalkboard, _The Simpsons_







reply via email to

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