2011-12-15 2 views
0

Я иду здесь умственно.Как я могу проверить конкретный файл из svn?

Я пишу код для своего Ph.D. проект (ы). У меня есть две версии определенного файла .cpp, и я хочу использовать их оба (чередующиеся между ними). Я хочу сохранить самую последнюю версию других файлов.

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

Я не хочу обновлять все дерево, просто локальную копию.

В качестве альтернативы, есть ли другая система управления версиями, которая может работать над ssh и даст мне эту функцию?

Благодаря

+1

попробовать: SVN обновление -r { revision_number} {path_to_file} – 4ndrew

ответ

-1

Предисловие

В руководстве: svn help update + svn help cat + svn help diff могут быть вашими лучшими друзьями. Прочитайте описание команд, значение параметра -r, формат TARGET-URL или путь

Face

Если вы хотите, чтобы переключаться между двумя версиями файла и не использовать параллельно, вы можете использовать единый WorkingCopy и изменить в нем только нужный файл.

HowTo:

  • Commit фиксации фиксации. Помните ревизии первого и второй необходима версия из file.cpp (пусть они будут N и M, последний пересмотр репо мы будем называть ГОЛОВУ N < M < ГОЛОВА.)
  • Внутри рабочей копии (полностью обновлена ​​РУКОВОДИТЕЛЯ) - вернуться к пересмотру N для одного файла file.cpp: svn up -r N file.cpp, переключитесь на M: svn up -r M file.cpp, получить самый последний, ГОЛОВА: svn up file.cpp
  • Если вы хотите только увидеть в разных версиях файла не использовать, вы можете cat любая версия файла (не относящаяся к ревизии в WC) или diff между двумя ревизиями одного файла (может оставить туалет нетронутым этими командами)

Пример:

из моего туалета, короткий up пример

>svn up -r 1687 dcmode.htm 
Updating 'dcmode.htm': 
U dcmode.htm 
Updated to revision 1687. 

>svn up dcmode.htm 
Updating 'dcmode.htm': 
U dcmode.htm 
Updated to revision 8734.