Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过VisualSVN服务器和AnkhSVN在VisualStudio中使用SVN_Svn_Tfs_Visualsvn Server_Ankhsvn - Fatal编程技术网

通过VisualSVN服务器和AnkhSVN在VisualStudio中使用SVN

通过VisualSVN服务器和AnkhSVN在VisualStudio中使用SVN,svn,tfs,visualsvn-server,ankhsvn,Svn,Tfs,Visualsvn Server,Ankhsvn,我们已经在为我们的团队使用TFS,我们有很多问题。但我们在这个话题上不会这么说 我正在尝试为我们的团队用SVN替换TFS。我在Windows服务器上安装了VisualSVN服务器,我们在客户端使用AnkhSVN。使用这些软件没有问题。我们可以接触到一切,一切都很好 但是,我在多用户文件编辑方面遇到了问题。在TFS中,当有人打开一个文件并进行更改时,该文件将仅为该用户签出,网络中的任何其他人都无法更改该文件。但是在SVN中,当我打开一个文件并进行一些更改时,其他人也可以这样做 最后,当我提交我的更

我们已经在为我们的团队使用TFS,我们有很多问题。但我们在这个话题上不会这么说

我正在尝试为我们的团队用SVN替换TFS。我在Windows服务器上安装了VisualSVN服务器,我们在客户端使用AnkhSVN。使用这些软件没有问题。我们可以接触到一切,一切都很好

但是,我在多用户文件编辑方面遇到了问题。在TFS中,当有人打开一个文件并进行更改时,该文件将仅为该用户签出,网络中的任何其他人都无法更改该文件。但是在SVN中,当我打开一个文件并进行一些更改时,其他人也可以这样做

最后,当我提交我的更改并且他们执行“获取更新”时,他们的文件会发生冲突

所以我的问题是,如何解决这个问题。SVNBook是SVN的圣经,是Subversion管理员和用户必须阅读的书籍

您可能会发现以下章节很有帮助:

Subversion支持Copy-Modify-Merge和Lock-Modify-Unlock版本控制模型,它们都能处理多个开发人员需要处理相同文件的情况。例如,按照“复制-修改-合并”模型处理同一文件的多个用户可以并行工作,解决冲突(如果发生)是此工作流中的基本步骤之一,但在大多数情况下,您应该避免这些步骤

另一方面,使用Lock-Modify-Unlock模型(您作为TFS用户使用的模型),用户可以锁定文件(即,在处理某些更改时阻止其他人修改文件),然后提交更改并解锁文件,允许其他人开始修改它

请阅读 节

阅读更多信息。

阅读。SVNBook是SVN的圣经,是Subversion管理员和用户必须阅读的书籍

您可能会发现以下章节很有帮助:

Subversion支持Copy-Modify-Merge和Lock-Modify-Unlock版本控制模型,它们都能处理多个开发人员需要处理相同文件的情况。例如,按照“复制-修改-合并”模型处理同一文件的多个用户可以并行工作,解决冲突(如果发生)是此工作流中的基本步骤之一,但在大多数情况下,您应该避免这些步骤

另一方面,使用Lock-Modify-Unlock模型(您作为TFS用户使用的模型),用户可以锁定文件(即,在处理某些更改时阻止其他人修改文件),然后提交更改并解锁文件,允许其他人开始修改它

请阅读 节


了解更多信息。

听起来TFS延续了VSS对独占锁定的使用。切换到现代VCS使用的更理智的模式可能需要一些时间来适应

Subversion利用了。它允许多人同时处理同一个文件,当第二个用户将其更改提交到存储库时,两个用户将合并任何冲突的更改

这可能看起来有悖常理,但它比您习惯的独占锁定要好得多。在独占锁定模型中,如果我需要编辑文件的第1-20行,我必须等到您处理完第500-600行之后才能执行任何操作。如果你去度假两周,把文件锁上,我就完全卡住了

如果您无法放弃独占锁定模式(总体而言,这会降低您的速度),请在所有文件上使用
svn:needs lock
属性。这将在每个用户的工作副本中将文件标记为只读,迫使他们执行任何工作(或转到文件系统并取消设置只读属性)


在Subversion中锁定的目的不是实施严密的控制;相反,有几种(简单的)解决方法,除非您在服务器上采取额外的步骤。相反,Subversion锁定的目的是让开发人员在潜在冲突发生之前就潜在冲突进行沟通。但是Subversion在纯文本文件(源代码)中妥善地处理了大多数冲突,因此即使您确实有冲突,也不会太难解决。

听起来TFS继续使用VSS的独占锁定。切换到现代VCS使用的更理智的模式可能需要一些时间来适应

Subversion利用了。它允许多人同时处理同一个文件,当第二个用户将其更改提交到存储库时,两个用户将合并任何冲突的更改

这可能看起来有悖常理,但它比您习惯的独占锁定要好得多。在独占锁定模型中,如果我需要编辑文件的第1-20行,我必须等到您处理完第500-600行之后才能执行任何操作。如果你去度假两周,把文件锁上,我就完全卡住了

如果您无法放弃独占锁定模式(总体而言,这会降低您的速度),请在所有文件上使用
svn:needs lock
属性。这将在每个用户的工作副本中将文件标记为只读,迫使他们执行任何工作(或转到文件系统并取消设置只读属性)

在Subversion中锁定的目的不是实施严密的控制;相反,有几种(简单的)解决方法,除非您在服务器上采取额外的步骤。相反,Subversion锁定的目的是让开发人员在潜在冲突发生之前就潜在冲突进行沟通。但是Subversion能够妥善处理纯文本文件(源代码)中的大多数冲突,因此即使您确实存在冲突,也不会太难解决。

阅读有关锁定的文档:。这一个可能会有所帮助:@Dr.Bronx为什么“需要”锁定修改解锁?坚持使用这种过时的模型背后有什么真正的原因吗?还是因为惯性和开发人员不想改变?@alroc I gu