You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by kf...@collab.net on 2004/02/15 00:33:10 UTC

Re: cvs2svn urgently needs a verification tool

Tobias Ringström <to...@ringstrom.mine.nu> writes:
> We (i.e. the Subversion project) urgently need a tool that can at
> verify that the data is correct in trunk and all the tags and branches
> after a conversion.  It could e.g. run cvs export and svn export and
> compare the data for all tags, etc.
> 
> Automatic log message checking for each file should also be possible,
> but it's not as important, and it's also much harder.
> 
> Such a tool would be great for running tests during development, but
> also to provide more confidence to users that the data is correct
> after a conversion.  It's nothing short of a disaster if the tagged
> code (or whatever you put in you repositories) is incorrent after a
> conversion.

Totally agree that we need such a tool.
 
> Unfortunately cvs2svn does have such bugs now.  :-(  

Do you know of one?  We need it filed if so :-).

The only open correctness issue related to branches is issue #1510,
which is about trunk checkouts behaving the same from both CVS and
SVN, not about the branches or tags themselves being wrong.

> Maybe we should
> make cvs2svn print a banner saying that it should not be used until it
> has received more testing.

It should probably print a banner telling you *not* to delete your old
CVS repository.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: cvs2svn urgently needs a verification tool

Posted by kf...@collab.net.
Branko Čibej <br...@xbc.nu> writes:
> >Although it is true that this "isn't supposed to happen", the fact is
> >in the wild one can find CVS repositories that have the same symbolic
> >name, in the same RCS file, mapping to more than revision or branch
> >number (and sometimes to *both* regular revisions and branches).
> >Therefore cvs2svn checks for this.
>
> Ye gods. And CVS actually knows what to do with such files?

It doesn't break, at least.  I can't remember whether it uses the
first label or the last one, but it does behave consistently.

*shudder*

-K


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: cvs2svn urgently needs a verification tool

Posted by Branko Čibej <br...@xbc.nu>.
kfogel@collab.net wrote:

>Branko Čibej <br...@xbc.nu> writes:
>  
>
>>I think you confused him because "everybody knows" that CVS branches and
>>tags live in the same namespace, therefore you can't have the same label
>>name on the same file for both a branch and a tag.
>>    
>>
>
>Oh, I've been hanging out in some pretty bad neighborhoods^H^H^H CVS
>repositories lately :-).
>
>Although it is true that this "isn't supposed to happen", the fact is
>in the wild one can find CVS repositories that have the same symbolic
>name, in the same RCS file, mapping to more than revision or branch
>number (and sometimes to *both* regular revisions and branches).
>Therefore cvs2svn checks for this.
>  
>
Ye gods. And CVS actually knows what to do with such files?

-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: cvs2svn urgently needs a verification tool

Posted by Greg Hudson <gh...@MIT.EDU>.
On Thu, 2004-02-19 at 10:07, kfogel@collab.net wrote:
> Although it is true that this "isn't supposed to happen", the fact is
> in the wild one can find CVS repositories that have the same symbolic
> name, in the same RCS file, mapping to more than revision or branch
> number (and sometimes to *both* regular revisions and branches).

Calling such a beast an "RCS file" is a bit of a stretch, but
regardless: what does CVS do with such a thing?  Presumably if you refer
to the duplicate symbolic name, it just uses the first value or (less
likely) the last value.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: cvs2svn urgently needs a verification tool

Posted by kf...@collab.net.
Branko Čibej <br...@xbc.nu> writes:
> I think you confused him because "everybody knows" that CVS branches and
> tags live in the same namespace, therefore you can't have the same label
> name on the same file for both a branch and a tag.

Oh, I've been hanging out in some pretty bad neighborhoods^H^H^H CVS
repositories lately :-).

Although it is true that this "isn't supposed to happen", the fact is
in the wild one can find CVS repositories that have the same symbolic
name, in the same RCS file, mapping to more than revision or branch
number (and sometimes to *both* regular revisions and branches).
Therefore cvs2svn checks for this.

-Karl

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: cvs2svn urgently needs a verification tool

Posted by Branko Čibej <br...@xbc.nu>.
kfogel@collab.net wrote:

>Tobias Ringström <to...@ringstrom.mine.nu> writes:
>  
>
>>>Hmm.  Are the files on which the symbolic name 'RELEASE_C2_1' exists
>>>*both* as a tag and as a branch label?
>>>      
>>>
>>Now you lost me.  On all but two files, RELEASE_C2_1 is a branch.  On
>>the other two files, RELEASE_C2_1 is a tag.
>>    
>>
>
>I lost you because I typed "the" instead of "there".  My sentence
>should have read:
>
>   "Are there files on which the symbolic name 'RELEASE_C2_1' exists
>   *both* as a tag and as a branch label?"
>  
>

I think you confused him because "everybody knows" that CVS branches and
tags live in the same namespace, therefore you can't have the same label
name on the same file for both a branch and a tag.


-- 
Brane Čibej   <br...@xbc.nu>   http://www.xbc.nu/brane/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: cvs2svn urgently needs a verification tool

Posted by kf...@collab.net.
Tobias Ringström <to...@ringstrom.mine.nu> writes:
> > Hmm.  Are the files on which the symbolic name 'RELEASE_C2_1' exists
> > *both* as a tag and as a branch label?
> 
> Now you lost me.  On all but two files, RELEASE_C2_1 is a branch.  On
> the other two files, RELEASE_C2_1 is a tag.

I lost you because I typed "the" instead of "there".  My sentence
should have read:

   "Are there files on which the symbolic name 'RELEASE_C2_1' exists
   *both* as a tag and as a branch label?"

