如何使用 git 存储库作为 svn:external?
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
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.Github 上的存储库可以充当 Subversion 存储库。请参阅这篇关于改进的 SVN 支持的博文。看起来很慢,但是确实有效。
更新 GitHub 上的 Subversion 支持结束2024 年 1 月。
将 git 存储库放入 SVN 存储库中的另一个解决方案是在嵌套存储库目录上设置 svn:ignore 并使用 Makefile 克隆和更新 git 存储库。
然后对您的 Makefile 或其他构建系统执行类似的操作。
第一次调用
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.
Then do something like this to your
Makefile
or other build system.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.
只需使用以下 URL 从 GitHub 获取 tarball 或 zipball:
或者如果您更喜欢 tarball:
它们是压缩的代码快照。
Just fetch the tarball or zipball from GitHub using this URL:
Or if you prefer tarballs:
They are snapshots of the code, zipped up.