通过VisualSVN服务器和AnkhSVN在VisualStudio中使用SVN
我们已经在为我们的团队使用TFS,我们有很多问题。但我们在这个话题上不会这么说 我正在尝试为我们的团队用SVN替换TFS。我在Windows服务器上安装了VisualSVN服务器,我们在客户端使用AnkhSVN。使用这些软件没有问题。我们可以接触到一切,一切都很好 但是,我在多用户文件编辑方面遇到了问题。在TFS中,当有人打开一个文件并进行更改时,该文件将仅为该用户签出,网络中的任何其他人都无法更改该文件。但是在SVN中,当我打开一个文件并进行一些更改时,其他人也可以这样做 最后,当我提交我的更改并且他们执行“获取更新”时,他们的文件会发生冲突 所以我的问题是,如何解决这个问题。SVNBook是SVN的圣经,是Subversion管理员和用户必须阅读的书籍 您可能会发现以下章节很有帮助:通过VisualSVN服务器和AnkhSVN在VisualStudio中使用SVN,svn,tfs,visualsvn-server,ankhsvn,Svn,Tfs,Visualsvn Server,Ankhsvn,我们已经在为我们的团队使用TFS,我们有很多问题。但我们在这个话题上不会这么说 我正在尝试为我们的团队用SVN替换TFS。我在Windows服务器上安装了VisualSVN服务器,我们在客户端使用AnkhSVN。使用这些软件没有问题。我们可以接触到一切,一切都很好 但是,我在多用户文件编辑方面遇到了问题。在TFS中,当有人打开一个文件并进行更改时,该文件将仅为该用户签出,网络中的任何其他人都无法更改该文件。但是在SVN中,当我打开一个文件并进行一些更改时,其他人也可以这样做 最后,当我提交我的更
了解更多信息。听起来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