C# TFS 2008合并代码的质量
TFS 2008合并的代码的质量是否取决于所使用的编程语言?我知道在Java/Subversion中进行合并,并且将分支合并到其主干通常不会产生太多冲突。现在在我的公司,我们使用VB.NET。当我合并两个文件时,TFS并不总是获得正确的代码块,例如,找不到正确的If..then/end If行。举个例子,我的意思是:文件2被创建为文件1的一个分支。这两个文件后来都被更改了,现在我要合并这些文件并接收conficts:如果检测到行(1)对应,则标记的end将被删除,这意味着添加的事件处理程序按钮1\u Click将被删除 现在我想知道这种行为是由语言(C#vs.VB.NET)造成的,还是其他源代码管理解决方案比TFS更好?(到目前为止,我非常喜欢TFS:))C# TFS 2008合并代码的质量,c#,vb.net,merge,C#,Vb.net,Merge,TFS 2008合并的代码的质量是否取决于所使用的编程语言?我知道在Java/Subversion中进行合并,并且将分支合并到其主干通常不会产生太多冲突。现在在我的公司,我们使用VB.NET。当我合并两个文件时,TFS并不总是获得正确的代码块,例如,找不到正确的If..then/end If行。举个例子,我的意思是:文件2被创建为文件1的一个分支。这两个文件后来都被更改了,现在我要合并这些文件并接收conficts:如果检测到行(1)对应,则标记的end将被删除,这意味着添加的事件处理程序按钮1
文件1:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
Label1.Text = "Hello"
Label2.Text = "World"
End If
End Sub
Protected Sub Button2_Click(ByVal sender, ByVal e as System.EventArgs) Handles Button2.Click
// ....
If Page.IsValid Then
Label3.Text = "Hello Button 2"
End If
// ....
End Sub
文件2(文件1的分支):
我认为这是TFS中合并算法的一个问题,而不是语言引起的问题
几年前,我工作的公司使用Perforce,在合并时很少出错。如果有两个人在文件末尾添加了代码,那么早期版本可能会有问题,但在2005年版本发布之前,他们已经解决了这个问题(事实上,他们很可能已经解决了这个问题)。我使用第三方工具(KDiff3)测试了您的文件,并获得了更好的结果。您可以切换VS 2008用于合并和比较的工具:
这是一个多么好、有益的评论啊。只需扔掉1000美元的软件,因为一些随机的家伙会在没有支持理由的情况下发表一次性评论。真有帮助!谢谢你的评论,但是关于我问题的主题,你的评论和他的一样有用。使用你的链接找到工具DiffMerge()。至少在我看来,我用它得到了更好的结果。
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
fillTableFromDatabase()
End If // (1)
End Sub
Protected Sub Button1_Click(ByVal sender, ByVal e as System.EventArgs) Handles Button1.Click
// do something here
End Sub
Protected Sub Button2_Click(ByVal sender, ByVal e as System.EventArgs) Handles Button2.Click
// ....
If Page.IsValid Then
End If // (1)
// ....
End Sub