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

发布于 2024-12-19 21:43:10 字数 129 浏览 1 评论 0原文

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

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

SVN offers external source link via svn:external feature. And I'm using a module from a Git repository. Can I use this Git repository as an external source?

My module Git repository is in Github. So Github specific way is also welcome.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

情何以堪。 2024-12-26 21:43:10

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

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

Github announced SVN support.
https://github.com/blog/626-announcing-svn-support

I added my Github repository as a svn:external directly.

风柔一江水 2024-12-26 21:43:10

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

A repository on Github can act like a Subversion repository. See this blog post about their improved SVN support. It seems to be very slow, but it works.

UPDATE Subversion support on GitHub ended Jan 2024.

Another solution for putting a git repository inside a SVN repository would be to set svn:ignore on the nested repository directory and use a Makefile to clone and update the git repository.

cd svn-repository
svn propset svn:ignore gitdir .

Then do something like this to your Makefile or other build system.

GITREPO=git://github.com/schwern/perl5i.git
GITDIR=gitdir

all : $(GITDIR)

$(GITDIR)/.git :
    git clone $(GITREPO) $(GITDIR)

$(GITDIR) : $(GITDIR)/.git
    cd $(GITDIR) && git pull

First call to make will clone the git repository. Subsequent calls will do an update.

I like this solution better. It doesn't rely on the git repository being on Github nor does it rely on emulation. The git repository can be worked on as a git repository rather than having to go through emulation where clashing concepts between git and SVN will likely cause problems.

笨笨の傻瓜 2024-12-26 21:43:10

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

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

或者如果您更喜欢 tarball:

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

它们是压缩的代码快照。

Just fetch the tarball or zipball from GitHub using this URL:

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

Or if you prefer tarballs:

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

They are snapshots of the code, zipped up.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文