1 | {{{
|
---|
2 | #!html
|
---|
3 | <div class="deprecated">Deprecated Page</div>
|
---|
4 | }}}
|
---|
5 |
|
---|
6 | (Note: This process was created in #4772)
|
---|
7 |
|
---|
8 |
|
---|
9 | Goals:
|
---|
10 |
|
---|
11 | * Foster communication and understanding of OmeroPy gateway API changes
|
---|
12 | * Utilisation of Git functionality to allow for better change review
|
---|
13 | * Keep development velocity high
|
---|
14 |
|
---|
15 | Pre-requisite TODOs:
|
---|
16 |
|
---|
17 | * Creation of OmeroPy gateway API evolution '''REQUIREMENT'''
|
---|
18 | * Creation of STORIES with specific targets (bug fixes, query support, etc.)
|
---|
19 | * python-team@⊠e-mail address
|
---|
20 | * Creation of python-gateway ome.git branch
|
---|
21 | * E-mail notifications to python-team of branch changes
|
---|
22 |
|
---|
23 |
|
---|
24 | Non-code pre-requisites:
|
---|
25 |
|
---|
26 | * 0.1d or 0.25d OME Trac TASK creation linked to a relevant STORY
|
---|
27 | * CC of python-team for your TASK with a brief synopsis of the planned change
|
---|
28 | * Where required and possible (ie. not a trivial change) discussion of your change with at least one other member of python-team before coding.
|
---|
29 |
|
---|
30 | Commit stylistic notes:
|
---|
31 |
|
---|
32 | * NO superfluous whitespace or formatting changes
|
---|
33 | * Variable or method name changes in their own commits
|
---|
34 | * Gateway integration test case(s) covering your change
|
---|
35 | * Eye towards application to multiple branches (4.1, 4.2 and develop)
|
---|
36 | * Concise, documented and controlled size (more commits per merge)
|
---|
37 | * Concise commit messages with ticket linkage. Example:
|
---|
38 |
|
---|
39 | Added getGadget() method to gateway. (See #999)
|
---|
40 |
|
---|
41 | After discussion with Carlos, Will and Ola it was decided that we should
|
---|
42 | add a getGadget() method to the gateway to support the retrieval of gadgets
|
---|
43 | from both OmeroPy and OMERO.web.
|
---|
44 |
|
---|
45 | Commit workflow:
|
---|
46 |
|
---|
47 | ''' 1) Push to python-gateway on ome.git'''
|
---|
48 | [[BR]]
|
---|
49 | ''' 2) Review of any change. Example requirements:'''
|
---|
50 |
|
---|
51 | The review of any change will be done by at least one person, on python-team, involved in the discussed changes, who is not the committer, and at least one person, again on python-team, who was not. If Will and Ola, for example, decide that the getGadget() method needs to be added and Will has done the work and pushed to python-gateway Ola would review it followed by a review from Josh, Carlos or Chris.
|
---|
52 |
|
---|
53 | ''' 3) Upon review completion, the merge (with history; --no-ff) of all changes into develop.'''
|
---|
54 |
|
---|
55 | git fetch
|
---|
56 | git checkout python-gateway
|
---|
57 | git rebase origin/python-gateway
|
---|
58 | [ git rebase origin/develop ] # handle conflicts here BEFORE merge
|
---|
59 | git checkout develop
|
---|
60 | git rebase origin/develop
|
---|
61 | git merge âno-ff âlog python-gateway
|
---|
62 | git commit --amend
|
---|
63 | git push origin develop
|
---|
64 | In order to keep the python-develop branch up to date with develop, Chris or Josh needs to do this on origin, then everyone has to do
|
---|
65 |
|
---|
66 | * git checkout python-gateway
|
---|
67 | * git reset âhard origin/python-gatewa
|
---|
68 |
|
---|
69 | ''' 4) Merge and/or cherry-pick of changes into 4.1, 4.2 and/or 4.1_custom by Carlos, Josh or Chris.'''
|
---|
70 |
|
---|