Skip to content

Git: Commit Messages

Ricardo Martins edited this page Feb 10, 2014 · 18 revisions

Document every commit meaningfully. Commit messages shall have the generic form [MODULE]: [MESSAGE]., where [MESSAGE] is one or more full English sentences describing what was changed, added or removed.

CMake Files

  • Changes to the file CMakeLists.txt or files residing in the cmake folder shall have a commit message of the form CMake: [MESSAGE]..

    Examples:

    • CMake: Added OpenCV building option.
    • CMake: Added option to build using the Blueview SDK.

DUNE Core

  • Changes to files and folders residing in the src/DUNE folder shall have a commit message of the form [SUBMODULE]: [MESSAGE]., where [SUBMODULE] is the path to the submodule in question, with a maximum depth of two folders. The message shall describe which part of the submodule was changed.

    Examples:

    • DUNE: Added new NotImplemented exception.
    • DUNE/Network: Use 'this' object instead of native handle in TCPSocket class.
    • DUNE/Math: Removed seldom used Vector class.

Tasks

  • Changes to tasks, should have a commit per task, and the commit messages shall be of the form [TASK]: [MESSAGE]., where [TASK] is the full path to the task's folder.

    Examples:

    • Sensors/MiniSVS: Added device driver for Valeport's miniSVS Sound Velocity Sensors.
    • Power/PCTLv2: Ignore broadcast PowerChannelControl to main channel.

Programs and Scripts

  • Commit messages for files under the 'programs' folder, shall be of the form Programs: [PROGRAM]: [MESSAGE]., where [PROGRAM] is the name of the program in question.

    Examples:

    • Programs: dune-sendmsg: Added default units option to the DesiredZ message.
    • Programs: dune-push-github.py: Removed obsolete script.

External and Vendor Files

  • Commit messages for files under the 'vendor' folder shall be of the form Vendor: [PRODUCT]: [MESSAGE]., where [PRODUCT] is the canonical name of the library or project in question.

    Examples:

    • Vendor: LZ4: Added library.
    • Vendor: Pthreads-win32: Updated to version 2.9.1.

Configurations

  • Commit messages for systems' configurations shall be of the form Config: [CONFIG]: [MESSAGE]., where [CONFIG] is the path to the configuration file inside the etc/ folder, without the .ini extension.

    Examples:

    • Conf: lauv-noptilus-2: Using more explicit power channel name.
    • Conf: development/ardupilot-testbed: Moving development systems to appropriate directory.