2010-07-02 92 views
0

我从Subversion转移到Microsoft的Team Foundation Server进行版本控制,并且我的理解是,您不能合并TFS中的不连续变更集。合并TFS 2008版本控制中的不连续变更集?

例如,我有一个名为“baseline.txt”文件看起来像这样:

line one 

然后,我分支机构的文件到一个名为“branch.txt”新的文件,然后做两签入的“baseline.txt”,以便它终于看起来像这样:

line one 
line two //checked-in change-set A 
line three //checked in change-set B 

现在,我想唯一的变化,集B合并为“branch.txt”。换句话说,我希望“branch.txt”看起来像这样在合并后:

line one 
line three //checked in change-set B 

基本上,我想跳过变化集A和合并变更集B.这是可能的颠覆,但在TFS中,如果我想获得变更集B,则还必须将所有变更集“上达到”B.

这是真的吗?这就是我的实验显示的,但“Understanding ChangeSets and Merge with Team Foundation Server”似乎不同。

+0

不知道,但[关于baseless merges的这个问题](http://stackoverflow.com/questions/1437304/tfs-baseless-merge-on-specific-changesets)可能有你正在寻找的答案。 – 2010-09-13 18:25:04

回答

0

该文章令人困惑,我不相信这是准确的。当第二次更改签入时,它应该生成合并冲突。在那个时候,你需要解决以下三种方式之一冲突:

  1. 合并更改
  2. 覆盖与新的变更,或
  3. 保持老了,放弃新的变化。

无论什么时候,当你准备好合并回baseline.txt,你有你要签入的文件的“点及时”的版本。

+0

Robaticus,在这个签入序列中不会产生冲突。唯一可能发生冲突的情况是,如果在创建branch.txt后并且在应用Changeset B合并之前发生更改。 – 2010-07-06 14:43:44

+0

我认为签入1和签入2是由两台独立的机器制造的。在这种情况下,将会出现需要解决的合并冲突。我无法想象可以从同一台机器进行两种更改的情况。 – Robaticus 2010-07-06 15:14:27

+0

当选择与Changeset B相关联的Baseline.txt版本时,其他冲突将是实际的合并本身。第二次读这个,我认为这是您所指的冲突。用于创建baseline.txt的3个changset(初始添加,第2行和第3行)不包含冲突解决方案。 – 2010-07-06 15:21:52