Wednesday, September 18, 2019

an eye on simple version control

This is part 2 of my version control rant. And without starting at the beginning let's just start. I want a simple version control system with a web UI, runs in docker, simple to deploy, operate and backup. So let's go thru the list... (as I was wring this post I found a great reference)

RCS requires a checkout/lock to prevent others from making changes while this person is working. That works for small teams but it's too easy to forget to lock a file. It's a GNU project and it's last change was in 2015 so not sure it'll work on windows or mac although there may be some 3rd party versions. It;s also LOCAL only.

CVS I thought this was also a GNU project but it's not. Apparently nongnu.org. It's last changes were in 2008. This project is mostly dead. As I recall there was a time when CTOs were converting to Subversion like it was xmas day. CVS is just a little better than RCS in that I think there is conflict resolution/merge built in. (checkin/checkout)
as a sidenote I find it interesting that CoreOS only installed git as its default version control interface. Any of thse others might have been a reasonable bootstrap.
Subversion (SVN) has been forked a billion times and it's a data big. It creates huge amounts of data and requires a librarian with skills to manage projects. There are a number of different  UIs but most suck.

GIT and it's many derivatives and addons... [a] does not include a UI except the ones that do. [b] if you make a mistake it's going to cost you [c] it's meant for huge projects.

Mercurial... see GIT. Bitbucket was originally built on Mg but then supported both Mg and Git eventually dropping Mg.

Darcs is written in haskall which in itself is not too bad except that over time you have to be a haskall expert.

Fossil is probably one of my favorites, however, the UI is seriously incomplete and installing it in a container is painful and there are no packages for CoreOS as the developer machine so there is a ton of work to get it to work.

Perforce feels like an enterprise VCS. Too much admin required.

AWS Code commit - not on prem.

MS Team Foundation Server - requires an admin.

Gitless - still requires git.

Visual Sourcesafe  - Windows only.

PVCS - it's been a while since I used that one but it's not free.

Bazaar could have been a contender except it does not have a web ui and it looks like it's tired.

SCCS - I skipped this one.

Never heard of GNU Arch.

Star team skipped it.

Others like Google Docs and DropBox... that's just a misuse of tools.

Helix Core from Perforce... just pissing me off because they appear in ever google search results and they do not fit the bill.

BitKeeper - the reason git exists. And because there are a number of commercial only I'll just skip them.

Now that I've done the work it seems that the only answer is git unless I can get fossil to work in docker.



No comments:

Post a Comment

another bad day for open source

One of the hallmarks of a good open source project is just how complicated it is to install, configure and maintain. Happily gitlab and the ...