Hello Roddie, On Jul 8, 12:21 pm, Roddie Grant <[email protected]> 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
