Linux Tools Project/Git
|Mailing List • Forums • IRC • mattermost|
|Open • Help Wanted • Bug Day|
Git for Linux Tools
In late February 2011, we moved from SVN to Git. Our SVN repositories were joined into one Git repository (and one for eclipse-build).
- http://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.git/ web
- git://git.eclipse.org/gitroot/linuxtools/org.eclipse.linuxtools.git (anonymous)
- http://git.eclipse.org/gitroot/linuxtools/org.eclipse.linuxtools.git (anonymous)
- ssh://<committerId>@git.eclipse.org/gitroot/linuxtools/org.eclipse.linuxtools.git (committers)
- Learn about Git: Git, Pro Git, The Git Parable, Git Immersion
- Read about Git at Eclipse
- Note the process by which things must be committed at eclipse.org
From this guide which is no longer accessible as of 2011-08-19:
- make the first line a concise summary of the changes introduced by the commit, <= 50 characters in length
- if there are any technical details that cannot fit in the summary, put them in the body instead.
- wrap lines in the body to <= 72 characters
- write entries in the present tense (just like with ChangeLog entries): "Fix bug #111", not
"Fixed bug #111"
Taken directly from http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html, the format of an ideal commit message:
Capitalized, short (50 chars or less) summary
More detailed explanatory text, if necessary. Wrap it to about 72 characters or so. In some contexts, the first line is treated as the subject of an email and the rest of the text as the body. The blank line separating the summary from the body is critical (unless you omit the body entirely); tools like rebase can get confused if you run the two together.
Write your commit message in the present tense: "Fix bug" and not "Fixed bug." This convention matches up with commit messages generated by commands like git merge and git revert.
Further paragraphs come after blank lines.
- Bullet points are okay, too
- Typically a hyphen or asterisk is used for the bullet, preceded by a
single space, with blank lines in between, but conventions vary here
- Use a hanging indent
Please ensure that you fetch and rebase rather than merge. When new branches are created, please use the "rebase" pull strategy. This is documented in the EGit User Guide: EGit/User_Guide#Branch_Creation_Dialog and is performed on the commandline like so:
git config branch.<branchname>.rebase true
- Branches created for bug fixes
- prefix the name with the bug # and a 'very' short description (ex. 307258-automake-tabs-to-spaces)
- Release branches
- Branches specific to a sub-project
- namespaced (ex. valgrind/remote, lttng/super-awesome-feature)
- Tag each release with vMajor.Minor.Micro
- See Semantic Versioning for more details