有可能在SVN中粘贴历史记录吗?

有可能在SVN中粘贴历史记录吗?,svn,tortoisesvn,Svn,Tortoisesvn,我们有一个历史悠久的旧文件,有100次修订 然后,此文件已从存储库中删除。 创建了新文件new_file和旧_file的内容。 不要问我-为什么文件没有被重命名;) 然后新的_文件被更改了5次。 然后使用svn将新的_文件重命名为旧的_文件 现在,如果我们尝试查看旧\u文件的历史记录,我们只会看到与新\u文件相关的最后5个修订。 但我们并没有看到从第一个旧_文件的历史中有多少修订 是否可以修复存储库以查看旧的\u文件(约100个修订版)和新的\u文件(5个修订版)的所有修订版? 我希望使用命令查

我们有一个历史悠久的旧文件,有100次修订

然后,此文件已从存储库中删除。 创建了新文件new_file和旧_file的内容。 不要问我-为什么文件没有被重命名;)

然后新的_文件被更改了5次。 然后使用svn将新的_文件重命名为旧的_文件

现在,如果我们尝试查看旧\u文件的历史记录,我们只会看到与新\u文件相关的最后5个修订。 但我们并没有看到从第一个旧_文件的历史中有多少修订

是否可以修复存储库以查看旧的\u文件(约100个修订版)和新的\u文件(5个修订版)的所有修订版? 我希望使用命令查看所有这些修订 svn lof-q旧文件

顺便说一句 当我尝试从OrtoiseSVN调用“Show Log”时,我可以看到下一个对话框:


下线

连接服务器时出现问题。 是否改为查看缓存的数据

请理解,由于历史记录不完整,缓存的数据可能会过时、不完整甚至具有误导性

暂时离线。永久离线。不要离线


然后我可以看到第一个旧文件的所有100个修订


这是什么意思?

因为Subversion不知道
新的
旧的
是相关的,所以您的问题的答案是否定的;它不会显示所需的合并历史记录。但是,如果您提供适当的版本,您仍然可以访问~100个旧版本

例如:

svn log http://my.repos.com/path/to/OLD_FILE@42 svn日志http://my.repos.com/path/to/OLD_FILE@42
其中42是删除原始
旧文件之前的修订。

简短回答是否

但是,如果新文件更改的日期、修订号以及与其他更改的相对顺序不重要,您可以:

恢复旧的修订历史记录:

svn rm OLD_FILE 
svn copy -r when_old_was_gone OLD_FILE OLD_FILE
在新文件历史记录中填写对新文件所做的所有更改,以及。您必须分别对每个更改进行区分、修补和提交

另一个解决方法是使用tortoise svn和按路径过滤来检索所有修订的日志。将选择相同路径的所有更改