SVN通过svn:external
功能提供外部源链接。我正在使用Git存储库中的模块。我可以将此Git存储库用作外部源吗?
我的模块Git存储库在Github中。所以Github的具体方式也很受欢迎。
答案 0 :(得分:3)
Github宣布支持SVN。 https://github.com/blog/626-announcing-svn-support
我直接将我的Github存储库添加为svn:external
。
答案 1 :(得分:2)
Github上的存储库可以像Subversion存储库一样工作。见this blog post about their improved SVN support。它似乎很慢,但它确实有效。
将git存储库放入SVN存储库的另一个解决方案是在嵌套的存储库目录中设置svn:ignore并使用Makefile来克隆和更新git存储库。
cd svn-repository
svn propset svn:ignore gitdir .
然后对您的Makefile
或其他构建系统执行类似的操作。
GITREPO=git://github.com/schwern/perl5i.git
GITDIR=gitdir
all : $(GITDIR)
$(GITDIR)/.git :
git clone $(GITREPO) $(GITDIR)
$(GITDIR) : $(GITDIR)/.git
cd $(GITDIR) && git pull
首先调用make
将克隆git存储库。后续调用将进行更新。
我更喜欢这个解决方案。它不依赖于Github上的git存储库,也不依赖于仿真。 git存储库可以作为git存储库工作,而不必经过仿真,其中git和SVN之间的冲突概念可能会导致问题。
答案 2 :(得分:0)
只需使用以下网址从GitHub获取tarball或zipball:
https://github.com/UserName/ProjectName/zipball/master
或者如果您更喜欢tarball:
https://github.com/UserName/ProjectName/tarball/master
它们是代码的快照,已压缩。