[Development] abandoning stale changes on gerrit

Knoll Lars Lars.Knoll at digia.com
Fri Feb 1 10:58:41 CET 2013


On Feb 1, 2013, at 1:37 AM, Alan Alpert <416365416c at gmail.com> wrote:

> On Tue, Jan 29, 2013 at 10:43 AM, Rutledge Shawn
> <Shawn.Rutledge at digia.com> wrote:
>> 
>> On 29 Jan 2013, at 1:41 PM, Sorvig Morten wrote:
>> 
>>> 
>>> On Jan 29, 2013, at 1:05 PM, Oswald Buddenhagen <oswald.buddenhagen at digia.com> wrote:
>>> 
>>>> moin *,
>>>> 
>>>> 5.0 is out and the 5.1 feature freeze isn't that far off any more.
>>>> seems like the best time for some serious house cleaning.
>>>> therefore i'd like to urge everyone to give their pending changes which
>>>> haven't seen activity for a long time a honest look.
>>>> please explicitly mark the ones you still want to work on by adding a
>>>> comment. everything which has no indication of (planned) activity in a
>>>> few weeks will be abandoned by administrative action.
>>>> if you are an ex-troll/-nokian, please also check the dashboard of your
>>>> alter ego.
>>>> if you are a maintainer, give identified drive-by contributors a ping.
>>>> i'd also like to encourage everyone to adopt orphaned changes they have
>>>> an interest in.
>>> 
>>> 
>>> Please don't abandon my changes, I prefer managing the list myself.
>> 
>> I agree; I will not like being disrupted this way.
> 
> 
> It would have been nice to check for consensus first (a two year old
> mail thread isn't exactly the mandate of heaven), before diving into
> an aggressive implementation.

I have to agree with this one. I didn't remember that thread anymore neither. In addition, most people on this list have never been subscribed to the opengov mailing list. This IMO means that for all practical purposes there hasn't been a decision how to handle these stale changes.


This discussion is in many ways similar to discussions on how to handle bug reports. I had many discussions over the years about whether to automatically close old bug reports (say older than a year or two) or not. So far there have always been people arguing against it because it might destroy information and the report might still be valid. 

But let's face it, in most cases it isn't. Many of them have been fixed already, are invalid because something else changed, or only apply to a corner case making it simply not worth fixing. But the existence of these old open bugs clutters everybody's view on the bugs that are really important.

So the argument for closing old and stale bugs was simple housecleaning and the fact that the few ones that are actually still interesting will resurface anyway.


Things are slightly different with stale changes, as they have involved work by someone in the community, and throwing away other people's work is something most people react pretty allergic to. And that's what Abandoned means to most people currently, esp. as most changes with that status are actually really abandoned because someone found a better solution or do not apply anymore.

Unfortunately unsubscribing doesn't work very well neither, as the rating I gave that change is only visible in the comments field once I unsubscribe from the change and not in the reviewer list.

So I am with Peter, that a 'Stale' state would be nice/best, but we don't currently have anybody who could add this to gerrit.

> In case we don't reach some kind of
> consensus (or stern mail from Lars, exactly the mandate of heaven ;)
> ),  an easy way to avoid Oswald's reign of destruction is just to
> automatically add a "keepalive" comment to all changes you're involved
> in. It's "easy" using the command line interface, you can do it in a
> single (pipe)line:
> 
> gerrit-cmd query "$1" --current-patch-set | grep "revision" | cut -d:
> -f2 | xargs gerrit-cmd review --message "$2"
> 
> Where gerrit-cmd is a script I use for the cmd line interface (just
> "ssh -p 443 aalpert-rim at ssh.qt-project.org gerrit $@ ", a convenience
> for the repeated part), $1 is a query (for all open changes on your
> dashboard, try "status:open (owner:self OR reviewer:self)" except that
> we don't seem to have self in our gerrit... you'll have to use your
> username) and $2 is a message ( like '"keepalive"' - note that strings
> need to be double wrapped "'like this'" to get through the shell on
> both ends). Obvious warning, be careful using the gerrit command line
> interface because you will be held just as accountable for your
> actions as if you did them by hand (which is why my instructions
> require a little assembly, to force a little thought ;) ).

That doesn't sound like a good solution.
> 
> That said, I'd prefer it for us to reach a consensus that the
> abandoned state should mean abandoned (adj 2 of
> http://en.wiktionary.org/wiki/abandoned) instead of destroyed (past
> participle of verb 1, http://en.wiktionary.org/wiki/destroy). Then
> abandoning stale changes is simply changing the gerrit state to more
> accurately reflect the state of reality. Also we don't have annoying
> "keepalive" comments all over the place (I don't mean to pick on
> Shawn, but even the manual comments this thread has already spawned
> feel like odd clutter, a literal "keepalive" on
> https://codereview.qt-project.org/#change,38313 for example).
> 
> Does anyone have a problem with agreeing to all treat abandoned gerrit
> changes in this fashion? That they are merely 'not worked on', and for
> the why (replaced, wrong, stale, lost contributor, etc.) you need to
> actually look at it? This should also clarify that they should never
> be deleted en masse.

Given the fact that we don't have a 'Stale' status this makes most sense IMO. 

But if we automate this the timeout period needs to be long enough. 2-3 months is certainly too short, we need to be conservative with these kinds of automatisms. A year sounds more reasonable. And if we do it, I'd like to have a similar policy for bugs on Jira.

Cheers,
Lars




More information about the Development mailing list