我们有一个历史悠久的文件 OLD_FILE ~ 100 次修订。
然后这个文件从存储库中删除。 并创建了内容为 OLD_FILE 的新文件 NEW_FILE。 不要问我 - 为什么文件不只是重命名 ;)
然后 NEW_FILE 被改变了 5 次。 然后使用 svn 将 NEW_FILE 重命名为 OLD_FILE。
现在,如果我们尝试查看 OLD_FILE 的历史记录 - 我们只会看到与 NEW_FILE 相关的最后 5 次修订。 但是我们没有看到第一个 OLD_FILE 的历史有很多修订。
是否可以修复存储库以查看 OLD_FILE(~100 个修订版)和 NEW_FILE(5 个修订版)的所有修订版? 我想使用命令查看所有这些修订 svn lof -q OLD_FILE
顺便说一句 当我尝试从 TortoiseSVN 调用“显示日志”时,我可以看到下一个对话框:
要下线吗?
连接服务器时出现问题。 您想查看缓存的数据吗?
请理解,由于历史记录不完整,缓存数据可能已过时、不完整甚至产生误导。
暂时离线。永久离线。不要下线
然后我可以看到第一个 OLD_FILE 的所有 100 个修订。
这是什么意思?
最佳答案
简短的回答是否定的。
但是如果 NEW_FILE 更改的日期、修订号和相对于其他更改的相对顺序并不重要,您可以:
恢复旧的修订历史:
svn rm OLD_FILE
svn copy -r when_old_was_gone OLD_FILE OLD_FILE
用svn diff
填充新的文件历史记录对 NEW_FILE 的所有更改,apply the patch和 commit .您必须分别对每个更改进行比较、修补和提交。
另一种解决方法是使用 tortoise svn 检索所有修订的日志并按路径过滤。将选择同一路径的所有更改。
关于svn - 是否可以在 SVN 中粘贴历史记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1790815/