Scmbug manual


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 Notification
4.5.2. Bug Resolution
4.5.3. 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.1.3. Git
7.2. Version Description Document Generator
7.3. Merger
7.4. Web Reports
8. Resources
8.1. Availability
8.2. Installation
8.2.1. System
8.2.2. Documentation
8.2.3. Common libraries
8.2.4. Integration Tools
8.2.5. Integration Daemon
8.3. Upgrading
8.3.1. Issues
8.3.2. Steps
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
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 defined product name.
4-18. Repository structure with product names that can be automatically defined.
4-19. Automatically mapped 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 notification policy.
4-24. Regular expressions describing the bug id, the split of bug ids and the resolution status.
4-25. Regular expressions defining a resolution status character conversion.
4-26. Example log message that changes the resolution status of multiple bugs.
4-27. Case sensitive resolution verification variable.
4-28. Valid product name policy in reference to bug resolution.
4-29. Valid bug owner policy in reference to bug resolution.
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.
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. Configuration option that consolidates CVS messages.
7-7. Defining the Subversion labeling directories.
7-8. Defining the Subversion main trunk directories.
7-9. Generating a Version Description Document.
7-10. Merging bug changes in a codebase based on an existing tag.
7-11. 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. XML::Simple installation.
8-8. Apache configuration for Web Reports.
8-9. Mail::Sendmail, XML::Simple installation.
8-10. DBI installation.
8-11. DBD::mysql installation.