代码之家  ›  专栏  ›  技术社区  ›  Warren P

Perfonce是否跟踪变更集唯一的增量,或者只存储整个文件?

  •  2
  • Warren P  · 技术社区  · 13 年前

    我尝试将开发人员在工作分支中所做的一些工作合并到稳定分支。自从稳定枝和头枝的共同祖先被分离以来,文件A、B和C已经被至少十几个变更集所改变。

    我希望,由于这个开发人员在文件A、B和C中更改了五行,所以当我从头部集成到稳定分支时,我将在挂起的changset中获取他的更改,然后我可以检查并提交。

    相反,它似乎采用了发生在文件A上的所有更改,因为这两个文件都是分支的,并且应用了我同事工作副本中也存在的所有更改。

    换句话说,在一个性能更改集中似乎没有记录,我的同事实际更改了什么,与之前包含的文件相比。

    如果浏览提交的变更集,我可以看到我同事的文件版本与前一个版本之间的差异。但是,这似乎并不能决定合并的内容。

    变更集是否意味着“在文件的版本x和版本x+1之间进行的一组更改”? 任何人都能帮助我理解“集成变更集”的含义吗?事实上,似乎Perfoce不跟踪变更,而是跟踪文件。

    完全有可能我做错了所有的事情,我会感谢任何关于如何在性能工作分支和稳定分支之间准确、安全地合并的指针,而不需要那些你不想集成到稳定分支的东西。看起来,无论产品中实际进行的更改多么简单,合并实际上对我来说都不起作用。

    2 回复  |  直到 13 年前
        1
  •  1
  •   raven    13 年前

    Perforce Dos Save changes to Text files as deltas(每次提交更改时,二进制文件都会完整保存)。听起来您在集成过程中没有适当地限制修订范围。

    你说工作中的分支“……自从……分支被分离以来,至少被十几个变更集改变了。”让我们称它们为变更列表1-12。如果我正确理解您的意思,那么您正在尝试仅集成其中一个变更列表中所做的修改,而不是所有变更列表。

    在一个简单的集成操作过程中,performce将假定您希望集成自分支创建以来提交的所有更改。如果只希望这些更改中的一个子集,则必须指定修订范围。因此,如果您只想集成在变更列表11和12之间发生的更改,您可以指定修订范围,如屏幕截图所示。(注意:修订范围是包含在内的,因此指定11-12的范围,正如我在此屏幕截图中所做的那样,实际上将包括更改列表11中的更改 12。如果只想集成在变更列表12中所做的更改,请在修订范围的两个字段中输入12。)

    请注意,不可避免的冲突可能很难解决,这取决于分支分歧的程度和变化的性质。

    es as delta(每次提交更改时都会完整保存二进制文件)。听起来您在集成期间没有适当地限制修订范围。

    你说工作中的分支“……自从……分支被分离以来,至少被十几个变更集改变了。”让我们称它们为变更列表1-12。如果我正确理解您的意思,那么您正试图只集成其中一个变更列表中所做的修改,而不是全部修改。

    在一个简单的集成操作过程中,performce将假定您希望集成自分支创建以来提交的所有更改。如果只希望这些更改中的一个子集,则必须指定修订范围。因此,如果您只想集成在变更列表11和12之间发生的更改,您可以指定修订范围,如屏幕截图所示。(注意:修订范围是包含在内的,因此指定11-12的范围,正如我在这个屏幕截图中所做的那样,实际上会包括更改列表11中的更改。 12。如果只想集成在变更列表12中所做的更改,请在修订范围的两个字段中输入12。)

    请注意,不可避免的冲突可能难以解决,这取决于分支机构的分歧程度和变化的性质。

    alt text

        2
  •  0
  •   Martin Ericsson    13 年前

    你能更具体地谈谈你是如何进行整合的吗?我的猜测是,您可能已经将所有更改集成到该变更列表中,而不仅仅是该变更列表。如果是这样,您所需要做的就是指定与集成的上限和下限相同的变更列表。

    在可视客户机中很容易实现,但我不确定您需要使用的确切命令行开关。