开发者

TFS - Merging code out of the normal routine

The typical process we use is:

  1. Write code
  2. Checkin changes with a description of what they are
  3. merge forward (dev to QA)

We have been working on a series of changes. Management decided they want us to move up a small set of these changes. These changes are all over the place. I can't simply开发者_开发知识库 merge the changes by checkin/changeset as I normally do.

The only solution I can think of is to manually copy paste the changes I do want into QA. This breaks my documentation and normal flow. But, in the future the merge tool should pickup what has already been moved forward; that is when we revert back to the normal flow.

What would you do?


If I understand you, try to use baseless merge:

Use baseless merge to merge items that are not directly branched from each other. To perform a baseless merge, you must use the tf merge command. When you perform a baseless merge, Team Foundation does not have any information about the relationship of the files in the braches. In a baseless merge, you must perform manual conflict resolutions. After you have performed the baseless merge and resolved any conflicts, Team Foundation records the merge history and establishes a relationship between the folders and files.

Improvements to baseless merge in TFS 2010 SP1


You might want to look at WIMBI. What WIMBI does, is it merges by work items associated with the changeset(s).

What might work for you is to:

  1. Associate the relevant changesets with a work item representing the unit of work (i.e. task) that needs to be ported (ideally, you would have done so when checking it in)
  2. Create a release branch from your code from before the changes you need to merge (and before the changes you do not want to merge
  3. Use WIMBI or cherry pick the changesets to perform the forward integrate your changes to the new release branch.

Hope this helps,
Assaf.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