Scmbug manual

RELEASE_0-19-20

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. Integration Of SCM Log Messages
4.3. Integration Of SCM Labeling Operations
4.4. Verification Checks
4.4.1. Enabled Integration
4.4.2. Supported SCM version
4.4.3. Use Of A Log Message Template
4.4.4. Presence Of Distinct Bug Ids
4.4.5. Valid Log Message Size
4.4.6. Convention-based Labeling
4.4.7. Presence Of Bug Ids
4.4.8. Valid SCM To Bug-tracking Username Mapping
4.4.9. Valid Product Name
4.4.10. Valid Bug Owner
4.4.11. Anonymous SCM Username
4.4.12. Open Bug State
4.5. Additional Features
4.5.1. Mail On Success
4.5.2. Autolinkification
5. SCM Frontends
5.1. CVS
5.2. Git
5.3. Subversion
5.4. Other SCM Systems
6. Bug-tracking Backends
6.1. Bugzilla
6.2. Mantis
6.3. Request Tracker
6.4. Test Director
6.5. 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
7.3. Merger
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. Example of Integrated Log Message.
4-2. Example applying a label in Subversion.
4-3. Glue enabling variable.
4-4. Paths to the SCM tool's binaries.
4-5. Regular expressions describing the bug id, the split of bug ids and the log message body.
4-6. Example log message accepted.
4-7. Minimum log message size policy.
4-8. Label naming convention policy.
4-9. Presence of bug ids policy.
4-10. SCM to bug-tracking username mapping based on mapping_ldap.
4-11. SCM to bug-tracking username mapping based on mapping_regexes.
4-12. SCM to bug-tracking username mapping based on mapping_values.
4-13. Disabling SCM to bug-tracking username mappings.
4-14. Disabling case sensitive SCM to bug-tracking username verification.
4-15. Valid product name policy.
4-16. Manually defined product name.
4-17. Automatically detected product name.
4-18. Repository structure with product names that can be automatically detected.
4-19. Automatically detected product names from Figure 4-18.
4-20. Valid bug owner policy.
4-21. Anonymous SCM username policy.
4-22. Open bug state policy.
4-23. Mail on success policy.
5-1. Configuration option that consolidates CVS messages.
5-2. 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.
6-5. Example daemon configuration settings for Test Director.
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.
7-9. Merging bug changes in a codebase based on an existing tag.
7-10. Merging bug changes directly in an existing branch.
8-1. Developer access to project's CVS repository.
8-2. Forcing installation of RPM packages.
8-3. Forcing installation of Debian packages.
8-4. Installation of the system from source.
8-5. Integration daemon start.
8-6. XML::Simple installation.
8-7. Mail::Sendmail, XML::Simple installation.
8-8. DBI installation.
8-9. DBD::mysql installation.