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

Proposal: Drop extraneous "New upstream release" in changelogs



Hi all,

I have noticed that there are many instances where someone does an
svn-upgrade, commits the change, but leaves the package there.

Let me explain with an example.

1. Assume there is a package Acme::Package, version 1.0 currently in
the archive.

2. Version 1.1 is released upstream; I perform:

svn-upgrade --uscan
svn commit

No further changes are made.

There is now an entry in the changelog that says:
[ Jonathan Yu ]
* New upstream release

3. No further changes are made to the package for some time (I forgot
about the package, I ran out of time to finish the work, I decided
it's too hard, etc)

4. Version 1.2 is now released upstream

5. Let's take for example, gregoa notices the version is old (PET++),
so he performs the usual:

svn-upgrade --uscan
svn commit

The current practise (though this is just kind of ad-hoc) has been to
update the changelog but be polite and keep the old entry; so the
changelog looks roughly like this:

[ Jonathan Yu ]
* New upstream release 1.1

[ gregor herrmann ]
* New upstream release 1.2

PROBLEM

As I see it, the problem is that I haven't done any amount of real
work. In fact, when gregoa does the upgrade for 1.2, he has to look at
all the changes that have occurred *since the last upload* -- this
means he has to examine the diff between 1.0 and 1.2. Whether or not I
did any actual work, gregor can't trust that I've actually examined
the changes between 1.0 and 1.1, since 1.1 was never uploaded, nor
were any notes left to any useful effect.

Consider this alternative scenario:

1. Version 1.0 in repository

2. Version 1.1 released; we do nothing (maybe we didn't notice, or
maybe the next version came quickly afterward)

3. Version 1.2 released; we do the upgrade:

svn-upgrade --uscan
svn commit

Now the changelog looks like this:

[ Jonathan Yu ]
* New upstream release

There is no mention of the intermediate 1.1 release, since we didn't
upgrade to that, nor did we do any work from our end (examining the
package, etc).

PROPOSAL

Here is what I am proposing:

1. If there are changes in addition to only "New upstream release"
(e.g. this includes if someone examines the package and says, let's
IGNORE-VERSION; or otherwise updates other things corresponding to the
upstream diff, such as updating debian/copyright), then we maintain
the current practise of tracking versions upgraded to:

[ Jonathan Yu ]
* New upstream release
* Update debian/copyright information per upstream

would become:

[ Jonathan Yu ]
* New upstream release 1.1
* Update debian/copyright information per upstream

2. If the only message someone has left was "New upstream release",
then we should remove their clause, assume they made no further
changes and perform everything else as usual.

[ Jonathan Yu ]
* New upstream release

[ gregor herrmann ]
* New upstream release
* Update debian/copyright information per upstream

would become:

[ gregor herrmann ]
* New upstream release
* Update debian/copyright information per upstream

CONCLUSIONS

I think the proposed solution is fairer to people who do all the
actual work of upgrading a package (I don't feel I should deserve any
credit in example 2 for simply doing: svn-upgrade --uscan; svn commit)
-- gregoa is the one that ends up having to examine the whole diff
anyway, as he can't assume that I've inspected anything at all.

Cheers,

Jonathan


Reply to: