[Top][All Lists]

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

Re: Is there a limint on the number of branches in CVS?

From: Jim Hyslop
Subject: Re: Is there a limint on the number of branches in CVS?
Date: Thu, 18 May 2006 10:15:17 -0400
User-agent: Mozilla Thunderbird 1.0.6 (Windows/20050716)

Hash: SHA1

Mark E. Hamilton wrote:
> Well, I just created a new repos, added three test files, then manually
> modified the ,v file, changing all instances of 1.1 to 1.65535 in one
> file, 1.2147483648 in the second file, and 1.4294967295 in the third.
> After updating in my working directory I changed and committed all of
> them twice. Looks to me like it didn't have any real heartburn.

I did something similar and got the same results. I suspect we'd have to
manually modify the rev to 0x7FFFFFFFFFFFFFFF or 0xFFFFFFFFFFFFFFFF
(18446744073709551615), to see what would happen. OK, let's see, I just
modified the file to rev 1.18446744073709551615. Forcing a commit:

$ cvs ci -fm "Will it wrap?" bigrev.txt
Checking in bigrev.txt;
/cvs/cvs-test/bigrev.txt,v  <--  bigrev.txt
new revision: 1.18446744073709551616; previous revision:

Kewl! I checked the ,v file and it looks fine. A second commit works
properly, too. After a bit of digging, I've found that the function
increment_revnum in subr.c works on a string, not an integral type.

I suspect there may be some subtle problems lurking, though, because
commit.c does use a plain int for some revision checking, in particular
the findmaxrev function. Ah, here we go:

$ cvs ci -r 18446744073709551615.1 bigrev.txt
Checking in bigrev.txt;
/cvs/cvs-test/bigrev.txt,v  <--  bigrev.txt
cvs commit: /cvs/cvs-test/bigrev.txt,v: revision 18446744073709551615.1
too low;
 must be higher than 1.18446744073709551617
cvs commit: could not check in bigrev.txt

Same problem with 'ci -r 1.18446744073709551618'.

Since CVS re-uses magic branch numbers (x.y.0.z) it will probably take a
very long time to populate a file containing all magic branch numbers
where z is in the range 2..INT_MAX-1, so I don't think I'll test that
scenario right this moment :=)

- --
Jim Hyslop
Dreampossible: Better software. Simply.
                 Consulting * Mentoring * Training in
    C/C++ * OOD * SW Development & Practices * Version Management
Version: GnuPG v1.4.2 (MingW32)
Comment: Using GnuPG with Thunderbird -


reply via email to

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