Excluding Bad Revisions

Every now and then, we might have a bad revision. One example could be a bad project configuration. To let cross-channel get past that revision, we allow to explicitly exclude revisions from cross-channel creation.

This is an explicit process to ensure that we

  1. find bad revisions by breaking automation instead of silently ignoring them,
  2. have a chance to decide if this is a problem to fix by code or by ignoring.

To add a revision to the exceptions, add it to the skip_revisions set in initial/cli/_config.py. In practice, that means listing all revisions (as byte strings) starting with the breaking changeset, up to the changeset that contains the fix. The fix itself shouldn’t be part of the skipped revisions.