|Re: [mdt-ocl.dev] Playing with gerrit|
Hi The earlier discussion was leaving me a bit discouraged, but.. On 18/07/2013 12:23, Laurent Goubet wrote:
For big features, we still develop on branches, but we try never to push them on the eclipse repository. Not only are branches dangerous (you have to remember never to rebase a branch that has been pushed to a remote repository), but reviewing a long stream of commits seems useless : what we wish to review is the end result (tip of the dev branch), and how it changes from the existing state (master at the time of review, not at the branching time). Reviewing such branches is tedious and error-prone. Plus, IMHO, merging makes for a very messy and illegible history.I very much agree. If you look at the OCL history, I don't think you will find a non-fast forward merge that I have done in the last year. I always rebase onto master if I can, but too often cherry pick one by one. The many branches on OCL are actually far more controlled than you might think. In the long term there is just the master and maintenance branches, with some old side branches for attempted improvemnts that have yet to be completed/archived. In the short term there are sometimes multiple improvments underway but they get linearised before I push to master.
For a single change I certainly prefer to compare the start/finish; I don't have time to study the mistakes that were made along the way. Unfortunately Adolfo's second try at a review request failed to squash correctly, so I'm a bit worried that an intelligent user is making such a mess of a trivial change. I'm not impressed by the web interface to Gerrit and apparently there is no working EGIT integration, so I had to change to Eclipse, navigate to the file to verify that the Gerrit display was wrong.When we think that the new feature is ready, we prepare it for review by squashing the commits into a single one with a proper commit message, which we push for review. What you see in the review I've linked here (https://git.eclipse.org/r/#/c/13903/) is the result of such a squash.
It's 'just' a matter of better discipline to try to avoid two improvements getting tangled, which is very difficult unless you have a very fast review response, and that is counterproductive because often I like an improvement to have a little time to settle since it was often triggered by another problem, and may deserve further work.
Regards Ed Willink
Back to the top