Re: [PATCH] cvsserver: fix legacy cvs client and branch rev issues
- From
- Dirk Koopman <djk@tobit.co.uk>
- Date
- Jun 17, 2007, 09:10 UTC
- Message-ID
- <4674FA9B.10806@tobit.co.uk>
- In-Reply-To
- <20070617081959.GD1828@planck.djpig.de>
Frank Lichtenheld wrote:
Show 8 quoted lines
> Hi.
>
> On Sat, Jun 16, 2007 at 07:50:06PM +0100, Dirk Koopman wrote:
>> Early cvs clients don't cause state->{args} to be initialised,
>> so force this to occur.
>> Some revision checking code assumes that revisions will be
>> recognisably numeric to perl, Branches are not, because they
>> have more decimal points (eg 1.2.3.4 instead of just 1.2). <snip>
Show 10 quoted lines
> > Hmm, I don't see how you could have a problem with that since cvsserver > doesn't support branches and never generates any revision numbers in > that format? > > There is probably much more code out there in cvsserver that does assume > that revision is always a simple integer. > > And again that comment is a but much IMHO. >
The specific issue that I was trying to solve is that I have (in CVS terms) a main line (git head: master) and an active CVS development branch and git head (called SR [for the sake of argument]).
I have imported both into git using cvsimport. For compatibility (and windows users) I need a anonymous, read only, :pserver: CVS implementation that can serve either head.
The version numbers in the CVS import on branch SR are standard CVS single level branch 1.2.3.4. Doing a 'cvs update' on this branch was causing all sorts of warnings about 1.2.3.4 not being numeric on that test. After changing the test, the warnings have gone away and it all still seems to work.
Having said that, I haven't worked out where cvsserver is getting those version numbers from in the first place, but it obviously knows that it is dealing with a branch sufficient to work well enough for my needs.
Of course, quite what happens when the branch merges back and people want to 'cvs update -A', I shall leave for the future...
Groetjes Dirk