【问题标题】:SVN - View only the latest version and hide previous versionsSVN - 仅查看最新版本并隐藏以前的版本
【发布时间】:2013-10-14 09:39:54
【问题描述】:

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

但是,这样做,我无法更改密码数据库的主密码,因为新密码数据库的密码只会在最新版本上受到影响,任何拥有以前密码的人仍然可以去此数据库的先前版本并获取大多数其他仍然有效的密码。

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

【问题讨论】:

    标签: svn


    【解决方案1】:

    Subversion 是一种完全错误的方式来做你想做的事情。原因:

    1. Subversion 不是备份!
    2. Subversion 不是备份系统!
    3. Keepass 还有其他"centralizing" your storage 方法
    4. 当人们必须将不同的更改集合并到数据库并返回到存储库时,您还会遇到其他不一致的问题。

    查看this SO post 的答案,了解如何更好地处理此问题。

    【讨论】:

      【解决方案2】:

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

      如果您希望您的用户只看到文件的最新版本并且仍然想使用 svn 对您的数据库进行版本控制,您需要从您的用户那里抽象出 svn 并确保他们无法访问svn 工作副本和/或数据库。

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-30
        • 1970-01-01
        • 1970-01-01
        • 2022-12-01
        • 1970-01-01
        相关资源
        最近更新 更多