Code sharing between developers
Hi all,
Today my team went live with Jazz SCM, we have been using the project management side of Jazz and have now fully migrated. Things are going well. This post is more a howto question, I have trawled docs on streams and workspaces and not really found the answer to my question, so here goes. We have a single team, working on a single Stream, and as default each team member wishing to use the stream has their own workspace. When change sets are to be delivered to the stream, we require that at least one person reviews the work that they want to deliver. We have two developers within the team that are working on a Story together, and want to share code between each other. The code might not be ready for going into the stream, and therefore the ChangeSet associated with a task is not to be completed yet, but the code is suitable for the other developer to be working on. I have not found a way to solve the two developers sharing code that is not checked in yet. Some solutions I have looked into are as follows: 1) Create a new stream, and a new team associated with that stream. Change the process so that Code Reviews are NOT required for that stream. The problem here is that then the code is flowed from the newly created Stream to the central stream, the code will not have been reviewed which is not acceptable 2) Developer Frank creates a new files called Manifest.xsd, and associates it with a task as a changeset. Developer Sally goes to the task and accepts the changeset as a patch. This is more acceptable, though it's clunky as changes made by Frank will require manual steps for Sally to be 'up-to-date'. 3) Developer Frank creates a workspace with a target of the central stream. Sally also loads that same workspace. Frank makes a change, and checks in the code. Sally can see that the code has been checked in because it is shown in her Pending Changes tab for the workspace that Frank created, but she cannot load that file into her copy of the workspace, only see that there is a pending change. This is pretty useless as Sally cannot have the file in her local workspace, but she can see that it's a change! This problem could be viewed as a development practice issue, you could say that Frank should only deliver code that is ready to be shared, but what if the code produced is a rough interface that the other developer will use to start his tasks? Ideally a scenario where Frank and Sally have a shared workspace that files are viewed etc would be great. Anyone else come across this problema and have a solution or workaround? Am I doing something obviously wrong? Cheers Rich |
3 answers
Hi Rich,
These are all excellent questions. We've used several of the approaches you've mentioned and each has it's pros and cons. There are two practices that may help you out a bit that you haven't mentioned that we use a lot here: 1. We have a team area for "experimental" work. This team area owns our "experimental" streams and has a relaxed process. When a longer term collaboration between 2 developers is needed, then they work from one of these streams, possibly create their own build definitions to ensure they get continuous integration of the new work. When it's ready, the change sets are reviewed and deliver back into the main stream with a more strict process. The process on our main stream doesn't have to change. 2. For shorter collaborations, you can always set your flow target to your friends repository workspace and accept their change sets. The flow is, when the change sets are ready the developer closes them and this means that the other person can accept them. At some point, someone delivers them all to the stream. We've used both approaches and I'd recommend you select the option based on the duration and complexity of the changes being made. If it's simple, a couple of change sets, then flowing between workspaces/and/or/work items is easy, but otherwise use a new stream. You can also delete the stream when you are done. Cheers, Jean-Michel Jazz Source Control Team |
Geoffrey Clemm (30.1k●3●30●35)
| answered Feb 27 '09, 12:58 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
Hi Rich,
I've periodically wanted this functionality as well. I've submitted workitem 72676, asking for a mechanism to deliver change-sets to some kind of "pending list" on another workspace, for this kind of impromptu sharing. Cheers, Geoff cumbers wrote: Hi all, |
Hi Rich, Thank you for that Geoff, and thank you to Jean-Michel for his answer also. Cheers Rich |
Your answer
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.