GitHub-like WebUI for Subversion
from cygon@lemmy.world to selfhosted@lemmy.world on 17 Apr 2024 14:02
https://lemmy.world/post/14393101

I already fear that this may be a bit too specific since it’s a bit of a niche need, but here goes:

I’m hosting several Subversion repositories for my indie projects. So far, I just did the plumbing by hand and wrote Apache configs (hosting via mod_dav_svn).

But if I look at all those shiny tools Git users can wield, I really wish for something with a sleek UI and the option to create repositories, manage users and display source and markdown that worked with Subversion.

I know (and have tried):

As well as various abandoned PHP projects with grotesque UIs and which either never fully worked or broke somewhere along the road from PHP 5 to PHP 8.

Can anyone recommend a decent WebUI for Subversion that would let me create repositories, manage users and view repository contents in the browser? Eye candy preferred, as I’m already doing everything I need via CLI tools and WebSVN.


Gentlemen and -women, I have posted this in the hope that someone might know of a niche Subversion UI that I have missed so far. I know everyone means well, but up to here, zero people offered recommendations and all comments either have me to explain why I use Subversion or recommend Git outright

Why I use Subversion

I am already using Git where it makes sense, but believe it or not, apart from being a distributed VCS with decent merging, Git plays a weak game, especially in terms of branching, versatility, binary files and external linking. I have several use cases, including game development assets weighing in from tens to hundreds of megabytes each, to audio production with 5-channel float64 clips that I store uncompressed and edit / clean incrementally. And I link individual assets, deep in the directory tree, into my projects. Absolutely trivial in Subversion, a complete blocker in Git. Even if Git somehow suddenly could do what I need, I wouldn’t want to tackle such a migration for at least a few more years.

#selfhosted

threaded - newest

tagginator@utter.online on 17 Apr 2024 14:02 next collapse

New Lemmy Post: GitHub-like WebUI for Subversion (https://lemmyverse.link/lemmy.world/post/14393101)
Tagging: #SelfHosted

(Replying in the OP of this thread (NOT THIS BOT!) will appear as a comment in the lemmy discussion.)

I am a FOSS bot. Check my README: https://github.com/db0/lemmy-tagginator/blob/main/README.md

agressivelyPassive@feddit.de on 17 Apr 2024 14:09 next collapse

The clear answer is: don’t use subversion. There’s really no reason not to use git, since you can use git just like subversion if you want to.

best_username_ever@sh.itjust.works on 17 Apr 2024 14:12 next collapse

I’m also curious to know why. I’ve used SVN for years, and I got the biggest relief when git or Mercurial appeared.

cygon@lemmy.world on 17 Apr 2024 14:35 next collapse

I’m already using Git for source code related versioning, but some use cases involving large binary files with partial updates aren’t well covered by Git (I’ve gone into some detail in my reply to @vvv@programming.dev).

There’s also the lack of svn:externals in Git. Git submodules can only point to a whole different repository as far as I’m aware.

wildbus8979@sh.itjust.works on 17 Apr 2024 14:55 next collapse

What you’re looking for is git-annex

cygon@lemmy.world on 17 Apr 2024 16:39 collapse

That would (just like Git LFS) store full, separate copies of every single version of the large files I manage. I really, really don’t want to go there, nor do I have even a fraction of the hard drive space for that…

lemmyvore@feddit.nl on 18 Apr 2024 06:28 collapse

Doesn’t it store deduplicated chunks?

wildbus8979@sh.itjust.works on 17 Apr 2024 14:57 next collapse

Also for externals see: stackoverflow.com/questions/571232/…/18088319#180…

cygon@lemmy.world on 17 Apr 2024 16:28 collapse

That’s what I meant when I wrote “Git submodules can only point to a whole different repository” - they can’t point to a path inside a repository, only to another repository root. That unfortunately renders them useless for me (I’d have to set up in the order of hundreds of small repositories for the sets of shared data I have).

wildbus8979@sh.itjust.works on 17 Apr 2024 17:01 collapse

Sounds like your problem could easily be solved with a symlink…

DampCanary@lemmy.world on 18 Apr 2024 07:10 collapse

which breaks if you checkout on windows

MeanEYE@lemmy.world on 18 Apr 2024 08:12 collapse

While true, Git also supports symlinks, so nothing is stopping you from having modules/ directory or something similar and then in link part of it elsewhere in your project.

I_Am_Jacks_____@lemmings.world on 17 Apr 2024 15:07 collapse

One thing I like about SVN that, at least in the past, was not easy with Git is checking out sub directories.

One thing I do is check out svn+ssh://svn/home/svn/configs/server/etc and copy the .svn file over to /etc so that I can check in changes from the actual directory on my servers at home. I never found a good way to do that on Git. But, admittedly, I haven’t looked in a couple years.

savedbythezsh@sh.itjust.works on 17 Apr 2024 19:53 collapse

You mean like git sparse-checkout? Admittedly experimental but useful

I_Am_Jacks_____@lemmings.world on 17 Apr 2024 20:14 collapse

Yeah. SVN’s ability to do that is not experimental. I’m hoping that they make that feature much easier

vvv@programming.dev on 17 Apr 2024 14:18 collapse

I don’t get it, who in their right mind hosts development stuff on a Windows clunker?

Same question, but Subversion. Switch to git. Import your repos with git-svn.

cygon@lemmy.world on 17 Apr 2024 14:32 collapse

I’m already using Git, thus my experience with Gitea. I am well versed with svndumpfilter and git-svn to extract and migrate individual Subversion repositories to Git.

I’m not only hosting code, but I have several projects involving large binary files with binary changes. Git’s delta compression algorithm for binary files is so-so. Git LFS is just outsourcing the problem. Even cloning with –depth 1 --single-branch gives me abysmal performance compared to Subversion.

So I’m still looking for a nice WebUI to make my life with the Subversion repositories I have easier.

vvv@programming.dev on 18 Apr 2024 00:21 collapse

That’s interesting, okay. Is svn doing compression of those binaries for you?

Not to say “you’re holding it wrong”, but I’m curious about your workflow here. You clone these binaries every time you come back to a project?