[Development] [FYI] new git-gpush features, a.k.a. the smart way of pushing to gerrit

Jędrzej Nowacki jedrzej.nowacki at digia.com
Fri Oct 24 12:38:29 CEST 2014

On Friday 24 of October 2014 11:37:29 Oswald Buddenhagen wrote:
> On Fri, Oct 24, 2014 at 10:26:20AM +0200, Jędrzej Nowacki wrote:
> > On Thursday 23 of October 2014 19:03:32 Oswald Buddenhagen wrote:
> > > just to be clear, everybody is expected to use these scripts after they
> > > leave the beta phase.
> > > this will be technically enforced at some point.
> >  
> >  Now, you got my attention. To be honest I'm a bit surprised. Personally I
> > 
> > didn't have a need for any additional script while working with
> > gerrit.
> > 
> > What is rationale for the "technical enforcement"?
> years of preaching "don't rebase unnecessarily" and "don't create
> spurious dependencies" being mostly ineffective. "i pushed an update to
> your change, take care not to overwrite it accidentally" being futile on
> a regular basis. people demanding ridiculously short review cycles,
> because waiting for a review "holds them up for 'process' reasons". etc.
> iow, the usual results of inattentivenes, indifference (unless one is
> the reviewer affected by it, of course), impatience, and sheer laziness.
> and sometimes even genuine mistakes.
> these scripts give you a much more transparent "gerrit experience".
> you can continue your work without regard for the fact that often
> you need to push amended changes, and doing so thoughtlessly creates
> work for *other* people.
> even if you are a paragon of virtue and painstakingly take care to not
> annoy your reviewers with needless noise, you'll find that these scripts
> make this just *so much easier/faster*.
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development


I admire that you want to improve everyones working process, but I think you 
took the wrong way. You are fixing the problem on odd level, I strongly believe 
that you should fix Gerrit, enforcing a tool on everyone is at the best far 
from ideal.

"don't rebase unnecessarily" -> For us, Gerrit is always cherry-picking, which 
means a user do not really control final parent of a change. Therefore in 
theory rebase should not be a problem. Sadly It is because of two things:
1. It crates new patchset, which sends notification and reset score
2. It breaks web diff.
Both should be fixable on the Gerrit level

"don't create spurious dependencies" -> I didn't even know that it is a 
problem. Especially that in most cases a change is staged by its author, which 
is supposed to know the real dependency. Any external tool, like for example 
qdoc bot, has to take the dependency into account anyway, so there is no 
additional work to do. 

"i pushed an update to your change, take care not to overwrite it 
accidentally" -> Do not do it, unless you explicitly arranged with change 
owner. Some people get angry about it. I can understand that, because it is 
not immediately obvious what kind of changes you did. Moreover maybe they 
already scripted the Gerrit access, in such case your modification would be 

In my opinion, enforcing a custom tool is wrong. It is already quite difficult 
to contribute to Qt for newcomers. Putting a new, obligatory tool on top, it 
is not making it easier. Remember that the tool, as specific to one project, 
will be well hidden in google search results (btw. there is already a git 
gpush command out there...). So it would be more difficult to get tutorials or 
help in case of problems. Moreover some some people are already familiar with 
gerrit and git.


More information about the Development mailing list