【问题标题】:How to interact with deleted file如何与已删除的文件进行交互
【发布时间】: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


    【解决方案1】:

    删除的文件不再在工作副本中,因此您需要从存储库访问修订版。

    您似乎已经确定了您感兴趣的修订和路径名。使用:

    svn info
    

    从您的工作副本中,找到它的相对 URL。它看起来像^/trunk/newpath(取决于您调用它的目录)。

    删除的文件可以使用(类似的东西)访问:

    svn cat -r 1700 ^/trunk/newpath/file
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-07
      • 1970-01-01
      • 2017-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多