SVN - 仅查看最新版本并隐藏以前的版本

时间:2013-10-14 09:39:55

标签: svn

我想在版本控制中存储密码存储库数据库(Keepass)。原因是 - 这确保了自动备份,集中了位置,并且还消除了将文件存储在网络共享驱动器等中的所有不一致。

然而,通过这样做,我失去了更改密码数据库主密码的能力,因为新密码数据库的密码只会受到最新版本的影响,任何拥有以前密码的人仍然可以访问此数据库的先前版本并获取大多数仍然有效的其他密码。

那么,有没有办法可以阻止其他人阅读以前的版本?换句话说,只有最新版本的文件应该可见(或)可以读取/结账等?

2 个答案:

答案 0 :(得分:2)

颠覆是完全错误的方式去做你想做的事情。原因:

  1. Subversion不是备份!
  2. Subversion不是备份系统!
  3. 还有其他"centralizing" your storage与Keepass
  4. 的方法
  5. 当人们必须将不同的更改集合并到数据库并返回存储库时,您将遇到其他不一致问题。
  6. 查看this SO post的答案,了解如何更好地处理此问题。

答案 1 :(得分:0)

SVN等版本控制系统的主要目的之一是提供对单个文件的所有先前版本(修订版)的访问。

如果您希望您的用户仅查看该文件的最新修订版,并且仍希望使用svn对您的数据库进行版本控制,则需要将svn从您的用户中抽象出来,并确保他们无法访问svn工作副本和/或数据库。

您可以使用网络共享驱动器来提供文件,但仍然可以在svn中对文件/目录进行版本控制。但是,您的用户无权访问.svn目录。

另一个想法是为密码文件提供包装器。操作系统定期调用的某些deamon /脚本将更新其内部数据库,然后将数据库文件复制到某个位置。您必须确保您的用户无权访问此脚本和存储库,因此无法检查脚本。