【问题标题】:SVN - Automatically generate unique ID for every versioned fileSVN - 为每个版本化文件自动生成唯一 ID
【发布时间】:2015-08-28 15:26:51
【问题描述】:

SVN 存储库中的每个版本化文件是否有唯一标识符?如果是,可以使用svn 命令读取吗?如果不是,是否可以在每个svn add 调用中生成一个?

例如,如果我有一个 GUID 生成器应用程序,我可以在每个 svn add 上调用它,并以某种方式将其输出(新的 GUID)紧密绑定到添加的文件吗?在本地存储是不够的:唯一的 ID 必须存储在 SVN 服务器上,因为我们必须能够在每个 svn checkoutsvn update 期间下载它。

【问题讨论】:

    标签: file svn version-control guid uniqueidentifier


    【解决方案1】:

    SVN 存储库中的每个版本化文件是否都有唯一标识符?

    不,在常识中。你为什么想拥有它?理论上,文件的 URL 可以是这样的 UUID,或者 URL@PEG,如果你必须有内容的 ID,而不仅仅是位置

    如果可以,是否可以使用一些 svn 命令读取?

    svn info URL/OF/FILE 可能会有所帮助

    >svn info https://subversion.assembla.com/svn/proofsheets.natasha/readme.textile
    Path: readme.textile
    Name: readme.textile
    URL: https://subversion.assembla.com/svn/proofsheets.natasha/readme.textile
    Relative URL: ^/readme.textile
    Repository Root: https://subversion.assembla.com/svn/proofsheets.natasha
    Repository UUID: 3f205b2a-3c6b-4d59-9930-a6250b31609f
    Revision: 5
    Node Kind: file
    Last Changed Author: lazybadger
    Last Changed Rev: 2
    Last Changed Date: 2013-11-28 00:13:01 +0600 (Чт, 28 ноя 2013)
    

    您可以使用URL(全局唯一)、Relative URL(回购范围唯一)、Repository UUID+Relative URL(全局唯一)

    如果我有一个 GUID 生成器应用程序,我可以在每个 svn add 上调用它

    您可以在添加之后和提交之前调用它

    以某种方式将其输出(新的 GUID)紧密绑定到添加的文件?

    是的。阅读(自定义)SVN 属性、propset 命令、-F 命令选项并使用它。结果,您将获得一些随时间变化的版本化数据作为文件的附加属性,您可以独立于 checkout|update 进行读取 (propget) 和写入 (propset|propedit)

    【讨论】:

    • 谢谢。我会尝试propset。其他选项太长了,我需要一些简短的东西,比如 GUID。长话短说,我必须在关系数据库中记录一些版本化文件的使用情况,并且我想通过绑定到 SVN 的 ID 来识别记录所指的文件。
    猜你喜欢
    • 2021-01-16
    • 2015-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    • 1970-01-01
    • 2018-12-26
    • 2016-09-27
    相关资源
    最近更新 更多