我正在开发一款游戏(Quake 3)并使用 SVN 存储库来存储代码树。该树还包含游戏数据(纹理、模型等)。这必须放入 PK3 存档(具有不同扩展名的标准 ZIP 存档)。我在一个简单的脚本中使用 ZIP 实用程序来创建 PK3 存档。
我的问题是游戏数据也是版本化的,包含数据的文件夹中到处都是“.svn”子文件夹。当然,ZIP 将这些子文件夹包含在存档中。游戏不需要它们。有没有一种简单的方法来告诉 ZIP 从存档中排除所有“.svn”子文件夹?
zip -r output.zip inputdir -x "**/.svn**"
这将排除任何子文件夹中以“.svn”开头的所有内容
与其直接压缩源代码树,不如让您的脚本导出没有.svn
目录的源代码树副本?有一个工具:svn export。
我使用的是 Windows 7。您可以在任何文件夹上
烘焙到操作系统并选择“ ”,然后单击“ ”。Right-Click
Send to
Compressed (zipped) folder
我发现了一个怪癖,Windows 只会压缩带有点 (.) 前缀的第一个
文件夹。: Windows 7“发送到压缩 (zip) 文件夹”省略了一些名称以点开头的文件夹
这个怪癖(或设计上的神秘功能)让我思考......
如果我创建一个空的“诱饵”点 (.) 前缀文件夹来压缩而不是我的.svn
文件夹怎么办?
Windows 不允许您简单地右键单击并创建一个带有点 (.) 前缀的文件夹。
使用 CMD,我在" " 文件夹mkdir .skip_svn
所在的同一目录中运行 " " 。
我使用这个答案来解决这个问题:如何在 Windows 7 中创建以点开头的文件夹名称?.svn
压缩目录会保留我的小诱饵“ .skip_svn
”文件夹,但忽略“ .svn
”文件夹。
无需安装命令行界面或第 3 方压缩软件。
我意识到这对许多人来说可能并不理想——它绝不是一个明确的解决方案。
这就是我使备份更快所需的全部内容,它们现在占用的空间要少得多。