如何与已删除的文件进行互动

时间:2016-11-10 16:50:26

标签: svn revision-history

我想与最近从svn存储库中删除的文件进行交互,但是当我尝试这样做时,我得到一个"而不是版本控制"警告。

我想要具体做的是svn cat将其原始版本发送到文件以供检查/使用,但我也不能svn log,因为这也会给出相同的警告。< / p>

如果我svn log -v旧文件的父目录,我可以看到添加文件的版本和删除文件的版本。添加文件的版本(我感兴趣的版本)是r1678。

如果我svn log -r 1678 -v path/file@1678我得到&#34;不受版本控制&#34;警告。

如果我svn cat -r 1678 path/file@1678我得到&#34;不受版本控制&#34;警告。

如何获取文件?

如果重要,&#34;删除&#34;是移动到另一个目录,但我不确定它是如何移动的。如果我执行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

这里的root需要是一个diff文件的原始版本,就像它第一次添加时一样,由于历史记录在文件移动时被破坏,我无法轻易获得。如果有一种简单的方法可以做到这一点,那将是值得赞赏的,但这在技术上并不是这个具体问题所要求的。

那么如何与已删除的文件进行交互?

1 个答案:

答案 0 :(得分:0)

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

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

$user_id = \JFactory::getUser()->id; 

从工作副本中找到相对网址。它看起来像svn info (取决于你调用它的目录)。

可以使用(例如)

来访问已删除的文件
^/trunk/newpath