【发布时间】:2014-05-25 19:19:50
【问题描述】:
所以我在 .svn 文件夹中找到了一个文件名如下的文件。
.svn/pristine/fa/faa0544abc11c14647e18c2ee1283b445a1fa1e1.svn-base
现在通过查看这个文件的内容,我想找出它在 SVN 树中的文件名。它现在已从树中删除。那么如何在历史记录中反向查找这个文件呢?
【问题讨论】:
标签: svn reverse-lookup
所以我在 .svn 文件夹中找到了一个文件名如下的文件。
.svn/pristine/fa/faa0544abc11c14647e18c2ee1283b445a1fa1e1.svn-base
现在通过查看这个文件的内容,我想找出它在 SVN 树中的文件名。它现在已从树中删除。那么如何在历史记录中反向查找这个文件呢?
【问题讨论】:
标签: svn reverse-lookup
在您的存储库的.svn 文件夹中,您将找到一个文件wc.db。这是一个 sqlite 数据库。
原始文件夹中的文件名实际上是它的 sha1 校验和。
所以你可以试试这样的:
SELECT local_relpath FROM `NODES` WHERE checksum=`$sha1$faa0544abc11c14647e18c2ee1283b445a1fa1e1`
或
SELECT repos_path FROM `NODES` WHERE checksum=`$sha1$faa0544abc11c14647e18c2ee1283b445a1fa1e1`
【讨论】:
NODES 只有 27 个条目,而这个 repo 中的文件肯定比这更多。我无法在 wc.db 中找到另一个包含我要查找的校验和的表。