Reuse of Issues Across Streams
In the previous sections, you worked on issue #0002 in workspace stream_1_3_WS_1 and promoted the following files against it:
But what if this issue also applied to a different release being handled in a different stream (in this case, the hierarchy under stream_2_1)? In that stream, the fix needs to be made in a different set of files:
You perform the changes to these files in workspace stream_2_3_WS_2. Even worse, somebody else continues to work on issue #2 in the original stream and adds a new file named file_004.c which doesn’t even exist in Stream 2. Both developers promote their changes against the same issue, one from workspace stream_1_3_WS_1 and the other from stream_2_3_WS_2.
Now the change package is incomplete in both streams: the modified versions of file_002.c and file_003.c are not available under Stream 1, nor does the new file_004.c exist under Stream 2. If you do a Show Active Issues in both of the parent streams, you see two different incomplete change packages, each missing different files.
How do you fix it?:
Don't try to cross-promote or merge the missing files. Instead:
- Create a new issue for Stream 2.
- Open the original issue and select the files which were added when promoted into Stream 2.
- Right click and select Send to Issue.
- Select the new issue created in Step 1 to send the selected file(s) to.
You will now see the original issue as complete in Stream 1, and the new issue as complete in Stream 2.
How do you prevent this from happening in the future?:
Make it a policy to not use the same issue to address problems in multiple streams. If you need to fix the same issue in another stream, create a new issue for that stream and promote files against that issue.