2014-01-13 7 views
1

В мастере проверки SVN в разделе «Редакция» доступны два варианта: HEAD/Revision number.Проверка Tortoise SVN с использованием нескольких номеров версий

My use case: Developer A проверено в 3 файлах по версии 1, разработчик B проверен в 2 файлах версии 2, Developer C проверен в 2 файлах версии 3. Всего есть 7 изменений в пути к файлу, но на самом деле в этих версиях было изменено 4 файла.

Моя проблема: я хотел бы проверить только эти 3 пересмотра в одной транзакции с проверкой.

Проблема. Когда я нажимаю кнопку «Показать журнал», я вижу версию 3,2,1 с соответствующими изменениями в пути к файлу. Когда я выберу изменения версии 3,2,1 и нажмите «ОК» ... в окне редактирования отображается версия как 1 вместо 1,2,3.

Есть ли в наличии возможность проверить svn несколько версий в одной кассе? Пожалуйста, помогите

ответ

4

Вы неправильно понимаете, как изменения работают в SVN.

Когда разработчик A проверяет в первых файлах, им предоставляется ревизия 1 (а также сам репозиторий). Версия 1 становится ревизией HEAD.

Разработчик B теперь проверяет файлы, а весь репозиторий становится ревизией 2 (во второй раз, когда репозиторий был изменен), хотя отдельные файлы в репо сохраняют свои текущие версии в качестве последней измененной версии. Итак, мы имеем следующее:

DevAFile1  v1.0 
DevAFile2  v1.0 
DevAFile3  v1.0 
DevBFile1  v2.0 
DevBFile2  v2.0 
HEAD   v2.0 

Developer C теперь проверяет еще два файла, и эти файлы (и весь репо) являются пересмотр 3:

DevAFile1  v1.0 
DevAFile2  v1.0 
DevAFile3  v1.0 
DevBFile1  v2.0 
DevBFile2  v2.0 
DevCFile1  v3.0 
DevCFile2  v3.0 
HEAD   v3.0 

HEAD теперь редакция 3, который состоит из трех файлов v1 от разработчика A, двух файлов v2 от разработчика B и двух файлов v3 от разработчика C. Таким образом, проверка версии HEAD дает вам три отдельные версии файла от отдельных разработчиков, все из которых составляют версию HEAD.

Это описано в файле справки TortoiseSVN в разделе . Раздел 2.3.3. Ревизии

Общие номера ревизий

В отличие от многих других систем управления версиями, номера ревизий в Subversion относятся к деревьям целиком, а не отдельные файлы. Каждый номер ревизии выбирает целое дерево, определенное состояние репозитория после некоторого зафиксированного изменения. Другой способ подумать о том, что ревизия N представляет состояние файловой системы репозитория после N-го коммита. Когда пользователь Subversion говорит о revision 5 of foo.c'', they really mean foo.c, как он появляется в редакции 5. «Обратите внимание, что в целом версии N и M файла не обязательно отличаются!

Это можно подтвердить, используя TortoiseSVN's Show log в отдельном файле в репозитории. Например, если посмотреть на DevFileA1, вы увидите что-то похожее на:

Revision Action Author Date  Message 
======== ====== ====== ======== ======= 
3   ...  DevC xx/xx/xxxx Last update message of repo from DevC 
1   ...  DevA xx/xx/xxxx Checkin message from DevA 

 Смежные вопросы

  • Нет связанных вопросов^_^