[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Proposed branch tag performance patch for feature and stable release
From: |
Mark D. Baushke |
Subject: |
Re: Proposed branch tag performance patch for feature and stable releases |
Date: |
Tue, 16 May 2006 04:51:07 -0700 |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Kelly F. Hickel <kfh@mqsoftware.com> writes:
> I just realized that I left out the strncmp!
Yup.
> I've added it to the outline below, along with
> some examples).....
> -Kelly
>
> > -----Original Message-----
> > From: Kelly F. Hickel
> > Sent: Monday, May 15, 2006 11:10 AM
> > To: Mark D. Baushke
> > Cc: bug-cvs@nongnu.org
> > Subject: RE: Proposed branch tag performance patch for feature and stable
> > releases
> >
> > Mark,
> > I've been thinking about how to solve
> > this, how does the proposed pseudo-code below
> > sound? This seemed like a heavy approach given
> > the fact that it's creating and sorting a new
> > list, but it seems the best way to find the
> > correct magic revision number in an efficient
> > way. For low branch counts the list will be
> > small enough that it should still perform well
> > compared to the current code.
> >
> > findnextmagicrev (given current rev to branch,
> > ex: 1.1):
> > 1) Determine number of dots (numdots) in the
> > current revision (ex: 1)
> > 2) Create a new list that will receive the
> > integer values of the last term of each tag
> > that might conflict with the candidate.
> > 3) Walk the list of RCS_symbols:
> > a) if the rev has numdots+1 (ex: 2
> > "1.1.12") AND the strings are identical up to
> > the numdots+1 dot (ex: strncmp("1.1.0.2",
> > "1.1.12", 3) AND the final term is even,
> > insert the integer value of the final term
> > into the list.
To be honest, I might consider using the funciton
strstr as I am not at all certain I understand how
you intend to use numbdots+1 in a strncmp()
function call.
> > b) if the rev has numdots+2 (ex: 2
> > "1.1.0.4") AND the strings are identical up to
> > the numdots+2 dot (ex: strncmp("1.1.0.2",
> > "1.1.12", 5) AND the final term is an even
> > number, AND the term before the final term
> > matches RCS_MAGIC_BRANCH, insert the integer
> > value of the final term into the list.
So, if you observed the following tags
q:1.23.0.10
p:1.23.0.4
o:1.1.12.1.0.4002
n:1.1.0.18
m:1.1.14.22.0.2
l:1.1.14.22.0.4
k:1.1.0.14
j:1.1.12.1.0.4
i:1.1.0.10
h:1.1.0.1000
g:1.1.8.1.0.2
f:1.1.0.8
e:1.1.0.6
d:1.1.0.4
c:1.1.0.2
b:1.1.0.2000
a:1.1.1.1.0.2
for a particular RCS file, what magic branch
revision would your programv generate as the next
revision for each of the given revisions:
1.1.1.2
1.1
1.24
1.1.2000.1
1.1.18.12
are you able to make any assumptions about the
existence of tags like:
aa:1.1.2.23
ab:1.1.12.14
ac:1.23.2.16
ad:1.1.6.1
> > 4) Call sortlist on the list, sorting it into
> > ascending order of integer values.
> > 5) go through the list, find the first gap,
> > that's the new magic revision number.
> >
> > Then I'll have to figure out enough of
> > sanity.sh to add a test case for the old code,
> > make sure the released codes passes, and that
> > my previous patch fails, and that the new
> > patch passes.
-- Mark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)
iD8DBQFEabyrCg7APGsDnFERAnKoAKDLPCK0iynOtWJYTNXN3c7atN+9KgCg3q0D
nb9hj1SX1TZdlhJ4kY/6ofI=
=ioDw
-----END PGP SIGNATURE-----
- Proposed branch tag performance patch for feature and stable releases, Kelly F. Hickel, 2006/05/04
- RE: Proposed branch tag performance patch for feature and stable releases, Kelly F. Hickel, 2006/05/09
- RE: Proposed branch tag performance patch for feature and stable releases, Kelly F. Hickel, 2006/05/15
- RE: Proposed branch tag performance patch for feature and stable releases, Kelly F. Hickel, 2006/05/16
- Re: Proposed branch tag performance patch for feature and stable releases,
Mark D. Baushke <=
- RE: Proposed branch tag performance patch for feature and stable releases, Kelly F. Hickel, 2006/05/16
- RE: Proposed branch tag performance patch for feature and stable releases, Kelly F. Hickel, 2006/05/16
- RE: Proposed branch tag performance patch for feature and stable releases, Kelly F. Hickel, 2006/05/16