A couple quick thoughts - I went down the thought process of reviewers should be active and familiar with the area, but found it difficult to put names to a given submodel. Maybe leave it as a general 'rule' without putting names to it?
- The editor commits some updateSomeone editing a given submodel commits an update to gerrit.
- Only the current model editor should be committing updates unless permission is granted by the current editor for someone else to temporarily be the editor to perform some update.
- A reasonable message is included in the commit, explaining what was updated.
- Given there is only a few characters allowed in the first line of commit, the second line of text should probably be used.
- Generally, a separate commit should be performed for each submodel. An exception to this would be if the multiple models relate as part of some effort (some cross-model contribution).
- IISOMI modeling guidelines must be followed, and reviews must assure that the guidelines are being adhered to before discussion occurs in some working team
- .
- Descriptions and stereotypes should be appropriately applied. The committer should assign assigns reviewersat least one reviewer should be assigned (two or
- At least two reviewers, but more is fine
- The reviewer performing the +1 must be familiar with the area.
- If a second reviewer is not assigned by the committer, the reviewer will add a second reviewer.
- Per the process below, one reviewer will presumably perform a +1, the other a +2 and merge. The committer can
- . Available reviewers are Hui Deng , Xu Yang , guochuyi Kevin Scaggs .
Note: Only one +1 is required, regardless of the number of reviewers assigned - The committer must also supply a gendoc output of the submodel (or the relevant portion of the submodel), supplying it to
- the reviewers to facilitate easier approval.
- Reviewers
- The committer cannot review, approve, or merge their own contribution.
- Reviewers should not work for the same company as the committer (at least not the reviewer performing the +1)
- Reviewers should be familiar with the subject area of the contribution if possible. This suggests they participate on the weekly calls related to the contribution. It is noted that there may be exceptions to this (work on party, business interaction, etc. may be "new" to all.
Approvals - Generally, commits to gerrit are a "work in progress" given commits are encouraged on a weekly basis. We want to turn these around quickly to facilitate further development (commit on Friday, approved and merged for recloning and further work the following Monday).
- The first reviewer should only do a +1 (or -1).
- In order to perform the review, the reviewer has either downloaded the Papyrus model files, loaded them into Papyrus and reviewed, or reviewed the output of the model (WIKI, gendoc, etc), or in some other way is familiar with the commit.
- The second reviewer will then
- perform the +2 and merge. This reviewer will either 'trust' the review of the first reviewer and/or perform a review themselves.
- reject the contribution (-1)
- Provide a +1 and assign a third reviewer if one is not already assigned. This is presumably for situations where the committer is not comfortable providing the +2 and merge.
- If multiple reviewers are assigned, all are not required to review to do the merge, just the first two. If an additional reviewer examines the commit at a later time and a major concern is raised, the commit can be abandoned
-
- Gendoc output to be placed in Model tools \ Papyrus \ Gendoc Files Related to Gerrit Commits
- Providing such output will allow for quick reviews, and not require the reviewers to attempt to download the committed files into a papyrus environment for review.
- It is assumed that the gendoc output reflects the model / model fragment being updated.
- Reviewers
- Reviews are done with a 'first come, first serve" approach with a couple of exceptions
- The +1 reviewer cannot be from the same company as the editor performing the commit.
- If the editor performing the commit is not the regular submodel editor, the regular editor should perform the +2, verify, and merge.
- The first available reviewer examines the request, including the gendoc output (2b above) as appropriate, and performs the +1.
- The second reviewer (whoever next notices the request) is responsible for performing the +2, verify, and merge.
- Keep in mind that commits are part of a "work in progress", not necessarily a finished work.
- Reviews should be completed quickly to facilitate further development (suggest 24 hours or less).
- For contributions of new material not yet socialized and/or not fully developed, a fairly 'relaxed' review with perhaps some suggestions is very reasonable.
- If a model conflict occurs, the submodel editor decides how to resolve.
Note: In the past, Deng Hui has carried the burden of merging all commits. This proposal will relieve him of that burden - any committer can merge given the guidelines abovethis burden.