Jump to content

Commit Digest/Guidelines

From KDE Community Wiki
Revision as of 17:05, 30 December 2010 by AlexanderVanLoon (talk | contribs) (add to introductory text and specific guidelines)

Goal of this page

Composing better inclusion guidelines for reviewing commits for the Commit Digest. The source of the original guidelines can be found here.

Original Guidelines

There is no definitive set of rules when to include a commit message and when not. However, the following gives some guidelines.

Hint: you can always investigate a commit further by clicking on the commit id. This gives you helpful details about which files were modified and allows for a line by line comparison of the source code.

In general add messages to the Commit Digest if they:

  1. are interesting (in general these messages have a longer text describing them),
  2. fix a bug, are an optimization or add a feature (for the user); this is in particular the case when there is a "broken box" symbol in the lower right corner of the message,
  3. new or significantly improved icons.

Generally do not include messages if they:

  1. are back-ports, i.e., the message basically appears two times (then do not include the backported version),
  2. are refactorings, internal clean-ups, additions to the API (unless they seem to be interesting, e.g., a whole new API for Nepomuk),
  3. are about CMake or desktop files, documentation changes (w/o bug number)
  4. are about unit tests ( http://en.wikipedia.org/wiki/Unit_testing )

New Guidelines

On average about 5% of all commits in a week will be included in the commit digest. This means that those who review the commits should choose carefully which commits should be included. To get a feeling for which messages should or should not be included, it could be useful to read existing Commit Digest to see what kind of commits they contain. There is no definitive set of rules when to include a commit message and when not. However, the following gives some guidelines.

Hint: you can always investigate a commit further by clicking on the commit id. This gives you helpful details about which files were modified and allows for a line by line comparison of the source code.

In general add messages to the Commit Digest if they:

  1. are interesting (in general these messages have a longer text describing them),
  2. fix a bug, are an optimization or add a feature (for the user); this is in particular the case when there is a "broken box" symbol in the lower right corner of the message,
  3. new or significantly improved icons.

Generally do not include messages if they:

  1. are back-ports, i.e., the message basically appears two times (then do not include the backported version),
  2. are refactorings, internal clean-ups, additions to the API (unless they seem to be interesting, e.g., a whole new API for Nepomuk),
  3. are about CMake or desktop files, documentation changes (without bug number),
  4. are about unit tests ( http://en.wikipedia.org/wiki/Unit_testing ),
  5. are fixes or additions to a localization (without bug number)
  6. introduce trivial changes such as the resizing of a line-edit or changes in button placement.

Specific guidelines:

  1. Most of the commits to the directory http://websvn.kde.org/trunk/kdesupport/emerge/ are related to build fixes for KDE on Windows. In general they should not be included unless they are to be judged important based on their description.
  2. Often you can see commits related to accounts of developers taking place in /trunk/kde-common/accounts, these commits should be excluded.
  3. If work on new icons is being done there can be a high frequency of commits related to them. Only include the most relevant commits stating for example that all 32x32 icons are done or if the last of the icons are committed. A maximum of three of those repeated messages are desirable for a Commit Digest. Because it can be difficult to see in advance if an icon related commit will be the last one for a specific week, the best compromise is to select the last commit in a series of commits related to icons.
  4. What do we with reverts of commits?