Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 如何与已删除的文件交互_Svn_Revision History - Fatal编程技术网

Svn 如何与已删除的文件交互

Svn 如何与已删除的文件交互,svn,revision-history,Svn,Revision History,我想与最近从svn存储库中删除的文件进行交互,但当我尝试这样做时,会收到“不受版本控制”的警告 我特别想做的是svn cat将它的原始版本输出到一个文件以供检查/使用,但我也不能svn log它,因为这也会给出相同的警告 如果我svnlog-v旧文件的父目录,我可以看到添加文件的版本和删除文件的版本。添加文件的版本(我感兴趣的版本)是r1678 如果我做了svn log-r 1678-v路径/file@1678我收到“不受版本控制”警告 如果我做了svn cat-r 1678路径/file@16

我想与最近从svn存储库中删除的文件进行交互,但当我尝试这样做时,会收到“不受版本控制”的警告

我特别想做的是
svn cat
将它的原始版本输出到一个文件以供检查/使用,但我也不能
svn log
它,因为这也会给出相同的警告

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

如果我做了
svn log-r 1678-v路径/file@1678
我收到“不受版本控制”警告

如果我做了
svn cat-r 1678路径/file@1678
我收到“不受版本控制”警告

我怎样才能得到这个文件

如果有关系,“删除”是移动到另一个目录,但我不确定它是如何移动的。如果我执行
svn log newpath/file
操作,则历史记录不包括文件的原始位置,因此我假设它是以不保留历史记录的方式移动的(即:不是相同的svn节点)。但我不确定。如果我在父目录上执行
svn日志
,删除几个级别,使其同时包含旧目录和新目录,我会得到以下结果:

r1804 | ...
M newpath/file

r1755 | ...
M newpath/file

r1700 | ...
D oldpath/file
A newpath/file

r1678 | ...
A oldpath/file
这里的根目录需要与文件最初添加时的原始版本有所不同,这一点我无法轻松获得,因为在文件移动时历史记录被破坏。如果有一个简单的方法可以做到这一点,我们将不胜感激,但从技术上讲,这并不是这个具体问题所要问的

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

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

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

svn info
从工作副本中查找其相对URL。它看起来类似于
^/trunk/newpath
(取决于您在哪个目录上调用它)

可以使用以下方式访问已删除的文件:

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