Svn 如何与已删除的文件交互
我想与最近从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 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