On 04/27/2015 09:16 AM, Jacques Le Roux wrote:
Thanks Adam for the very detailed workflow... answers inline, mostly about vocabulary :) ...

Le 23/04/2015 07:56, Jacopo Cappellato a écrit :
On Apr 22, 2015, at 10:07 PM, Adam Heath <[email protected]> wrote:

So, I've started attempting to use JIRA and branches, to implement a new workflow. Basically, I'm seeing what the capabilities of the systems are. I've run into a bit of a mis-feature, I believe, so I'm asking here to see if anyone might help.

Here is the workflow I am attempting to follow.

1: Bug/feature/etc gets created.

2: Branch is made with the name set to the id from (1).

3: Sub-tasks are made, to split up the large amount of work from (1).

4: Each sub-task can be assigned to different people, and work proceeds in parallel. The state of the sub-task moves from OPEN to IN-PROGRESS.

There is also the important "Patch available" status...


With git, there is never a single patch. It's a commit stream, a branch, a repo fork. But yeah, I'll think about using this status.


5: Commits are done to the shared branch from (2), with each message tagged with the id(s) from (3).

Cool to put the name of the possible contributor too ;)


6: When a commit from (5) is pushed, the developer doing the work moves the issue state to RESOLVED. This is not closed, as the change is not available for testing by the reported yet. Nor has it been made available to the rest of the ecosystem.

A commit is not pushed it's committed :p.

Ok, not pushed, not committed. How about, "when the change leaves the developer's system, and is somehow made available in the shared branch?" This could be via a commit to a shared repo(ala svn), or a pull request(ala git/fork)?

In don't agree about the "the change is not available for testing by the reported yet." S/He can always checkout a branch. Anyway I agree not being "available to the rest of the ecosystem" is a status blocker.

The integration area(svn branch, git repo fork) may not be available for the original reporter to easily test. There would need to be a download area for the resultant binaries, or the user would have to check out directly. Not all end-users can or want to compile ofbiz.

7: Some code reviewer looks at the series of commits, and if they do what they set out to do, merges the branch to trunk/master/release. The issue state(s) change from RESOLVED to ????

"Some code reviewer" here must be a committer to be able to merge and commit the branch, and it's not in "trunk/master/release", it's, so far, eventually in svn trunk HEAD.

For the rest I agree with you and Jacopo

Jacques


Let's not tie the workflow to svn-only terms. Just because ofbiz primary is currently managed through svn, outside vendors might be using git, and can use more advanced push/pull/merge-request type workflows.



8: The original filer looks at trunk/master/release, and if the original report has been resolved, changes the issue state from ???? to CLOSED.

I don't see an option in JIRA for the represenative state in 7. The commits I have just sent into branch OFBIZ-6275 are currently at line (6) from above.

Thanks for the detailed workflow, this is a good topic.
For now, without adding statuses or customizing the workflow (we may have to contact the ASF Infra for this), I would suggest to use ???? = CLOSED. This means that the task will be closed in step 7 when the feature branch is merged into the trunk/master/release branches. At step 8 the original reported will either add a comment confirming that the issue is resolved or reopen the task.

Jacopo




Reply via email to