Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
从源代码管理的角度来看,TFS操作与SVN相比如何?_Svn_Version Control_Tfs - Fatal编程技术网

从源代码管理的角度来看,TFS操作与SVN相比如何?

从源代码管理的角度来看,TFS操作与SVN相比如何?,svn,version-control,tfs,Svn,Version Control,Tfs,从源代码管理的角度来看,对于用户来说,TFS和SVN之间的真正区别是什么 例如:在SVN上,我们有基本命令: 退房 出口 承诺 更新 删除 恢复 每个文件都有自己的修订号 TFS也有这些命令吗?每个文件都有自己的修订号 请仅从源代码管理的角度回答。Bug跟踪、ALM和定价在这个问题上并不重要。所有源代码管理系统都支持您列出的命令,因为它们是任何SC必须考虑的功能的绝对最小值 当决定它们之间时,只有两件事要考虑,其中大部分在你的问题中被明确排除……/P> 关键是,如果将TFS归结为一个源代码控

从源代码管理的角度来看,对于用户来说,TFS和SVN之间的真正区别是什么

例如:在SVN上,我们有基本命令:

  • 退房
  • 出口
  • 承诺
  • 更新
  • 删除
  • 恢复
每个文件都有自己的修订号

TFS也有这些命令吗?每个文件都有自己的修订号


请仅从源代码管理的角度回答。Bug跟踪、ALM和定价在这个问题上并不重要。

所有源代码管理系统都支持您列出的命令,因为它们是任何SC必须考虑的功能的绝对最小值

当决定它们之间时,只有两件事要考虑,其中大部分在你的问题中被明确排除……/P>
关键是,如果将TFS归结为一个源代码控制系统,那么差异可以忽略不计。仅供参考,我已经广泛使用了TFS(每种都超过5年),目前仅使用TFS,这是因为TFS包含在单个软件包中的附加功能。

我认为主要的区别是,Subversion支持(仅)真正的乐观锁定策略,这意味着您通常会彼此并行工作,第二种是(以及以后的更改)必须将它们的更改合并到其他更改中


在TFS中,您必须首先签出,这意味着,为您的更改保留文件,以便执行任何工作。这会导致更悲观的锁定策略

是的,一个很大的区别是,脱机工作不是TFS的选项,并且完全受Subversion支持

在我看来,TFS对分支和合并有更好的支持(至少UI在这里帮助很大)

在提交/签入时,TFS和Subversion有不同的术语,具有相似的含义。(以下内容来自使用这两种工具的同事。)

定义:修订版: svn提交操作将对任意数量的文件和目录的更改发布为单个原子事务->

定义:变更集: 变更集是一个逻辑容器,其中Team Foundation存储与单个签入操作相关的所有内容,具体是:文件和文件夹修订->/P>
在签入期间,每个文件都与签入编号相关联(按Subversion计算)。如果您浏览文件夹/文件的历史记录,您可以将历史记录视为带有列的表格:变更集编号/日期/注释。我认为@Annotate函数是一个不错的功能。使用此函数,您可以在LOC级别上查看一个文件的变更集(第2-5行由changset 2更改)“添加日志记录,第10行被changset 5“检查空值”;-)

在SVN中,存储库有一个修订号,而不是每个文件。每个文件都有自己的修订号是什么意思?在SVN中,同一提交中的所有文件共享相同的修订号。@Rob,Albin比我更清楚:提交在一起的每组文件都有相同的修订号。如果您提交一个文件,它将有一个修订号分配给它。+1,谢谢,编辑文件前强制签出/保留加上不进行脱机编辑是我想知道的区别。但是这些文件是否也有修订号,比如SVN?我可以通过某种方式查询TFS来确定文件的当前编号吗?我已向类似的术语“修订和更改集”中添加了信息。“在TFS中,您必须首先签出,这意味着,为您的更改保留文件,以便执行任何工作。这会导致更悲观的锁定策略。”-这不会阻止多人编辑同一个文件,但二进制文件除外,因为二进制文件无论如何都无法合并“是的,一个很大的区别是,TFS不支持脱机工作,Subversion完全支持脱机工作。”-2008+中为false: