← All posts tagged SVN

Что-то наша репа разрослась. Приболел, сижу дома, пытаюсь вытянуть по vpn svn репозиторий из офиса — уже больше часа checkout делается =\

Еcли вы снесли диру под svn'ом не через замечательную svn delete и теперь ваша working copy не работает, то не отчаивайтесь и не спешите делать recheckout всего проекта, просто применить следующий рецепт: mkdir /removed/dir/ && svn co svn://svn/project/path/to/removed/dir /removed/dir © @yzh44yzh . И жизь станет лучше ;)

Если вам надо откатить/закомитить предыдущую ревизию вместо текущей тогда надо выполнить следующую команды в той дире. где вы хотите это проделать:
1. svn merge -r ${from_revision_usually_head}:${to_revision_from_previous_commits} . --dry-run — смотрим все ли будет так как мы ожидаем
2. svn merge -r ${from_revision_usually_head}:${to_revision_from_previous_commits} . — проводим операцию слияния
3. svn ci -m "reverted to ${to_revision_from_previous_commits} " — комитим результат

Если вам необходимо узнать какие изменения произойдут если вы сделаете svn up, то можно воспользоваться командой svn st -u. Получим список файлов которые изменены, причем звездочкой будут отмечены те файлы, которые изменятся при svn up. То есть если хотим узнать только что изменится после svn up тогда делаем svn st -u | grep "*"

Если вам надо просмотреть 2 (3,4,5...) последних коммитов в working copy directory можно выполнить следующую команду: svn log -rHEAD:BASE -l ${number}, где ${number} — число коммитов , которые надо показать

SVN

Давно хотел порекомендовать, но все забывал. В нашей компании к svn прикрутили веб-интерфейс (WebSVN). Который позволяет просматривать содержимое репозитория/репозиториев в режиме read-only. Так же данный тул умеет выполнять некоторые команды svn. (Например я очень часто пользуюсь svn blame).