在工作中,我们有一个配置应用程序,可以将用户更新保存到一个大而复杂的XML文件中。每次管理员更改任何内容时,光盘上的配置文件都会更新。
我在想每次管理员保存时,都应该在修订系统中创建一个新版本。我认为"本地文件" -SCM将是首选,必须安装额外的产品并且启动和运行通信将是不需要的安装步骤。由于我们的配置应用程序是单个用户(一次),因此不需要并发性。
我最好的选择是传统的gnu-RCS。但也许还有其他值得考虑的选择。
(我的老板更喜欢没有限制的选项(如GPL),但欢迎所有答案。此外,该产品是基于网络的.net,如果这与您的答案相关。)
答案 0 :(得分:1)
您是否打算在应用程序中显示修改文件的事实?那么,例如,用户可以“从两周前恢复到配置”,就像一种超级撤消?如果没有,为什么你会添加SCM来跟踪文件?
如果是这样,可用的编程库可能会影响选择,因为您将要从代码访问修订历史记录。我想大多数SCM系统都可以实现这一点,例如Git有libgit2这看起来不错。
我确实觉得为单个文件添加完整的SCM在维护和一般复杂性方面可能有点过分。也许您应该只在文件名中存储文件本身的某种计数器后缀,或者在先前版本和当前版本之间存储diff
以节省空间?注意:空间(相当)便宜。