[Qt-creator] Preparing to contribute Boost.Build Plugin to Qt Creator

André Hartmann andre.hartmann at iseg-hv.de
Wed Apr 15 08:46:53 CEST 2015


Hi Mateusz,

First thing: I'm absolutely no Git nor Gerrit expert, they might correct 
me when I'm wrong.

 > For example, let's assume we start working on the contribution as 
follows:
 > 1. Import current sources of our plugin into wip/boostbuildprojectmanager

To submit this first commit, it would be best all current developers 
give a +1 review to show their acceptance that the code is merged to the 
Qt repositories.

Afterwards, you can pull this branch and start further work.

 > 2. git push gerrit HEAD:refs/wip/boostbuildprojectmanager  (?)

This would be done after you changed a bit, i.e. created a patch.

Imho the command would be something like:

git push gerrit HEAD:refs/for/wip/boostbuildprojectmanager

 > 3. Developers A and B pull the changes

Yes, they do to test the new things out.
Then they suggest improvements to the patch, and the original developer 
A or any other pushes a new change set (with step 2). It is important to 
keep the Change-Id line in the commit footer, so Gerrit knows the new 
push belongs to an existing change.

Once this change is ready for submission (approved), it is cherry-picked 
to the wip/boostbuildprojectmanager branch and can be pulled by anyone.

Further development / coding style corrections go on with new Change sets.

Maybe it's best to have a look around at the open changes on Gerrit and 
how other developers interact with each other.

And if you have other questions, feel free to ask :)

Best regards,
André

Am 15.04.2015 um 00:13 schrieb Mateusz Loskot:
> On 19 February 2015 at 09:35, Mateusz Loskot <mateusz at loskot.net> wrote:
>> I've opened GitHub issue [2] devoted to discussion it further
>> and prepare the submission through Gerrit.
>
> Finally, we've decided to work in Gerrit from the start [0], in a new
> long-living branch (we've got wip/boostbuildprojectmanager there).
>
> I've configured my local clones for Gerrit set up according to [1]
> and I've familiarised myself with [2] and [3].
>
> Now, I've got some Gerrit workflow issues I'd like to clarify.
> I'm not the only contributor who is going to work on the contribution
> and there will be numerous iterations of update of our Change in Gerrit.
> The intro [2] says "Each time a Change is updated, it gains a new Patch Set",
> where a new Patch Set contains commits (initial or updated) ready for review.
> There is no way to push updates without creating new Patch sets.
>
> How to arrange iterative intermediate updates, before requesting review?
>
> For example, let's assume we start working on the contribution as follows:
> 1. Import current sources of our plugin into wip/boostbuildprojectmanager
> 2. git push gerrit HEAD:refs/wip/boostbuildprojectmanager  (?)
> 3. Developers A and B pull the changes
> 4. Developer A commits some coding style corrections
> 4.1 git push gerrit HEAD:refs/wip/boostbuildprojectmanager  (?)
> ...nothing ready for review yet...
> 5. Developer B updates his clone, then commits some more style corrections
> 5.1 git push gerrit HEAD:refs/wip/boostbuildprojectmanager  (?)
> ... step 4 and 5 repeat and interleave...
> 6. wip/boostbuildprojectmanager  builds, runs and is ready for first review
>
> Wouldn't the steps in 4. and 5. create noise numerous half-ready Patch Sets?
> In order to avoid that, shall we move the early collaboration to
> 'private' clone, e.g. on GitHub
> and once the contribution is ready for first review, push to Gerrit?
> Then, if more updates are requested, prepare them on GitHub, once
> ready, push to Gerrit
> (as new Patch Set)?
>
> The [3] says: "Note that pushing to your private clone does not count
> as publishing and
> is a perfectly valid way to solicit an early review", so I guess that
> use of GitHub for
> intermediate changes is the way to go, isn't it?
>
> [0] http://lists.qt-project.org/pipermail/qt-creator/2015-April/004580.html
> [1] https://wiki.qt.io/Setting_up_Gerrit
> [2] https://wiki.qt.io/Gerrit_Introduction
> [3] https://wiki.qt.io/Commit_Policy
>
> Best regards,
>


-- 
Best regards / Mit freundlichen Grüßen
André Hartmann, Dipl.-Ing. (FH)
Software Project Manager

iseg Spezialelektronik GmbH         |  phone: ++49 (0)351 26996-43
Bautzner Landstr. 23                |  fax:   ++49 (0)351 26996-21
D-01454 Radeberg / Rossendorf       |  web:   www.iseg-hv.com

Geschäftsführer / Managing director: Dr. F. Gleisberg, Dr. J. Pöthig
Amtsgericht / Lower district court: Dresden HRB 16250
Ust.-Id.-Nr. / VAT-ID: DE812508942

Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte
Informationen. Wenn Sie nicht der richtige Adressat sind oder
diese E-Mail irrtümlich erhalten haben, informieren Sie bitte
sofort den Absender und vernichten Sie diese Mail.
Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser
Mail ist nicht gestattet.

This e-mail may contain confidential and/or privileged information.
If you are not the intended recipient (or have received this e-mail
in error) please notify the sender immediately and delete this e-mail.
Any unauthorized copying, disclosure or distribution of the material
in this e-mail is strictly forbidden.



More information about the Qt-creator mailing list