1

请让我知道如何在颠覆中编写以下命令

1)我们如何分块提交文件。2)在我们提交之前获得所有文件的锁定。

4

2 回答 2

3

1)这是不可能的。文件中的所有修改都已提交或不提交。您不能只在文件中提交部分修改。

2)将是可能的。但我不会告诉你如何:这个问题清楚地表明你要么不了解 SVN(或 VSS 以外的版本控制系统)是如何工作的,要么(如果你知道的话)你的工作流程被破坏了并且您正试图滥用版本控制来适应损坏的工作流程。您不需要在提交之前锁定文件,尤其是不需要锁定所有文件。只要承诺,你就没事。锁定适用于无法合并的文件(二进制文件),即使是那些不应该轻易使用的文件。

于 2009-11-23T11:33:08.960 回答
3

这是基于您的原始问题和您对 Stefan 的回答的评论(太大而无法放入评论框中)。

1) Subversion 使用原子提交操作,因此无法分块提交文件。

2) 有了足够的 Subversion 功夫,你就可以做到这一点(取决于你的设置细节),但是当这两个版本是围绕不同的理念设计时,你基本上会强行把 Subversion 当作你的旧存储库。这个问题让我想起了我的团队在最近从 VSS 切换到 Subversion 时所经历的事情。

显而易见的答案是不要将已编译的对象检查到存储库中。版本控制系统旨在存储生成二进制文件的源代码,而不是生成的二进制文件。这给您带来问题的原因之一是它不是 Subversion 的设计目标。我推荐 Subversion 的官方书籍,您可以在http://svnbook.red-bean.com/免费获得. 您不一定要通读整本书,即使粗略阅读前 2 或 3 章,您也会学到很多东西(就技术文档而言,这本书非常容易阅读)。您的旧版本控制系统的工作流程/理念与 Subversion 的工作流程/理念并不完全兼容(不是说其中一个是好是坏,只是不同),我认为这本书很好地解释了这一点案子。

如果您只是尝试存档已编译输出的副本,最好将所需的二进制文件加载到存档(zip、tar、gzip 等)中并将此存档存储在文件服务器上。如果您需要能够轻松地将源代码修订与二进制输出匹配,您可以使用用于生成它的代码的修订号来命名存档或包含存档的文件夹。

除此之外,如果您的防病毒程序引起问题,请尝试将保存源代码的目录添加到防病毒程序的忽略列表中。通常来说,这些文件夹只会包含您创建的源代码文件或二进制文件,通常可以认为是无病毒的(除非您正在编写病毒,但这完全是另一个问题)。

于 2009-11-23T21:59:59.520 回答