1

To download folder on github i used this command:

sudo apt install subversion
svn export "https://github.com/myuser/myproject/trunk/myfolder

But on gitlab:

svn export "https://gitlab.com/myuser/myproject/-/tree/master/myfolder"

out:

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

the same error changing "trunk" of place in the path

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

I have consulted this thread but they all seem to have the same problem as me. it seems that gitlab does not support svn.

any help or alternative?

question objective: the project is very large and I am only interested in downloading a folder. With subversion on github it's perfect. But gitlab seems unsupported

Update:

the situation gets worse: "We will maintain Subversion support until January 8, 2024 on GitHub.com. After that date, it will be turned off and removed."

https://github.blog/2023-01-20-sunsetting-subversion-support/

2 Answers 2

1

I don't believe GitLab supports Subversion. GitHub has a special Subversion bridge that is specifically designed to take the contents of a Git repository and serve it over Subversion.

You haven't said why you want to use Subversion in this case, but if you want to access the repository on GitLab, you'll need to use Git. That's the recommended approach on GitHub, as well: accessing the data over Git provides a lot more functionality than using the Subversion bridge.

2
  • the project is very big and I am only interested in downloading a folder. With subversion on github it's perfect. But gitlab doesn't support that. any alternative?
    – acgbox
    Commented Jul 23, 2021 at 20:51
  • You can use a shallow clone, which will download a limited number of revisions. Or you can use a partial clone, which will avoid downloading files (blobs) and optionally trees (directories) until they're checked out. You can even use sparse checkout with partial clone, which means only certain directories will be checked out, and therefore only those files will be downloaded.
    – bk2204
    Commented Jul 23, 2021 at 21:57
0

Not a answer but a use case of using the SVN API: Working in he command line for DevOPS, config file and scripts need to be hold under version control as well. In that area, local commits are not useful. All commits should go direct to the server. Checkout and commit a single directory file is also a common use case. With GitHub it was not needed to setup another repo server (SVN) if the R&D switch to Git. SVN API functions are sufficient and easier to use for scripting on shell level, and the script can be used independent of the version control technology (SVN/Git)

the need of a complete clone does not fit to the use cases of working on server level. Diskspace is still valueable if you have to deal with the Datacenter virtual machine admins. (on the laptop a view 100GB does not count that much anymore, with xxTB disk available)

The installation of SubGit can make the link, but it requires the setup of a subversion server. This is working and helps to get a consolidated repo, but does not replace the svn server.

1
  • 1
    "Not a answer"! so why are you answering?
    – Toto
    Commented May 31, 2022 at 13:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .