info-cvs
[Top][All Lists]
Advanced

[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.
<snip>
> For instance, how do users record details of tags? And by this I mean the
> nitty-gritty - is it in special software...in Excel...in 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
tags.
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
validation,
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:
http://groups.google.com/group/gnu.cvs.bug/browse_thread/thread/43b1c62b5d990d89/b62a6c86d8da8448?hl=en&q=cvs+soft-tags#b62a6c86d8da8448
and this patch in savannah:
http://savannah.nongnu.org/patch/?6150

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
automerge
  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.

HTH,
--
Yaron Yogev
IT Software Developer
Jungo Software Technologies


reply via email to

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