TortoiseSVN никогда не проверяет, обновлена ​​ли рабочая копия до последней версии.

С тех пор, как мы обновились до TortoiseSVN 1.7, я заметил, что TortoiseSVN никогда не показывал мне сообщение о том, что мне нужно обновить мою рабочую копию, оно никогда не устаревает.

У меня была более ранняя версия, я внес некоторые изменения, использовал Commit, и она вошла без вопросов.

Пока я вносил изменения, мой коллега изменил другой файл и зафиксировал его. Я проверил журнал и увидел изменения, но измененного файла не было на моем компьютере, но моя вкладка Subversion показала, что я использую последнюю версию.

Я ОБНОВИЛ свою так называемую последнюю ревизию, и изменения из предыдущей ревизии были загружены (хотя у меня была последняя ревизия).

Как это возможно? Что, если моя модификация зависит от того, что изменил мой коллега? Я не понимаю, как мне разрешили загрузить модификацию, когда я не использую последнюю версию. Есть идеи, что проверить?


person Nestor    schedule 10.04.2013    source источник


Ответы (1)


Так было всегда со всеми версиями SVN (и TortoiseSVN). SVN отклонит фиксацию только в том случае, если один из измененных файлов в фиксации был изменен кем-то другим. с момента последнего обновления файла. Это работало файл за файлом, а не для всего проекта. Это одна из хорошо известных слабых сторон SVN.

Если вам нужно описанное вами поведение, используйте Git.

person JB Nizet    schedule 10.04.2013
comment
Кто-то может посчитать это слабым местом, а другой - удобством. На самом деле это зависит от обстоятельств. - person bahrep; 10.04.2013
comment
@bahrep: согласен. Но в типичном программном проекте это недостаток: вы хотите убедиться, что код будет скомпилирован и что тесты пройдут после фиксации, а SVN не может предоставить эту гарантию. - person JB Nizet; 10.04.2013
comment
Я согласен с Низетом. Для меня совместимость и надежность являются главным приоритетом. В голове улетучивалась мысль, что в 1.6 все было по-другому. Спасибо за разъяснения. - person Nestor; 10.04.2013