[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: changelogs, UNRELEASED, etc



-=| Joey Hess, 12.08.2007 06:43 |=-
> A small fraction of the pkg-perl packages had dummy changelog entries:
> 
> libfoo-perl (xx.yy) UNRELEASED; urgency=low
> 
>   * NOT RELEASED YET
> 
>  -- A. Maintainer <foo@debian.org>  Sat, 11 Aug 2007 23:13:59 -0400
> 
> I've removed these.
> 
> The idea behind this sort of dummy entry seems to be to avoid someone
> accidentially listing changes in the previous, released changelog entry.
> These are currently added by svn-buildpackage --svn-tag, if run without
> --svn-noautodch. Or perhaps by some people manually. But they are not
> needed with the current version of dch, which can automatically add a 
> new UNRELEASED entry for you, if one doesn't already exist. To enable
> that, just do:
> 
> echo "DEBCHANGE_RELEASE_HEURISTIC=changelog" >> ~/.devscripts

Joey, Thank you for taking time to explain all this (and bringing the
repo in shape).

I guess adding "DEBCHANGE_RELEASE_HEURISTIC=changelog" in  ~/.devscripts
and "svn-noautodch" in ~/.svn-buildpackage should now be added to team's
docs? Actually, I did that now. Please give it a look.
(http://pkg-perl.alioth.debian.org/subversion.html)

> By the way, the current "UNRELEASED" thing in changelogs isn't perfect
> since it only says when a package is not yet released, and doesn't tell
> why. Maybe the changes arn't complete yet, or need testing. Or maybe
> it's just not been uploaded yet, and is ready to go. My understanding is
> that in the perl group, if a package is ready for release, one can
> s/UNRELEASED/unstable/, and the package will then show up as needing
> uploading in <http://pkg-perl.alioth.debian.org/qa/versions.html>.
> 
> I think this is a very nice approach, the only problem with it being
> that it doesn't work for other teams that don't have such a nice page!
> :-) I've been trying to figure out for a while a nice way to encode this
> needs-upload state in the changelog, in a way that can be grepped for
> like UNRELEASED can, but I haven't thought up an approach that I like
> yet..

How about a tri-state?

- "UNRELEASED" - being worked on, not uploaded, not for upload yet
- "unstable" - either uploaded or needing upload (versions.html will
show which case we have)
- "needs-upload" - self-explanatory :)

I am not sure if this isn't over-engineering, though. pkg-perl can
already distinguish[1] between "unstable as in uploaded" and "unstable
as in needs-upload" via the versions.html[1]

[1] modulo 6h for the cron to update the page and the time needed for a
package to move from incoming to the archive.

So, at least for pkg-perl, a work-flow like this look fine to me:

1. someone starts hacking, dch "some change" adds "UNRELEASED" tag.
2. hacking is over. "dch -r"
3. RFS; Package appears in versions.html
4. someone reviews it
5a. package gets uploaded
5b. there are notes, more work is needed, therefore:
    "dch -r UNRELASED"; back to 1.

Of cource, that 5b is mostly useful when the review/discussion is on
email. IRC does not need that UNREL-unstable-UNREL-unstable dance.
-- 
dam            JabberID: dam@jabber.minus273.org

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: