#780987 devscripts: [debchange] new option: --no-append to override release heuristics when using --local

#780987#5
Date:
2015-03-22 20:31:24 UTC
From:
To:
Dear Devscripts Maintainers,

The attached patch adds a new '--no-append' option to debchange (a.k.a. dch)
that allows the user to override the release heuristics guessing
(DEBCHANGE_RELEASE_HEURISTIC and friends) that 'debchange' performs when
deciding whether to append a new changelog message to the current changelog
entry, or to create a new changelog entry section. It is mainly useful in
combination with the existing '--local' option, as explained below.

Usually the release heuristics do what the user wants, insofar as changes are
collected in a changelog entry leading up to a release of the package, and
once released, further changes will be added to a new changelog entry leading
up to the next release of the package.

There are circumstances, however, under which I wish to produce a modified
version of a given package for use on the local machine only, so the package
will never be "released" or be uploaded for inclusion in the Debian
distribution (or even to a local package repository). In such a case, I
sometimes want to accumulate multiple versions of the package over time (where
each changelog entry section uses a locally augmented version number (updated
using the --local option), each of which specifies UNRELEASED in the
distribution field. By default, the release heuristics guessing will always[0]
add new change detail messages to the current or topmost changelog entry whose
distribution field is UNRELEASED; the '--no-append' option allows the user to
override this behavior where desired to force 'debchange' to create a new
changelog entry section.

For example, let's say I have a locally modified 'deoobleckify-1.2.5-4'
package that was produced using the dch '--local' option to append my initials
(ads) as the version suffix. The top-most changelog entry for that version
looks like this:
----------------------------------------8<----------------------------------------
    deoobleckify (1.2.5-4ads2) UNRELEASED; urgency=low

      * Woke royal bell ringer
      * Woke royal trumpeter
----------------------------------------8<---------------------------------------- deoobleckify (1.2.5-4ads3) UNRELEASED; urgency=low * Warned captain of the guards
----------------------------------------8<---------------------------------------- deoobleckify (1.2.5-4ads3) UNRELEASED; urgency=low * Woke royal bell ringer * Woke royal trumpeter * Warned captain of the guards
--- /etc/devscripts.conf ---
--- ~/.devscripts --- Not present