Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.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
Java 如何在SVN中运行更新而不引起许多冲突_Java_Svn - Fatal编程技术网

Java 如何在SVN中运行更新而不引起许多冲突

Java 如何在SVN中运行更新而不引起许多冲突,java,svn,Java,Svn,我正在使用SVN在一个四人团队中开发一些软件 每当我更新我的工作副本时,它产生的冲突比我预期的要多得多,其中大量冲突如下: 如果首字母是 import Class1 我把它改成 import Class1 import Class2 而另一个团队成员将代码更改为 import Class1 import Class3 Subversion不会合并所有三行 我想这是因为subversion不知道代码的语义内容,所以无法决定什么时候应该/不应该这样做 我遇到的另一个冲突是如果我替换 proc

我正在使用SVN在一个四人团队中开发一些软件

每当我更新我的工作副本时,它产生的冲突比我预期的要多得多,其中大量冲突如下:

如果首字母是

 import Class1
我把它改成

import Class1
import Class2
而另一个团队成员将代码更改为

import Class1
import Class3
Subversion不会合并所有三行

我想这是因为subversion不知道代码的语义内容,所以无法决定什么时候应该/不应该这样做

我遇到的另一个冲突是如果我替换

processA();
processB();
与:

if(x){
  processA();
  processB();
}
整个事情被标记为一个变化,没有办法让它突出这一事实,只有(x)被添加到上面/下面。在这种情况下,我必须分析新块内的整条线,并担心遗漏内部线的微小变化

问题是,我的团队是否有更有效的方法使用SVN在这些情况下,我的大部分时间都花在合并上


很抱歉,我的表达式太冗长了,谢谢阅读。

因为SVN不了解编程语言,如果它试图从更改集推断语义,那将是非常危险的。因此,它只能进行相对简单的合并(即,如果文件在两个完全不同的区域发生更改)


常见的解决方案是使用小型提交。不要把大的变化堆积起来。经常犯错误。经常更新。

如果您经常签入,您仍然会看到较大的更改(例如,在“If”情况下),但您没有太多的合并工作要做。

尝试让开发人员处理项目中不相交的部分,以减少合并问题。如果开发人员有重叠,鼓励沟通以避免错误合并。此外,尝试尽早/经常提交,以避免大规模合并,但不允许提交导致基线无法构建。持续集成系统很有帮助。

谢谢。一段时间以来,它一直在坚持,并大胆地解决了问题。