要下载 github 上的文件夹,我使用以下命令:
sudo apt install subversion
svn export "https://github.com/myuser/myproject/trunk/myfolder
但在 gitlab 上:
svn export "https://gitlab.com/myuser/myproject/-/tree/master/myfolder"
出去:
svn: E170013: Unable to connect to a repository at URL '/myuser/myproject/-/tree/master/myfolder'
svn: E160013: path '/myuser/myproject/-/tree/master/myfolder' not found
改变路径中位置的“主干”时出现相同的错误
https://gitlab.com/myuser/myproject/trunk/-/tree/master/myfolder
https://gitlab.com/myuser/myproject/-/trunk/tree/master/myfolder
https://gitlab.com/myuser/myproject/-/tree/trunk/master/myfolder
https://gitlab.com/myuser/myproject/-/tree/master/trunk/myfolder
我咨询过此主题但他们似乎都遇到了和我一样的问题。gitlab 似乎不支持 svn。
有什么帮助或者替代方案吗?
问题目标:项目很大,我只想下载一个文件夹。使用 github 上的 subversion 很完美。但 gitlab 似乎不支持
更新:
情况变得更糟:“我们将在 GitHub.com 上维护对 Subversion 的支持,直到 2024 年 1 月 8 日。在此日期之后,它将被关闭并删除。”
https://github.blog/2023-01-20-sunsetting-subversion-support/
答案1
我不相信 GitLab 支持 Subversion。GitHub 有一个特殊的 Subversion 桥,专门用于获取 Git 存储库的内容并通过 Subversion 提供服务。
您还没有说明为什么在这种情况下要使用 Subversion,但是如果您想访问 GitLab 上的存储库,则需要使用 Git。这也是 GitHub 上推荐的方法:通过 Git 访问数据比使用 Subversion 桥提供更多功能。
答案2
这不是答案,而是使用 SVN API 的用例:在 DevOPS 的命令行中工作,配置文件和脚本也需要进行版本控制。在该领域,本地提交没有用。所有提交都应直接发送到服务器。签出并提交单个目录文件也是一个常见的用例。使用 GitHub,如果研发切换到 Git,则无需设置另一个 repo 服务器 (SVN)。SVN API 函数足以在 shell 级别编写脚本,并且更易于使用该脚本,而不受版本控制技术 (SVN/Git) 的影响
完全克隆的需求并不适合在服务器级别工作的用例。如果您必须处理数据中心虚拟机管理员,磁盘空间仍然很有价值。(在笔记本电脑上,100GB 的视图不再那么重要,因为有 xxTB 的磁盘可用)
安装 SubGit 可以建立链接,但需要设置 subversion 服务器。这可以正常工作,并有助于获得合并的存储库,但不能替代 svn 服务器。