Исключая .svn каталоги с WinRar - PullRequest
3 голосов
/ 26 августа 2009

У меня есть сценарий PowerShell, который я использую для создания дистрибутивов, которые копируют скомпилированные файлы из нескольких мест и архивируют их с помощью winrar. В сценарии я перехожу на каталог, содержащий папки, которые я хочу запустить, и выполняю это:

Invoke-Expression ($WinRAR + " a " + $zipPath + " " + $WinRARFilter + " " + $DistName + "-zip " + $WinRAROpts)

Что на самом деле выполняет это:

E:\Progs\WinRar\WinRar.exe a C:\Users\Echilon\Documents\Coding\ResourceBlender-Express\trunk\dist\resourceblender-express_1.44-zip.zip -x*\.svn\* -x*\.svn -x\.svn resourceblender-express-zip -r -s -m5 -inul

Однако ни один из каталогов .svn не исключен из zip-файла. Раньше это работало, и я понятия не имею, почему это не так, но я не могу заставить его исключить нужные файлы.

Полный сценарий находится в кодекплексе в http://resourceblender.codeplex.com/sourcecontrol/changeset/view/27742?projectName=resourceblender#456701 (внизу сценария)

Может ли кто-нибудь с некоторым опытом работы с PowerShell пролить свет на это, пожалуйста?

Ответы [ 6 ]

12 голосов
/ 25 августа 2010

У меня была такая же проблема, решенная с помощью:

-x*.svn\

Я использую WinRar v3.93 для Windows. Обратите внимание на окончательную обратную косую черту.

11 голосов
/ 26 августа 2009

Правильный способ сделать это - выполнить svn export , который создаст копию проекта без каталогов .svn (и всего остального, не контролируемого версией), а затем выполните zip.

1 голос
/ 25 февраля 2014

Это проблема PowerShell. Я поместил ту же команду в командной строке и BOOM!

winrar a -ehs -x*\.svn\* -u -r -afrar -m3 "dest file.rar" "source folder"
1 голос
/ 17 сентября 2009

У меня была такая же проблема, и я нашел эту страницу без решения, поэтому для других людей, гуглящих по ней, правильный переключатель:

-x*\.svn\*
1 голос
/ 26 августа 2009

Я согласен с комментарием Нила Баттерворта о том, что использование команды svn export более уместно в этом случае. Говоря о WinRar, вы можете рассмотреть возможность использования переключателя -e для пропуска скрытых папок (.svn - скрытая папка) и переключателя -ep для исключения его по имени.

Пожалуйста, обратитесь к Руководство WinRar для получения дополнительной информации

0 голосов
/ 09 февраля 2010

В итоге я использовал

-x*\.svn*

Это будет игнорировать фактическую папку .svn, а не только все, что внутри нее. Я также использую WinRAR 3.80. Вы пытались обновить свою версию winrar?

Думаю, что метод экспорта SVN работал намного лучше для меня, потому что я не получил все сборки отладки и разное .dll

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