简体   繁体   English

大型svn回购的子集上的git-svn

[英]git-svn on subset of large svn repo

repo layout: a/1 a/2 a/3 ... b/1 b/2 ... c/1 c/2 ... 回购布局:a / 1 a / 2 a / 3 ... b / 1 b / 2 ... c / 1 c / 2 ...

git-svn works perfect for me if I work on 1 svn repo subdir. 如果我处理1个svn repo子目录,则git-svn最适合我。 But right now I'm facing the need to work on several subdirs (like, a/1, a/2, and b/1), and there's much shit in repo besides them. 但是现在我面临着需要处理几个子目录(如a / 1,a / 2和b / 1)的需求,回购协议中除了它们之外还有很多其他问题。 I've managed to write a regexp for this, but git-svn with --ignore-paths seems to check each file's name against this regexp, instead of skipping entire folders, so it's too slow. 我已经设法为此编写了一个正则表达式,但是带有--ignore-paths的git-svn似乎会对照此正则表达式检查每个文件的名称,而不是跳过整个文件夹,所以它太慢了。 /* Probably I should file a bug report about this */ / *可能我应该提交有关此问题的错误报告* /

So -- any ideas of handling this? 那么-处理这个的任何想法? If some Mercurial svn agent can do selective clones, it's OK too, but I'd better stick with git. 如果某些Mercurial svn代理可以进行选择性克隆,也可以,但我最好坚持使用git。 My another idea was some selective svn proxy, but I haven't succeeded in googling anything like that. 我的另一个想法是一些选择性的svn代理,但是我没有成功搜索类似的内容。 Thanks! 谢谢!

So far i have not seen a good way to attain this. 到目前为止,我还没有找到实现这一目标的好方法。

Have you considered running: git svn clone yourhost.com/a/1 git svn clone yourhost.com/a/2 .... 您是否考虑过运行:git svn clone yourhost.com/a/1 git svn clone yourhost.com/a/2...。

That should cut down on the transfer, then you stitch the information together through git merge (into one repository) and/or thought git submodules. 那应该减少传输,然后通过git merge(到一个存储库)和/或git子模块将信息缝合在一起。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM