You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by mark benedetto king <mb...@lowlatency.com> on 2003/07/12 14:52:39 UTC
Re: svn commit: rev 6453 - in trunk/tools/cvs2svn: . test-data/bogus-tag-cvsrepos test-data/bogus-tag-cvsrepos/CVSROOT
On Fri, Jul 11, 2003 at 05:20:08PM -0500, kfogel@tigris.org wrote:
> + # CVS tag names must start with a letter, and contain only
> + # letters, digits, hyphens, and underscores. It turned out to
> + # be surprisingly hard to find a reference for this on the
> + # Internet; I finally managed to track one down at:
> + #
> + # http://cvsbook.red-bean.com/cvsbook.html#Marking_A_Moment_In_Time__Tags_
> + #
> + # I'm not sure I trust that guy, though, so if anyone has better
> + # reference, please put it here. -kfogel
> + #
Well, he literally wrote the book on CVS so maybe you should cut him
just a little bit a slack. :-)
Some quick testing shows me that my CVS (1.10 'Halibut') does indeed
allow '/' in tags.
Here are some interesting messages, though:
$ cvs tag . foo
cvs [tag aborted]: tag `.' must start with a letter
$ cvs tag a. foo
cvs [tag aborted]: tag `a.' must not contain the characters `$,.:;@'
This is unfortunate, since unix filesystems do not allow '/' in filenames,
and we like to lay things out as .../tags/tagname/.
I see a few options:
1.) catch the '/' and throw a fatal error, recommending that the user
does "cvs rtag -r old/bad/tag/name new_spiffy_tag_name module" and
tries again.
2.) catch the '/' and throw a fatal error, unless a "tag name mapping"
file/option is present that lets cvs2svn know what to use instead
3.) map the '/' to another character. I propose '.', in particular,
because it is not allowed in CVS tag names, so this mapping
will not cause any collisions.
--ben
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: svn commit: rev 6453 - in trunk/tools/cvs2svn: . test-data/bogus-tag-cvsrepos test-data/bogus-tag-cvsrepos/CVSROOT
Posted by kf...@collab.net.
mark benedetto king <mb...@lowlatency.com> writes:
> Some quick testing shows me that my CVS (1.10 'Halibut') does indeed
> allow '/' in tags.
Huh, that's a surprise! What operations did you try? Did it tolerate
'/' in all operations involving tags, or just setting them?
> 3.) map the '/' to another character. I propose '.', in particular,
> because it is not allowed in CVS tag names, so this mapping
> will not cause any collisions.
I think that's an excellent strategy, thanks! And there's absolutely
no reason for us not to tolerate them, then -- whether they are
problematic for some CVS operations or not, the user is now converting
the data to SVN, after all.
I'll make the change.
-Karl
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: svn commit: rev 6453 - in trunk/tools/cvs2svn: . test-data/bogus-tag-cvsrepos test-data/bogus-tag-cvsrepos/CVSROOT
Posted by kf...@collab.net.
mark benedetto king <mb...@lowlatency.com> writes:
> Ah, good thinking. Yes, ',' is probably better than the others.
Check (just confirming that I saw this :-) ).
-K
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: svn commit: rev 6453 - in trunk/tools/cvs2svn: . test-data/bogus-tag-cvsrepos test-data/bogus-tag-cvsrepos/CVSROOT
Posted by mark benedetto king <mb...@lowlatency.com>.
On Sat, Jul 12, 2003 at 03:59:31PM +0100, Max Bowsher wrote:
> mark benedetto king wrote:
> ...
> > Some quick testing shows me that my CVS (1.10 'Halibut') does indeed
> > allow '/' in tags.
> >
[...]
> > $ cvs tag a. foo
> > cvs [tag aborted]: tag `a.' must not contain the characters `$,.:;@'
> >
[...]
> >
> > 3.) map the '/' to another character. I propose '.', in particular,
> > because it is not allowed in CVS tag names, so this mapping
> > will not cause any collisions.
>
> Dots at the end of the filename don't work on Windows.
> If option 3 is chosen, please could one of the other invalid characters be
> used? Maybe ','?
>
Ah, good thinking. Yes, ',' is probably better than the others.
--ben
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: svn commit: rev 6453 - in trunk/tools/cvs2svn: . test-data/bogus-tag-cvsrepos test-data/bogus-tag-cvsrepos/CVSROOT
Posted by mark benedetto king <mb...@lowlatency.com>.
On Sat, Jul 12, 2003 at 11:16:11AM -0400, Sergey A. Lipnevich wrote:
> mark benedetto king wrote:
> >
> >>>3.) map the '/' to another character. I propose '.', in particular,
> >>> because it is not allowed in CVS tag names, so this mapping
> >>> will not cause any collisions.
> >>
> >>Dots at the end of the filename don't work on Windows.
> >>If option 3 is chosen, please could one of the other invalid characters be
> >>used? Maybe ','?
> >>
> >
> >
> >Ah, good thinking. Yes, ',' is probably better than the others.
> >
>
> Not that it matters but many tools replace invalid characters with
> underscore `_'. I'm thinking of examples and could come up with CD
> writing tools so far. My $.01 ;-).
>
Underscore is dangerous because there might be two tags, one called "foo/"
and one called "foo_".
--ben
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: svn commit: rev 6453 - in trunk/tools/cvs2svn: . test-data/bogus-tag-cvsrepos
test-data/bogus-tag-cvsrepos/CVSROOT
Posted by "Sergey A. Lipnevich" <se...@optimaltec.com>.
mark benedetto king wrote:
>
>>>3.) map the '/' to another character. I propose '.', in particular,
>>> because it is not allowed in CVS tag names, so this mapping
>>> will not cause any collisions.
>>
>>Dots at the end of the filename don't work on Windows.
>>If option 3 is chosen, please could one of the other invalid characters be
>>used? Maybe ','?
>>
>
>
> Ah, good thinking. Yes, ',' is probably better than the others.
>
Not that it matters but many tools replace invalid characters with
underscore `_'. I'm thinking of examples and could come up with CD
writing tools so far. My $.01 ;-).
P.S.: I've turned off return receipt, I did not forget to do it :-O!
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: svn commit: rev 6453 - in trunk/tools/cvs2svn: . test-data/bogus-tag-cvsrepos test-data/bogus-tag-cvsrepos/CVSROOT
Posted by Max Bowsher <ma...@ukf.net>.
mark benedetto king wrote:
...
> Some quick testing shows me that my CVS (1.10 'Halibut') does indeed
> allow '/' in tags.
>
> Here are some interesting messages, though:
>
> $ cvs tag . foo
> cvs [tag aborted]: tag `.' must start with a letter
>
> $ cvs tag a. foo
> cvs [tag aborted]: tag `a.' must not contain the characters `$,.:;@'
>
>
> This is unfortunate, since unix filesystems do not allow '/' in filenames,
> and we like to lay things out as .../tags/tagname/.
>
> I see a few options:
>
> 1.) catch the '/' and throw a fatal error, recommending that the user
> does "cvs rtag -r old/bad/tag/name new_spiffy_tag_name module" and
> tries again.
>
> 2.) catch the '/' and throw a fatal error, unless a "tag name mapping"
> file/option is present that lets cvs2svn know what to use instead
>
> 3.) map the '/' to another character. I propose '.', in particular,
> because it is not allowed in CVS tag names, so this mapping
> will not cause any collisions.
Dots at the end of the filename don't work on Windows.
If option 3 is chosen, please could one of the other invalid characters be
used? Maybe ','?
Max.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org