Svn 我可以重新连接subversion中未正确提取的库的历史记录吗?

Svn 我可以重新连接subversion中未正确提取的库的历史记录吗?,svn,Svn,“某人”已提取 /giant-repo/trunk/sublib 进入 使用svn cp和svn mv正确复制或移动了一些目录和文件,从而保留了历史记录 其他文件和目录是在新位置新构造的(从sublib到fancyname),然后从原始位置复制文件内容(即未版本化) 我看到的是: ~/work/fancyname> svn log -r 1234 --verbose ... A /fancyname/trunk/foo.txt A /fancyname/trunk/bar.t

“某人”已提取

/giant-repo/trunk/sublib
进入

使用
svn cp
svn mv
正确复制或移动了一些目录和文件,从而保留了历史记录

其他文件和目录是在新位置新构造的(从
sublib
fancyname
),然后从原始位置复制文件内容(即未版本化)

我看到的是:

~/work/fancyname> svn log -r 1234 --verbose
...
   A /fancyname/trunk/foo.txt
   A /fancyname/trunk/bar.txt (from /giant-repo/trunk/sublib/bar.txt:950)
...
目前总共有大约140个文件,有100个提交到
/fancyname/trunk

有没有办法告诉subversion,在
r1234
中添加的
foo.txt
,确实应该是sublib/foo.txt:950的副本

如果不是(我怀疑是这样的),我怎么能把它做成这样呢? 我想,对于在新repo中没有任何提交的文件,最简单的解决方案是删除新文件(是否有一个“超级”还原来还原存储库中的添加?),然后发出正确的
svn cp


对于新repo中发生更改的文件,有没有办法“pickle”这些更改,正确复制文件,然后重新应用更改?

您无法在SVN中修改历史记录(如果不转储repo并修改转储文件,这将是一项繁重而繁琐的工作)

所以最简单(不是正确的!)的方法是

svn重命名foo.txt foo_error.txt
,然后

svn复制foo。txt@950foo.txt
(现在提交)


从现在起,您已经修复了foo.txt的历史记录。版本历史记录之间的时间已中断。您无法使用svn客户端修复它。

您无法在svn中修改历史记录(不转储回购和修改转储文件,这是一项繁重而繁琐的工作)

所以最简单(不是正确的!)的方法是

svn重命名foo.txt foo_error.txt
,然后

svn复制foo。txt@950foo.txt
(现在提交)

从现在起,您已经修复了foo.txt的历史记录。版本历史记录之间的时间已中断。您无法使用svn客户端修复它

~/work/fancyname> svn log -r 1234 --verbose
...
   A /fancyname/trunk/foo.txt
   A /fancyname/trunk/bar.txt (from /giant-repo/trunk/sublib/bar.txt:950)
...