Сделайте так, чтобы рабочий каталог SVN содержал ТОЧНО так же, как чистая проверка - PullRequest
0 голосов
/ 11 марта 2010

Для сборки, упаковки файлов и т. Д. Необходима полностью чистая версия из SVN. Не может быть никаких файлов без версий, например, test.png может быть упакован, если все файлы PNG будут захвачены.

Но, чтобы получить совершенно новый контроль, нужно много времени и пропускной способности. Так есть ли способ взять рабочий каталог и сделать его точно идентичным чистой проверке, удалив не версионные файлы, а также выполнив обновление svn?

Ответы [ 3 ]

2 голосов
/ 11 марта 2010

Если вы хотите:

  • получить то, что на SVN
  • и ничего больше
  • и, в идеале, нет .svn каталогов

Тогда лучшее решение - использовать svn export.


Да, он будет экспортировать все файлы из SVN, что означает, что это займет некоторое время и потребит немного пропускной способности; но это, вероятно, лучшее решение, чтобы избежать каких-либо проблем.

И, как примечание: он позволяет вам создавать свой архив с компьютера разработчика, не возвращая текущую работу.


Иначе вам придется:

  • Сделайте svn revert, чтобы отменить изменения, которые вы внесли в свою рабочую копию и не зафиксировали.
  • И затем убедитесь, что все каталоги .svn исключены из вашего архива.
2 голосов
/ 11 марта 2010

Здесь - это команда, которая перечисляет все неверсированные файлы в каталоге subversion:

svn status --no-ignore | grep '^\?' | sed 's/^\?      //'

Обновление и удаление файлов будут выглядеть так:

svn update && svn status --no-ignore | grep '^\?' | sed 's/^\?      //'  | xargs rm -rf

Возможно, вы захотите сделать возврат вместо обновления, если вы хотите точно такую ​​же версию. Тем не менее, лучшим способом было бы использовать svn export.

0 голосов
/ 11 марта 2010

Вы можете написать скрипт, который удаляет все файлы, которые не находятся в каталоге .svn, и каждый каталог, который не имеет подкаталога .svn. Затем запустите 'up', и все, что он сделает, это скопирует файлы из копий в каталоге .svn.

Однако все эти каталоги .svn все еще могут дать вам газ, поэтому прочитайте ответ Паскаля, даже если это займет много времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...