[Top][All Lists]

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

Re: Branching vs Tagging for release candidates

From: Yaron Yogev
Subject: Re: Branching vs Tagging for release candidates
Date: Sat, 11 Jul 2009 22:23:15 -0700 (PDT)
User-agent: G2/1.0

Hello Roddie,

On Jul 8, 12:21 pm, Roddie Grant <address@hidden> wrote:
> This thread has been very useful, and I'd appreciate pointers to more about
> the daily handling of CVS.
> For instance, how do users record details of tags? And by this I mean the
> nitty-gritty - is it in special a notebook...on the
> back of an envelope... And what do you record?

In Jungo we use a CSV file to keep all the details of the branches and
The file is also committed into CVS, and upon commit we update our
MySQL database, which is later used for various uses, e.g. pre-commit
branch locking, auto-merge path calculation, and more.
We also create a special file in the CVSROOT directory, keeping the
relationships of branches and tags (e.g. "T1 is located on B1 in 12-
Jul-09 05:00 UTC"). This allows us to do soft-tags and soft-branches,
used in fast deploying of tags & branches on our huge CVS repository.
See my post regarding soft-tags:
and this patch in savannah:

some of the data in the CSV file:
- symbol: CVS name of branch/tag
- version: Bugzilla display name of branch/tag
- repository: subtree where in the CVS tree where the branch/tag may
be used
- isbranch: is this a branch ?
- onsymbol: name of CVS symbol on which this one is located.
  Examples: tag-4_1_3 is located on branch-4_1.
- owner: who is responsible for work on this branch/tag
- creator: who created this branch/tag
- tag_date: when was the branch/tag created
- mergeto: (optional) for branch - name of branch into which to do
  from this branch
- description: text description of branch/tag
- qa_owner: if defined, used as default Bugzilla QA contact for
  bugs/enhancements on this branch
- soft_tag: is this a soft branch/tag ?
- allow_manual_tag: allow "cvs tag" operation with this branch/tag ?
  (our policy is it should be 0 unless specifically authorized by IT)
- allow_commit: if 0, blocks committing on branch. Always 0 for tags.
- display_in_bugzilla: if 1, it will allow this branch/tag version
name to be
  used in Bugzilla.

> Similarly, what sort of things is it useful to include in commit log
> messages?

other than the description of the commit itself, which is well worth
another discussion, we sometimes include:
- "NOTIFY" header - tells post-commit daemon to notify specific people
of this commit
  - we also have a way for people to specify that they want to be
notified on changes in specific parts/files in the repository and/or
specific branches
- "AUTOMERGE" header - tells our "review" application that this commit
should not be calculated in the line count of the review. sometimes
auto-merge can be across many branches, and we want to give the
reviewer a good estimate of how many lines of code are to be reviewed.

Yaron Yogev
IT Software Developer
Jungo Software Technologies

reply via email to

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