【问题标题】:Can RCS be used to version control entire directories?RCS 可以用来对整个目录进行版本控制吗?
【发布时间】:2016-12-15 20:45:46
【问题描述】:

我希望 RCS 对 /var/spool/cron/crontabs/ 中的所有文件以及在那里创建的任何新文件进行版本控制。但是从文档中可以看出,您必须为其提供文件名而不是目录名。

可以使用 RCS 来执行此操作吗?有没有更好的工具可以使用?

【问题讨论】:

    标签: version-control backup rcs


    【解决方案1】:

    我可以使用一个名为 etckeeper 的程序,我只需要进行一些修改,因为默认情况下它用于版本控制 /etc。

    【讨论】:

      【解决方案2】:

      TL;DR

      如果您需要与 RCS 兼容的文件,但还需要使用目录,请使用 CVS。否则,请使用更现代的源代码管理 (SCM) 系统,以您想要的方式处理目录。在某些情况下,转换脚本可以减轻迁移的痛苦,您可以选择这样做。示例包括 svn importrcs-fast-export 通过管道传输到 git-fast-import

      文件的 RCS; “带有目录的 RCS”的 CVS

      RCS 适用于单个文件。 CVS 使用 RCS 文件格式,还允许您使用 add directories。但是,目录在 CVS 中并不是真正的一流对象,RCS 根本没有这个概念。如果您迁移到 CVS 只是为了在存在更现代的替代方案时提供目录支持,请谨慎行事。

      目录作为一等对象

      如果目录对您来说真的很重要,您可能需要考虑迁移到将目录视为一流对象的 SCM。 Subversion (svn) 和 Bazaar (bzr) 都将目录视为版本化对象,对您来说可能是不错的选择。

      其他系统(尤其是 Git)将目录作为树对象的一部分进行处理,但并不真正直接对它们进行版本控制。相反,出于实际目的,您可以将 Git 中的目录版本控制视为从树和文件对象计算 的东西。这通常可以正常工作,但同样可能不是您的项目所需要的。

      您的里程会因其他 SCM 而异。如有疑问,请查阅他们的文档。

      【讨论】:

        猜你喜欢
        • 2020-08-13
        • 1970-01-01
        • 1970-01-01
        • 2023-02-11
        • 2020-05-23
        • 1970-01-01
        • 1970-01-01
        • 2015-03-08
        • 2018-08-01
        相关资源
        最近更新 更多