Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

For what concerns the format of tags recognized by CMT, it appears that it is a lot more liberal that what one generally thinks. Actually, CMT only considers focus on the numbers in the tag names. It is up to the collaboration to choose one format or the other. The only advice is to avoid dots, if the CMT is used together with CVS, because CVS will not like dots in the tag names.

Wiki Markup
The format which is generally used in the CMT documentation can be expressed thanks to this perl expression : v\[0-9\]\+(r\[0\-9\]\+(p\[0\-9\]\+)?)?. Yet, only the numbers are really meaningfull to CMT, and we do not know to what extent the tag v3p1 could be considered equivalent to v3r1, or even to MyPackage-v3p1. I suspect it is not fully consistent, as seen in some bugs, and it must be investigated. .

Also, CMT tries to be independant of the versions management tool (CVS, SVN) and its concepts. In particular, CMT is not aware of CVS branches. Badly enough, CMT developers
uses the term "branches" for the subdirectories of a package.

CMT only cares for tags, and it get those tags for a package thanks to the command "cmt cvstags". The way the tags are ordered is unclear and linked to the implementation of the cmtcvs pluggin which is installed in the CVS repository. My current understanding is the following :

  • For a given package, all the tags except the first one are given in the order they
    appear in the cmt/requirements file in the repository ; it should be the same order as
    the command "cvs rlog", and I guess it is chronological.
  • The tag given first is expected to be the "latest" or more "recent" depending on
    the source ; actually, it seems to be the tag which have greater numbers in the
    corresponding CVS file release number.

CMT is not aware of the eventual collaboration policy for tags, so it is
considering all the tags, whatever they look like, and it does not care for
the CVS branches :

  • If a branch has just been made for a given package, and no new tags have
    been applied to the CVS trunk, then the last tag on the branch will be
    displayed first by the "cmt cvstags" command.
  • If the first tag returned by "cmt cvstags" must be filtered-out, then the
    following tags are ordered chronologically, which means the branch ones
    could come first if they have been made lately.

Release Manager LATEST

Wiki Markup
The Release Manager is filtering out all the tags which do not match v\[0-9\]\+(r\[0\-9\]\+(p\[0\-9\]\+)?)?. This is a way not to take into account the tags which are applied on CVS branches, provided the developers do not use this format of tags on the branches !

LATEST is only applied to GlastRelease packages, not to EngineeringModel.

Release Manager HEAD

The tags which are used in a HEAD build are explicitly defined one by one, under the controll of Navid. I guess . There are HEAD version for every check out package : BeamtestRelease, EngineeringModel, GlastRelease and ScienceTools. By default, the same rules as LATEST apply, but perhaps it is possible, for specific cases, that branches tas will be used.applies for the name of tags, except for the preparation of patch versions.
For example if we prepare a v9r0p1 for GlastRelease, and some packages have received
modifications we do not want to incorporate

Branch Tags and Tags on Branchs

...