Scmbug manual

RELEASE_0-18-0

The Scmbug Team

This is the documentation of Scmbug, a system that integrates software configuration management with bug-tracking.


Table of Contents
1. About
1.1. Copyright Information
1.2. Disclaimer
1.3. Acknowledgments
1.4. Document Conventions
2. Introduction
2.1. What Is It?
2.2. Why Use An SCM System?
2.3. Why Use A Bug-tracking System?
2.4. Why Integrate SCM With Bug-tracking?
3. Design
3.1. Goals
3.2. System Architecture
3.3. Related Systems
3.3.1. Bugzilla Email Gateway
3.3.2. CVSZilla
3.3.3. Other Integration Systems
4. Features
4.1. Integration Actions
4.2. Verification Checks
4.2.1. Enabled Integration
4.2.2. Supported SCM version
4.2.3. Use Of A Log Message Template
4.2.4. Presence Of Distinct Bug Ids
4.2.5. Valid Log Message Size
4.2.6. Convention-based Labeling
4.2.7. Presence Of Bug Ids
4.2.8. Valid SCM to bug-tracking username mapping
4.2.9. Valid Product Name
4.2.10. Valid Bug Owner
4.2.11. Open Bug State
4.2.12. Mail On Success
4.3. Integration Of SCM Log Messages
4.4. Integration Of SCM Labeling Operations
5. SCM Frontends
5.1. CVS
5.2. Subversion
5.3. Other SCM Systems
6. Bug-tracking Backends
6.1. Bugzilla
6.2. Mantis
6.3. Request Tracker
6.4. Other Bug-tracking Systems
7. Integration Tools
7.1. Glue Installer
7.1.1. CVS
7.1.2. Subversion
7.2. Version Description Document Generator
8. Resources
8.1. Availability
8.2. Installation
8.2.1. System
8.2.2. Documentation
8.2.3. Integration Tools
8.2.4. Integration Daemon
8.3. Upgrading
8.3.1. Issues
8.3.2. Steps
A. FAQ
B. GNU Free Documentation License
0. Preamble
1. Applicability and Definition
2. Verbatim Copying
3. Copying in Quantity
4. Modifications
5. Combining Documents
6. Collections of Documents
7. Aggregation with Independent Works
8. Translation
9. Termination
10. Future Revisions of this License
How to use this License for your documents
Glossary
List of Figures
3-1. System architecture.
4-1. Glue enabling variable.
4-2. Paths to the SCM tool's binaries.
4-3. Regular expressions describing the bug id, the split of bug ids and the log message.
4-4. Example log message accepted.
4-5. Minimum log message size policy.
4-6. Label naming convention policy.
4-7. Presence of bug ids policy.
4-8. SCM to bug-tracking username mapping based on mapping_ldap.
4-9. SCM to bug-tracking username mapping based on mapping_regexes.
4-10. SCM to bug-tracking username mapping based on mapping_values.
4-11. SCM to bug-tracking username mapping based on mapping_case_sensitive.
4-12. Manually defined product name.
4-13. Automatically detected product name.
4-14. Repository structure with product names that can be automatically detected.
4-15. Automatically detected product names from Figure 4-14.
4-16. Valid bug owner policy.
4-17. Open bug state policy.
4-18. Mail on success policy.
4-19. Example of Integrated Log Message.
4-20. Example applying a label in Subversion.
5-1. A complex filename accepted by the CVS glue.
6-1. Bug-tracker installation directory for Bugzilla.
6-2. Bug-tracker installed locally variable.
6-3. Database vendor variable.
6-4. Bug-tracker installation directory for Request Tracker.
7-1. Glue Installation in a Subversion repository under UNIX.
7-2. Glue Installation in a CVSNT repository under Windows.
7-3. Example invalid Name/Root for CVSNT.
7-4. Example valid Name/Root for CVSNT.
7-5. CVSNT warning when Name is set to Root.
7-6. Defining the Subversion labeling directories.
7-7. Defining the Subversion main trunk directories.
7-8. Generating a Version Description Document.
8-1. Developer access to project's CVS repository.
8-2. Installation of the system from source.
8-3. Integration daemon start.
8-4. Mail::Sendmail, XML::Simple installation.
8-5. DBI installation.
8-6. DBD::mysql installation.