如何从包含多个项目的SVN存储库中转储一个项目?

Sta*_*rds 42 svn svndumpfilter svnadmin svndump

我正在使用包含许多项目的SVN存储库.我需要将一些项目从该存储库移到单独的存储库中,每个项目一个,保留历史记录.

我已经能够使用svnadmin dump将整个存储库转储svnadmin load到另一个存储库中,但是我找不到从原始存储库中只转储一个项目的方法,因此我可以将其加载到新的存储库中.这可能吗?如果是这样的话?

Avi*_*Avi 65

您可以使用svndumpfilter实用程序执行此操作.SVN书籍对如何做到这一点有很好的解释.

例如,一种方法是:


$ svnadmin dump /path/to/repo 
     | svndumpfilter include /proj > dump-file
$ svnadmin create /new/proj/repo
$ svnadmin load --ignore-uuid /new/proj/repo < dump-file
$ svn rm file:///path/to/repo/proj
Run Code Online (Sandbox Code Playgroud)

  • 值得注意的是,args --drop-empty-revs和--renumber-revs可以与svndumpfilter一起使用来清理版本号中的间隙 (8认同)