18

我正在开发一款游戏(Quake 3)并使用 SVN 存储库来存储代码树。该树还包含游戏数据(纹理、模型等)。这必须放入 PK3 存档(具有不同扩展名的标准 ZIP 存档)。我在一个简单的脚本中使用 ZIP 实用程序来创建 PK3 存档。

我的问题是游戏数据也是版本化的,包含数据的文件夹中到处都是“.svn”子文件夹。当然,ZIP 将这些子文件夹包含在存档中。游戏不需要它们。有没有一种简单的方法来告诉 ZIP 从存档中排除所有“.svn”子文件夹?

4

3 回答 3

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

这将排除任何子文件夹中以“.svn”开头的所有内容

于 2013-10-30T11:25:51.227 回答
6

与其直接压缩源代码树,不如让您的脚本导出没有.svn目录的源代码树副本?有一个工具:svn export

于 2013-08-16T08:49:05.527 回答
1

我使用的是 Windows 7。您可以在任何文件夹上
烘焙到操作系统并选择“ ”,然后单击“ ”。Right-ClickSend toCompressed (zipped) folder

我发现了一个怪癖,Windows 只会压缩带有点 (.) 前缀的第一个
文件夹。: Windows 7“发送到压缩 (zip) 文件夹”省略了一些名称以点开头的文件夹

这个怪癖(或设计上的神秘功能)让我思考......
如果我创建一个空的“诱饵”点 (.) 前缀文件夹来压缩而不是我的.svn文件夹怎么办?

Windows 不允许您简单地右键单击并创建一个带有点 (.) 前缀的文件夹。
使用 CMD,我在" " 文件夹mkdir .skip_svn所在的同一目录中运行 " " 。 我使用这个答案来解决这个问题:如何在 Windows 7 中创建以点开头的文件夹名称?.svn

压缩目录会保留我的小诱饵“ .skip_svn”文件夹,但忽略“ .svn”文件夹。
无需安装命令行界面第 3 方压缩软件。
我意识到这对许多人来说可能并不理想——它绝不是一个明确的解决方案。
这就是我使备份更快所需的全部内容,它们现在占用的空间要少得多

于 2017-05-04T04:00:26.740 回答