← Back to team overview

ubuntu-phone team mailing list archive

Re: Developers: changelog quality

 

On Thu, Jun 5, 2014 at 7:34 AM, Rodney Dawes <rodney.dawes@xxxxxxxxxxxxx> wrote:
> Can we fix the CI train so that it doesn't reformat multi-line commit
> messages in the MP into a single very long line of very hard to read
> text?

You can accomplish this today by just writing your own
debian/changelog exactly as you want it. If your MP touches
debian/changelog then CItrain will preserve whatever changes you made.

Currently, there is a pretty big gap between the expectations of the
developers of citrain and the users.

> Also, how does one get reasonable changelog entries that follow the
> Debian style? It seems with CI train, we don't get very nice
> debian/changelog entries. For example, for a manual upload to bump the
> Standards-version, a typical entry would be like this:
>
>   * debian/control:
>     - Update standards version to 3.9.5.
>
> But with Ci train, depending on what is put in the commit message field
> of the MP, we might get something like this:
>
>   * - Update standards version to 3.9.5.

This is caused by putting a bullet point in the "Commit Message" field
on the Launchpad merge proposal page. (citrain adds a bullet point for
you so you then get two of them).

> Or if there are other changes:
>
>   * - Update standards version to 3.9.5. - Add dependency on
> foo-bar-dev.

This is caused by pre-merging your branches before building them in
the silo, and then trying to cram a long list of changes into the
commit message MP field.

CItrain was built on the expectation that a silo would contain lots of
small, indepdent feature branches, and each one would have a short
commit message just saying "Foo." and "Bar." (eg, one-line messages
containing no bullets at all). Then citrain takes all the independent
changelog messages and whips up a nicely formatted changelog for you.

But, for whatever reason, certain groups decided that this approach
wasn't working for them (and that's fine), so instead they pre-merge
their small independent feature MPs into enormous staging MPs, and
then try to cram a huge list into the commit message field, and
citrain doesn't expect to find a pre-formatted list there, so it tries
to reflow the text into a single bullet point and the result is that a
nicely formatted changelog like this:

http://bazaar.launchpad.net/~mir-team/unity-mir/trunk/revision/222

Turns into a debian/changelog that looks like this:

https://launchpad.net/ubuntu/+source/unity-mir/0.4+14.10.20140520-0ubuntu1


So if you're going to do that kind of thing, eg combine your branches
into one mega-branch, then just create your own debian/changelog file
anyway and you'll end up with the results you expect.

As it is now, citrain simply has no way to know whether the branch
it's looking at is a topic branch or a megabranch, so there's no good
way to give the expected results.

> It would be nice if we could get changelog entries that more closely
> match the classic manual upload changelog entries, for the automated
> builds.

Just make it yourself, results will be exactly as you want them.


References