【问题标题】:Mapping .svn/pristine file back to file in svn (reverse lookup)将 .svn/pristine 文件映射回 svn 中的文件(反向查找)
【发布时间】:2014-05-25 19:19:50
【问题描述】:

所以我在 .svn 文件夹中找到了一个文件名如下的文件。

.svn/pristine/fa/faa0544abc11c14647e18c2ee1283b445a1fa1e1.svn-base

现在通过查看这个文件的内容,我想找出它在 SVN 树中的文件名。它现在已从树中删除。那么如何在历史记录中反向查找这个文件呢?

【问题讨论】:

    标签: svn reverse-lookup


    【解决方案1】:

    在您的存储库的.svn 文件夹中,您将找到一个文件wc.db。这是一个 sqlite 数据库。

    原始文件夹中的文件名实际上是它的 sha1 校验和。

    所以你可以试试这样的:

    SELECT local_relpath  FROM `NODES` WHERE checksum=`$sha1$faa0544abc11c14647e18c2ee1283b445a1fa1e1`
    

    SELECT repos_path FROM `NODES` WHERE checksum=`$sha1$faa0544abc11c14647e18c2ee1283b445a1fa1e1`
    

    【讨论】:

    • 好的,谢谢!这正是这样做的。 DB的格式是SQlite3(至少对于SVN版本1.8.1)
    • 这不会为我返回路径。 NODES 只有 27 个条目,而这个 repo 中的文件肯定比这更多。我无法在 wc.db 中找到另一个包含我要查找的校验和的表。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-25
    • 2011-10-14
    • 2010-12-31
    • 2016-02-06
    • 1970-01-01
    • 2011-04-26
    相关资源
    最近更新 更多