1

我有一个用 IDE 编写的相当大的软件项目,它将源文件存储在具有专有格式的压缩存档文件中。

我想将源代码置于版本控制之下( TortoiseSVN / SlikSvn, Windows )

不幸的是,如果不首先以纯文本格式导出文件,就没有简单的方法来进行比较,并且文件比较对于开发非常重要。

我有一个提取工具,但速度相对较慢。

如何在提交前仅导出修改/添加的文件?

我被告知在这种情况下做一个预提交钩子是非常糟糕的(见http://svnbook.red-bean.com/en/1.5/svn.reposadmin.create.html#svn.reposadmin.create.hooks )

4

1 回答 1

0

你可以编写一个 TortoiseSVN Start-commit 钩子。请参阅 TortoiseSVN 文档。这将在开发人员的机器而不是服务器上执行。该脚本将从存档中提取所有文件,然后提交除存档文件之外的所有文件。当您进行更新时,您只会更新存档文件。当你想对一个档案做差异分析时,你可以在 TortoiseSVN 中为档案文件扩展名设置一个自定义差异工具。diff 工具可以是一个脚本,它提取文件然后将它们与 repo 中文件的提取版本进行比较。查看存储库浏览器中的差异时,请查看提取的文件而不是存档。

提交不适用于 SlikSVN。如果你需要做命令行提交,你可以使用 TortoiseProc.exe 而不是 SlikSVN,这样你的 start-commit 钩子就会运行。

于 2012-09-14T20:35:03.387 回答