Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Task #4772 (closed)

Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

OmeroPy gateway process

Reported by: cxallan Owned by: cxallan
Priority: minor Milestone: OMERO-Beta4.3
Component: General Version: n.a.
Keywords: n.a. Cc: jamoore, cneves, wmoore, atarkowska
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: 0.0d
Sprint: 2011-04-21 (10)

Description (last modified by wmoore)

Goals:

  • Foster communication and understanding of OmeroPy gateway API changes
  • Utilisation of Git functionality to allow for better change review
  • Keep development velocity high

Pre-requisite TODOs:

  • Creation of OmeroPy gateway API evolution REQUIREMENT
  • Creation of STORIES with specific targets (bug fixes, query support, etc.)
  • python-team@… e-mail address
  • Creation of python-gateway ome.git branch
  • E-mail notifications to python-team of branch changes

Non-code pre-requisites:

  1. 0.1d or 0.25d OME Trac TASK creation linked to a relevant STORY
  2. CC of python-team for your TASK with a brief synopsis of the planned change
  3. Where required and possible (ie. not a trivial change) discussion of your change with at least one other member of python-team before coding.

Commit stylistic notes:

  • NO superfluous whitespace or formatting changes
  • Variable or method name changes in their own commits
  • Gateway integration test case(s) covering your change
  • Eye towards application to multiple branches (4.1, 4.2 and develop)
  • Concise, documented and controlled size (more commits per merge)
  • Concise commit messages with ticket linkage. Example:
Added getGadget() method to gateway. (See #999)

After discussion with Carlos, Will and Ola it was decided that we should
add a getGadget() method to the gateway to support the retrieval of gadgets
from both OmeroPy and OMERO.web.

Commit workflow:

  1. Push to python-gateway on ome.git
  2. Review of any change. Example requirements:

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.

  1. Upon review completion, the merge (with history; --no-ff) of all changes into develop.
    git fetch
    git checkout python-gateway
    git rebase origin/python-gateway
    [ git rebase origin/develop ] # handle conflicts here BEFORE merge
    git checkout develop
    git rebase origin/develop
    git merge --no-ff --log python-gateway
    git commit --amend
    git push origin develop
    

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

git checkout python-gateway
git reset —hard origin/python-gatewa
  1. Merge and/or cherry-pick of changes into 4.1, 4.2 and/or 4.1_custom by Carlos, Josh or Chris.

Change History (8)

comment:1 Changed 8 years ago by cxallan

  • Cc jmoore cneves-x wmoore atarkowska added
  • Description modified (diff)

comment:2 Changed 8 years ago by wmoore

  • Description modified (diff)

comment:3 Changed 8 years ago by cxallan

  • Sprint changed from 2011-04-07 (9) to 2011-04-21 (10)

Moved from sprint 2011-04-07 (9)

comment:4 Changed 8 years ago by cxallan

Closing now that we've done our first merge and things seem to be working okay. We can re-open if we feel things need to be changed or adjusted.

comment:5 Changed 8 years ago by cxallan

  • Remaining Time changed from 0.5 to 0
  • Status changed from new to closed

comment:6 Changed 8 years ago by wmoore

  • Description modified (diff)

comment:7 Changed 8 years ago by wmoore

Just for my record here's how the merge went yesterday

  760  git fetch
  761  git graph
  762  git graph origin/develop HEAD
  763  git rebase origin/develop
  764  git graph origin/develop HEAD
  765  git checkout python-gateway
  766  git rebase origin/python-gateway
  767  git checkout develop
  768  git rebase origin/develop
  769  git merge -no-ff -log python-gateway
  770  git merge --no-ff --log python-gateway
  771  git reset --hard HEAD
  772  git checkout python-gateway
  773  git rebase origin/develop
  774  git rebase --continue
  775  git add components/tools/OmeroWeb/omeroweb/webclient/controller/container.py
  776  git rebase --continue
  777  git status
  778  git rm components/tools/OmeroWeb/omeroweb/webclient/controller/annotation.py
  779  git status
  780  git rebase --continue
  781  git rebase --skip
  782  git add components/tools/OmeroWeb/omeroweb/webclient/templates/webclient/annotations/metadata_general.html
  783  git rebase --continue
  784  git status
  785  git checkout develop
  786  git rebase origin/develop
  787  git merge —-no-ff —-log python-gateway
  788  git merge --no-ff --log python-gateway
  789  git commit --amend
  790  git push origin develop

comment:8 Changed 8 years ago by wmoore

  • Description modified (diff)
Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.98240 sec.)

We're Hiring!