【发布时间】:2017-03-24 19:08:39
【问题描述】:
我想与最近从 svn 存储库中删除的文件进行交互,但是当我尝试这样做时,我收到“不受版本控制”警告。
我想要做的具体是将svn cat它的原始版本输出到一个文件中以供检查/使用,但我也不能svn log它,因为这也会给出相同的警告。
如果我 svn log -v 旧文件的父目录,我可以看到添加文件的修订版和删除文件的修订版。添加文件的版本(我感兴趣的版本)是 r1678。
如果我这样做 svn log -r 1678 -v path/file@1678 我会收到“不受版本控制”警告。
如果我这样做svn cat -r 1678 path/file@1678,我会收到“不受版本控制”警告。
如何获取文件?
如果重要的话,“删除”是移动到不同的目录,但我不确定它是如何移动的。如果我执行svn log newpath/file,则历史记录不包括文件的原始位置,因此我假设它以不保留历史记录的方式移动(即:不同的 svn 节点)。但我不确定。如果我在父级上执行svn log 删除了几个级别以便它包含旧目录和新目录,我会得到以下信息:
r1804 | ...
M newpath/file
r1755 | ...
M newpath/file
r1700 | ...
D oldpath/file
A newpath/file
r1678 | ...
A oldpath/file
这里的根本需求是文件的原始版本与首次添加时的差异,由于历史在文件移动时被破坏,我无法轻易获得。如果有一种简单的方法可以做到这一点,我们将不胜感激,但从技术上讲,这并不是这个特定问题所要问的。
那么我该如何与被删除的文件进行交互呢?
【问题讨论】:
标签: svn revision-history