如何将 git 存储库用作 svn:external?

问题描述 投票:0回答:3

SVN 通过

svn:external
功能提供外部源链接。我正在使用 Git 存储库中的模块。我可以使用这个 Git 存储库作为外部源吗?

我的模块 Git 存储库位于 Github 中。所以Github具体方式也欢迎。

git svn external git-submodules
3个回答
2
投票

Github 宣布支持 SVN。 https://github.com/blog/626-announcing-svn-support

我直接将我的 Github 存储库添加为

svn:external


2
投票

Github 上的存储库可以充当 Subversion 存储库。请参阅这篇关于改进的 SVN 支持的博客文章。虽然看起来很慢,但是确实有效。

更新 GitHub 上的 Subversion 支持已于 2024 年 1 月结束

将 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 之间的概念冲突可能会导致问题。


0
投票

只需使用以下 URL 从 GitHub 获取 tarball 或 zipball:

https://github.com/UserName/ProjectName/zipball/master

或者如果您更喜欢 tarball:

https://github.com/UserName/ProjectName/tarball/master

它们是压缩的代码快照。

© www.soinside.com 2019 - 2024. All rights reserved.