Я использую SVN для разработки программного обеспечения в команде из четырех человек.
Всякий раз, когда я обновляю свою рабочую копию, она создает гораздо больше конфликтов, чем я ожидал бы создать, большое количество этих конфликтов выглядит так:
Если начальный был
import Class1
и я изменяю его на
import Class1
import Class2
в то время как другой член команды меняет код на
import Class1
import Class3
Subversion не объединит все три строки.
Я полагаю, это потому, что Subversion не знает о семантическом содержании кода, поэтому не может решить, когда это будет / не будет уместно сделать.
Еще один конфликт, который я получаю, это если я заменю
processA();
processB();
с:
if(x){
processA();
processB();
}
все это помечено как изменение, нет ли способа заставить его выделить тот факт, что только если (x) был добавлен выше / ниже. В таких случаях мне приходится анализировать все строки внутри нового блока и беспокоиться о том, чтобы пропустить небольшие изменения в строках внутри.
Вопрос в том, есть ли более эффективный способ для моей команды использовать SVN в этих случаях, большая часть моего времени уходит на слияние.
Извините за то, что я так долго не могу понять, спасибо за чтение.