Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/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_History_Restore - Fatal编程技术网

还原已删除目录的SVN历史记录

还原已删除目录的SVN历史记录,svn,history,restore,Svn,History,Restore,情况和历史: R1.)/project/path包含大量的文件和目录以及日志 R2.)/project/path在一年前被删除 R3.)通过添加替换为/project/path的本地副本。(40%的文件保持不变,否则删除) R4.)一年后,/project/path有很多更改,其中包括日志 现在,我们要恢复/project/path中那些文件的R1+R4日志历史记录 有什么可行的方法吗?不幸的是,我没有找到这样做的方法 更新: 最终结果应该是R4文件集,但使用R1+R4日志。 目前,我们需要

情况和历史:

R1.)/project/path包含大量的文件和目录以及日志

R2.)/project/path在一年前被删除

R3.)通过添加替换为/project/path的本地副本。(40%的文件保持不变,否则删除)

R4.)一年后,/project/path有很多更改,其中包括日志


现在,我们要恢复/project/path中那些文件的R1+R4日志历史记录

有什么可行的方法吗?不幸的是,我没有找到这样做的方法


更新:

最终结果应该是R4文件集,但使用R1+R4日志。
目前,我们需要查看R1和R4中的日志。

首先,为了简化您的操作,您可以使用-r(修订版)将R2路径复制到某个新位置:/project/old\u path。现在,您可以像处理任何其他分支一样处理该路径

然后使用svn merge或通过查看两个版本的每个文件并添加所需的/diff/merge来手动与R4合并

从svn的角度来看,R4中的
old_路径
目录和
path
与其他两条路径没有太大的关联。svn不知道应该使用这两个修订版的哪些部分

您还可以将-r directy与svn merge:()


如果你能更详细地解释一下你想要什么样的合并效果,你可能会得到一个更好的答案。

首先,为了简化你的想法,你可以用-r(修订版)将R2路径复制到某个新位置:/project/old\u path。现在,您可以像处理任何其他分支一样处理该路径

svn help co
checkout (co): Check out a working copy from a repository.
usage: checkout URL[@REV]... [PATH]
然后使用svn merge或通过查看两个版本的每个文件并添加所需的/diff/merge来手动与R4合并

从svn的角度来看,R4中的
old_路径
目录和
path
与其他两条路径没有太大的关联。svn不知道应该使用这两个修订版的哪些部分

您还可以将-r directy与svn merge:()

如果你更详细地解释你想要什么样的合并效果,你可能会得到一个更好的答案

svn help co
checkout (co): Check out a working copy from a repository.
usage: checkout URL[@REV]... [PATH]
注意URL中的@REV-因为SVN是VCS(版本控制系统),所以它有关于任何和所有旧版本的数据

如果R4是当前状态,您可以在任何新位置签出旧版本(R2-1),其中旧内容仍然存在

注意URL中的@REV-因为SVN是VCS(版本控制系统),所以它有关于任何和所有旧版本的数据


如果R4是当前状态,您可以在任何新位置签出旧版本(R2-1),其中仍然存在旧内容

为什么要使用这样一个旧的文档链接:(这是最新的)。@khmarbaise,ok修复了。关键是要使用-r。现在还不清楚step OP有什么问题。我们已经创建了用于查找以前历史的/project/old_路径。但在两个分支中查找注释并不是最好的方法。最终结果应该是R4文件集,但使用R1+R4 log.svn将需要的文件复制到路径中。在同一个目录中不能有两个冲突的文件历史记录。为什么要使用这样一个旧的文档链接:(这是最新的)。@khmarbaise,确定修复了。关键是要使用-r。现在还不清楚step OP有什么问题。我们已经创建了用于查找以前历史的/project/old_路径。但在两个分支中查找注释并不是最好的方法。最终结果应该是R4文件集,但使用R1+R4 log.svn将需要的文件复制到路径中。在同一目录中不能有两个冲突的文件历史记录。我的问题是理解为什么要恢复历史记录?SVN中存在历史记录,但您似乎想撤消所做的更改?不,我不想撤消某些内容,需要历史记录来跟踪文件中的更改。我的问题是理解您为什么要恢复历史记录?历史记录存在于SVN中,但看起来您想撤消所做的更改?不,我不想撤消某些内容,需要历史记录来跟踪文件中的更改。