Subject: Re: gitweb wishlist

From: David Mansfield <[email-masked]>
Date: Tue, 24 May 2005 00:28:14 -0400

H. Peter Anvin wrote:
> David Mansfield wrote:
> 
>>
>> Ok.  I'll tell you.  It means that the committer uses bad practices in 
>> tagging ;-)  It generally means that force tag (cvs tag -F <file>) was 
>> used on a specific file.  Here's the scenario:
>>
>> cvsps is trying to associate a tag to a specific commit.  But in the 
>> cvs world this is not always at all possible.  If, for example, a 
>> commit made and  all files are tagged.  Now some random file is 
>> modified and committed.  Then, a bug is found in a file from the 
>> previously tagged set, say the file 'memdisk/init32.asm'.  The bug is 
>> fixed, committed and the tag is MOVED for _just that file_ forward to 
>> the new version.  Now there is no commit that can be associated with 
>> the tag.  In this case, cvsps believes this to be a 'FUNKY' tag.  
>> There is a more pathological case having to do with 'INVALID' tags...  
>> It's enough to make a grown man cry.
>>
> 
> This is only pathological if the tag now represents a state that never 
> actually existed in the history of the repository.  I don't believe 
> there are any such cases in the syslinux repository; I could be wrong, 
> but I am *highly* sceptical.
> 

I didn't mean that YOUR repository had more pathological stuff in it, 
just that SOME do.  'FUNKY' tags are not really that bad, it's just that 
there is not a single commit to assign them to (i.e. at no point were 
all of the objects in the repository at that state simultaneously), 
which makes the import of such a tag difficult into a more commit 
oriented system.

Another way to reach 'funky'ness is to modify a file, commit and tag, 
without having done a 'cvs update' first (and a colleague has done a 
commit since your last 'cvs update')

David