Project:Reviewers/Common issues

This page lists the most common issues that were found in the late commits.

Mixing multiple changes into one commit
Many developers are still doing multiple semi-relevant changes in a single commit. This should generally be avoided to allow easy reverts.

Bad example:
 * 1) X commits app-foo/bar: version bump, remove old and then goes away,
 * 2) QA checks indicate that multiple stable packages required removed old version of app-foo/bar, and are broken now,
 * 3) developers have to manually choose an appropriate version and re-add it,
 * 4) X may have to remove the re-added version and re-add another one.

Good example:
 * 1) X commits app-foo/bar: version bump,
 * 2) X commits app-foo/bar: remove old,
 * 3) QA checks indicated that multiple stable packages are broken,
 * 4) developers quickly revert the second commit and restore integrity,
 * 5) X re-commits the removal, correcting it as necessary.

Generic suggestions when to split and when not to:
 * always remove old versions separately.
 * If performing ebuild changes that require a revbump and removing the pre-revbump version, both should be done in a single commit. Most importantly, this lets git detect move easily, and show a nice diff.
 * If a package has a live ebuild, you can split a version bump into a series of commits applying different changes to the live ebuild, and they a final version bump commit that copies the live ebuild into release.