2

在工作中,我们有一个配置应用程序,它将用户更新保存到一个大而复杂的 XML 文件中。每次管理员更改任何内容时,光盘上的配置文件都会更新。

我在考虑每次管理员保存时,都应该在修订系统中创建一个新修订。我认为“本地文件”-SCM 是首选,必须安装额外的产品并启动和运行通信将是一个不需要的安装步骤。也不需要并发,因为我们的配置应用程序是单个用户(一次)。

我最好的选择是传统的gnu-RCS。但也许还有其他值得考虑的选择。

(我的老板更喜欢不受限制的选项(如 GPL),但欢迎所有答案。如果这与您的答案相关,该产品也是基于 Web 和 .net 的。)

4

1 回答 1

1

您是否打算在应用程序中显示文件已修订的事实?这样,例如,用户可以“恢复到两周前的配置”,就像一种超级撤消?如果不是,为什么要添加 SCM 来跟踪文件?

如果是这样,可用的编程库可能会影响选择,因为您将希望从代码中访问修订历史记录。我想大多数 SCM 系统都可以做到这一点,例如 Git 有libgit2,这看起来不错。

我确实感觉为单个文件添加完整的 SCM 在维护和一般复杂性方面可能有点矫枉过正。也许您应该只在文件名上使用某种计数器后缀来存储文件本身,或者diff在先前版本和当前版本之间存储一个以节省空间?注意:空间(相当)便宜。

于 2012-04-17T14:12:57.997 回答