> Is this enough to explain things?
> 
>  > grep RELEASE_C2_1 core_globals.c,v core_gui.h,v
> core_globals.c,v:       RELEASE_C2_1:1.7.0.2
> core_gui.h,v:   RELEASE_C2_1:1.2
> 
> Looking at core_globals.c in the Subversion repository, the one in
> branches/RELEASE_C2_1 corresponds to CVS version 1.7, but the one in
> tags/RELEASE_C2_1 corresponds to CVS version 1.6.

What I don't understand is, why is core_globals.c even *present* under
tags/RELEASE_C2_1/?  If that symbolic name is not listed as a tag on
any regular revision in the RCS file, then no revision of that file
should be present anywhere under tags/RELEASE_C2_1/.

(Hence I'm anxious to see the full RCS data, if possible.)

-Karl

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: cvs2svn urgently needs a verification tool

Posted by Tobias Ringström <to...@ringstrom.mine.nu>.
kfogel@collab.net wrote:
> Hmm.  Are the files on which the symbolic name 'RELEASE_C2_1' exists
> *both* as a tag and as a branch label?

Now you lost me.  On all but two files, RELEASE_C2_1 is a branch.  On 
the other two files, RELEASE_C2_1 is a tag.

I *think* this happened because someone accidentally created a branch 
when they intended to create a tag.  Some time later, someone forcibly 
set the tag on the two files.

> I guess I'll need to see the actual RCS files.

Is this enough to explain things?

 > grep RELEASE_C2_1 core_globals.c,v core_gui.h,v
core_globals.c,v:       RELEASE_C2_1:1.7.0.2
core_gui.h,v:   RELEASE_C2_1:1.2

Looking at core_globals.c in the Subversion repository, the one in 
branches/RELEASE_C2_1 corresponds to CVS version 1.7, but the one in 
tags/RELEASE_C2_1 corresponds to CVS version 1.6.

/Tobias


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: cvs2svn urgently needs a verification tool

Posted by kf...@collab.net.
Tobias Ringström <to...@ringstrom.mine.nu> writes:
> I'm happy to say that it's wasn't nearly as bad as I thought, but it
> is a little strange, and I hope you can help me to shed some light on
> it. I don't have a repos to post right now, but the problem is easy to
> describe at least.  (At least how it behaves, not why it happens.)
> 
> The CVS repository has a branch label by the name RELEASE_C2_1 set on
> almost all files, but on two files, it was a tag.  This caused cvs2svn
> to create both a branch and a tag by the name RELEASE_C2_1.  The
> strange thing is that the contents of the branch and the tag differ
> for one single file (which used RELEASE_C2_1 as a branch label).
> 
> Any ideas?

Hmm.  Are the files on which the symbolic name 'RELEASE_C2_1' exists
*both* as a tag and as a branch label?

I might be missing something here, but... I don't see why the contents
of the branch and the tag *wouldn't* differ on some files.  It seems a
perfectly natural outcome.  There's no guarantee that when
'RELEASE_C2_1' is a tag, it is associated with the head revisions of
branches of that name.

I guess I'll need to see the actual RCS files.

-Karl

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: cvs2svn urgently needs a verification tool

Posted by Tobias Ringström <to...@ringstrom.mine.nu>.
kfogel@collab.net wrote:
> Tobias Ringström <to...@ringstrom.mine.nu> writes:
> 
>>Seriously, it was very late when I saw it so I didn't have time
>>then. I'll investigate further and file an issue tonight.
> 
> Thanks!  I hope you can track it down...

I'm happy to say that it's wasn't nearly as bad as I thought, but it is 
a little strange, and I hope you can help me to shed some light on it. 
I don't have a repos to post right now, but the problem is easy to 
describe at least.  (At least how it behaves, not why it happens.)

The CVS repository has a branch label by the name RELEASE_C2_1 set on 
almost all files, but on two files, it was a tag.  This caused cvs2svn 
to create both a branch and a tag by the name RELEASE_C2_1.  The strange 
thing is that the contents of the branch and the tag differ for one 
single file (which used RELEASE_C2_1 as a branch label).

Any ideas?

/Tobias


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: cvs2svn urgently needs a verification tool

Posted by kf...@collab.net.
Tobias Ringström <to...@ringstrom.mine.nu> writes:
> What? You don't trust my memory? :-)
> 
> Seriously, it was very late when I saw it so I didn't have time
> then. I'll investigate further and file an issue tonight.

Thanks!  I hope you can track it down...

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: cvs2svn urgently needs a verification tool

Posted by Tobias Ringström <to...@ringstrom.mine.nu>.
kfogel@collab.net wrote:
>>Unfortunately cvs2svn does have such bugs now.  :-(  
> 
> Do you know of one?  We need it filed if so :-).

What? You don't trust my memory? :-)

Seriously, it was very late when I saw it so I didn't have time then. 
I'll investigate further and file an issue tonight.

/Tobias


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: cvs2svn urgently needs a verification tool

Posted by Chia-Liang Kao <cl...@clkao.org>.
On Sat, Feb 14, 2004 at 06:33:10PM -0600, kfogel@collab.net wrote:
> > Such a tool would be great for running tests during development, but
> > also to provide more confidence to users that the data is correct
> > after a conversion.  It's nothing short of a disaster if the tagged
> > code (or whatever you put in you repositories) is incorrent after a
> > conversion.
> 
> Totally agree that we need such a tool.

I have some simple verification just to compare the latest bit
of each branch/tag. other things worth checking is the branch point
but i didn't have time to do it.

See the last 2 for loops in
http://svn.elixus.org/svnweb/revml/log/branches/svn-perl/t/99cvs2svn.t

Cheers,
CLK

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org