2009-02-27 105 views
1

我在同一个SVN存储库下存储了多个项目。我按照手册做了这个:I svnadmin dump c:\repository | svndumpfilter include <my project> > myproject.dump从SVN存储库导出单个项目

我的问题是,svndumpfilter窒息与错误“无效的复制源路径”,因为我们前一段时间从分支移动该特定项目回到另一个文件夹。

有没有人成功处理过这个问题?

我目前正在考虑转储主存储库的块,跳过可能导致错误的修订。然后我会将每个块加载到新的存储库中,每个块放在一个文件夹下,然后使用Eclipse进行合并。这对你是否理智?你看到它有什么问题吗?

回答

0

这个项目是如何移动的?有一个svn move命令可用于移动文件/目录,更重要的是,让Subversion知道所述文件/目录已被移动。

svn move -m "Moved old/dir to new/dir" file:///url/to/old/dir file:///url/to/new/dir 

既然你已经离开的话,我建议你尝试对项目的老位置使用svn delete。这应该迫使颠覆删除旧的位置参考:

svn delete -m "Project was moved some time ago, reflecting in repository" file:///url/to/old/dir 
0

的语法是:

svnadmin dump c:\repository | svndumpfilter include project > myproject.dump 

这将包括项目下的所有内容。

有关更多详细信息,我添加了svndumpfilter帮助。

$ svndumpfilter help include 
include: Filter out nodes without given prefixes from dumpstream. 
usage: svndumpfilter include PATH_PREFIX... 

Valid options: 
    --drop-empty-revs  : Remove revisions emptied by filtering. 
    --renumber-revs   : Renumber revisions left after filtering. 
    --skip-missing-merge-sources : Skip missing merge sources. 
    --targets ARG   : Pass contents of file ARG as additional args 
    --preserve-revprops  : Don't filter revision properties. 
    --quiet     : Do not display filtering statistics. 
相关问题