wiki:Developer/Git

RTEMS GIT Repository

RTEMS project's revision control tool is Git and the git repositories can be located at http://git.rtems.org/.

Why git?

Git is a distributed revision control system with an emphasis on speed and data safety. With git revision control system each user has a full-featured copy of the main repository. Each revision control operation is done in the local repository and can be later shared using patches or by a direct push to the main repository.

RTEMS Git Repositories

The RTEMS Git Repository contains the publicly maintained RTEMS code and personal developer repos at http://git.rtems.org/

Bootstrapping RTEMS after a Git clone or pull

RTEMS uses Automake for Makefile generation (uses Makefile.am and preinstall.am files) and Autoconf for configuration (uses configure.ac files). Both tools generate files which are not contained in the Git repository. You need to generate them after a clone or pull. This file generation is performed by the bootstrap script in the top level RTEMS directory.

Imported from old wiki.

RTEMS Git Server

RTEMS has a dedicated Git server. The machine runs cgit to provide a web interface to Git, the Git protocol for direct read-only access and ssh accounts for those with commit access. The configuration is standard with two hooks currently used to send commit details to the rtems-vc@… mailing list and to synchronize with github at https://github.com/RTEMS.

Git Access for Users

The Git Users page has public read-only access instructions, some useful git commands, and directions on how to submit patches to RTEMS.

Git Access for Committers

The Git Committers page has policies and procedures for committers to make changes to the RTEMS repositories.

Git Commits

  • When committing a change the first line is a summary. Please make it short while hinting at the nature of the change. You can discuses the change if you wish in a ticket that has a PR number which can be referenced in the commit message. After the first line, leave an empty line and add whatever required details you feel are needed.
  • Format the commit message so it is readable and clear. If you have specific points related to the change make them with separate paragraphs and if you wish you can optionally uses a - marker with suitable indents and alignment to aid readability.
  • Limit the line length to less than 80 characters
  • Please use a real name with a valid email address. Please do not use pseudonyms or provide anonymous contributions.
  • Please do not use terms such as "Fix bug" or "With this change it works". If you fix a bug please state the nature of the bug and why this change fixes it. If a change makes something work then detail the reason. You do not need to explain the change line by line as the commits diff will.
  • If you change the formatting of source code in a repo please make that a separate patch and use "Formatting changes only" on the first line. Please indicate the reason or process. For example to "Conforming to code standing", "Reverting to upstream format", "Result of automatic formatting".

An example commit message:

test/change: Test message on formatting of commits

- Shows a simple single first line

- Has an empty second line

- Shows the specifics of adding separate points in the commit message as
  separate paragraphs. It also shows a `-` separator and multilines
  that are less than the 80 character width

- Show a ticket update and close

Updates #9876
Closes #8765

Learn more about Git

Links to sites with good resources on Git information.

Last modified on 09/25/22 at 23:16:44 Last modified on 09/25/22 23:16:44

Attachments (1)

Download all attachments as: .zip