Git Workflow
Repository
The Chamilo source code is hosted on GitHub: github.com/chamilo/chamilo-lms
Branching
master— Main development branchFeature branches are created from
masterfor new developmentRelease branches are created for stable releases
Contributing a Change
Fork the repository on GitHub
Clone your fork locally
Create a branch for your change:
git checkout -b feature/my-featureMake your changes following the coding conventions
Commit with clear, descriptive commit messages
Push to your fork:
git push origin feature/my-featureCreate a pull request against the
masterbranch
Commit Messages
Write clear commit messages that explain what and why:
Tool prefix convention
The subject line is prefixed with the tool or area that the change touches, followed by a colon. We use a short shared terminology so that the changelog and git log --oneline can be skimmed by tool. The prefix is always the singular form of the tool's canonical name.
Format: <Prefix>: <Imperative summary in the present tense>
Examples:
If a change spans several tools, pick the one most affected; truly cross-cutting changes that only touch code structure (no end-user tool) go under Internal. Documentation-only changes (this site, the changelog, inline docblocks meant purely as reference) go under Documentation.
Allowed prefixes
Admin
Announcement
Attendance
Authentication
Blog
Calendar
Not "Agenda"
Career
Catalogue
Courses and sessions catalogue, including "hot courses" on the homepage
Chat
CI
Continuous Integration, automated tests, etc.
Course description
Course Progress
Not "Thematic advance"
Course settings
Cron
Dashboard
Display
Document
Documentation
Anything related exclusively to documenting Chamilo or the code, the changelog, etc.
Dropbox
Exercise
Not "Quiz"
Extra Fields
Forum
Glossary
Gradebook
Includes Certificates
Group
Includes course groups, global groups, and classes
Help
Hook
For the internal hook mechanism
Install
Includes upgrade stuff
Internal
For changes and fixes that mostly affect code itself or are very global by nature
Language
Link
Learnpath
For LP / Learning Paths
Maintenance
The course maintenance tool: course copies, backup, restore, etc.
Message
Notebook
Optimization
Portfolio
Privacy
Script
For what lives in tests/scripts/
Search
Full-text search
Security
Session
Skill
Social
Social network
SSO
Single Sign-On methods
Survey
System
Things that have mostly to do with hosting and fine-tuning at server level
Template
Ticket
Tracking
User
Webservice
Wiki
Work
WYSIWYG
XAPI
Code Review
Pull requests are reviewed by the maintainer team. Be prepared to:
Address feedback and make revisions
Keep your branch up to date with
masterEnsure tests pass
Reporting Issues
Report bugs and feature requests on the GitHub issue tracker.
Last updated
Was this helpful?