bug-cvs
[Top][All Lists]
Advanced

[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: Wed, 10 May 2006 08:33:03 -0700

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Kelly,

Point #1 of this has been communicated privately, but it occurs to me
that the bug-cvs list may be interested in knowing what is happening.

There are some problems with the proposed patch:

  1) It is finding the the highest revision across all branches with the
     right number of dots, not just the branches rooted at the same
     revision. So, if you have a number of branches off 1.1 -- 1.1.0.2,
     1.1.0.4, and 1.1.0.6, for example -- and then create a new branch
     off of 1.2 you will get 1.2.0.8 instead of 1.2.0.2 as you should.
     It is also checking all tags with the right number of dots, not
     just magic branch tags.

  2) For the FEATURE branch (1.12.x), there is an added problem in that
     the file may be using a mixture of the CVS_LOCAL_BRANCH_NUM feature
     along with regular branches. In this case, it is a good bet that
     the user is using CVSup to make sure that revisions that are above
     the CVS_LOCAL_BRANCH_NUM starting number will NOT be propagated to
     mirrors of the repository and are thus not generally available.

     So, if you have a number of global branches off 1.1 -- 1.1.0.2,
     1.1.0.4, 1.1.0.6 as well as a few local branches 1.1.0.1000 and
     1.1.0.1002, then the next global branch created off of 1.1 will
     incorrectly be set to 1.1.0.1004 instead of 1.1.0.8 as expected.

     Of course, this may not be that big a deal as in the normal course
     of things new global branches are created on the master repository
     and CVSup'd to the mirrors and the global will typically not have a
     good reason to create a CVS_LOCAL_BRANCH_NUM, however, it has
     happened that master repositories become dead and a new master is
     elected from one of the mirrors which could lead to the above
     problem.

  3) The patch provided did pass our sanity.sh regression tests and
     should not have. This means that we likely need to have a more
     rigorous set of tests that the correct revisions are being created
     by the cvs tag code. So, the proposed patch will probably also need
     to include some sanity.sh tests to exercise it.

Thank you for your consideration of this problem.

        -- Mark

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)

iD8DBQFEYgevCg7APGsDnFERAomSAKDMWgJWcmOByJRv0h2J1kZrW3fGvwCfZjkR
jtI9cRWSisG6ORRlK0CVQvE=
=jvvC
-----END PGP SIGNATURE-----




reply via email to

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