Как исключить папки .svn из ZIP-архива?

Я работаю над игрой (Quake 3) и использую репозиторий SVN для хранения дерева кода. Дерево также содержит игровые данные (текстуры, модели и т.д.). Это должно быть помещено в архив PK3 (стандартный ZIP-архив с другим расширением). Я использую утилиту ZIP в простой script для создания архива PK3.

Моя проблема заключается в том, что данные игры также версируются, а папка, содержащая данные, загромождена всеми этими ".svn" подпапками. Конечно, ZIP включает эти подпапки в архив. Они не нужны в игре. Есть ли простой способ сказать ZIP исключить все вложенные папки .svn из архива?

Ответ 1

zip -r output.zip inputdir -x "**/.svn**"

это исключает все, начиная с ".svn" в любой подпапке

Ответ 2

Вместо того, чтобы прятать исходное дерево напрямую, почему бы не < script экспортировать копию исходного дерева без каталогов .svn? Там есть инструмент для этого: svn export.

Ответ 3

Я использую Windows 7.
Запеченная в ОС вы можете Right-Click в любой папке и выбрать "Send to", а затем нажать "Compressed (zipped) folder".

Там причуда я обнаружил, что Windows будет сжимать только первую папку с префиксом точки (.):
Windows 7 "отправить в сжатую (zip) папку" опускает некоторые папки, имя которых начинается с точки

Эта причуда (или таинственная особенность по дизайну) заставила меня думать...
Что делать, если я создал пустую "приманку" (.) Префиксную папку для сжатия вместо моей папки .svn?

Windows не позволит вам просто щелкнуть правой кнопкой мыши и создать папку с префиксом точки (.).
Используя CMD, я запускал "mkdir .skip_svn" в том же каталоге, в котором находилась папка ".svn".
Я использовал этот ответ, чтобы понять, что один из них:
Как создать имя папки, которое начинается с точки в Windows 7?

Сжатие каталога сохраняет мою маленькую приманку ".skip_svn" папка , но игнорирует папку .svn.
Нет установленных в командной строке интерфейсов или сторонних разработчиков.
Я понимаю, что это может быть не идеальным для многих - это отнюдь не окончательное решение.
Это все, что мне нужно, чтобы сделать мои резервные копии быстрее, и теперь они занимают много места меньше.