# Document Title


    Is there a VCS for a person who doesn't want to spend every day thinking about how they are supposed to use their VCS?

Mercurial. It is quite good. I used it for quite some while for my personal stuff, but migrated to git becausr it is a useful thing to know if I ever decide to take a dev job.

CVS is easy to set up for local, personal use (set CVS_HOME to a local directory). I used it for a few years, initially out of curiosity, before using Mercurial.

I still use RCS for single files (mostly plain text documents).

Darcs and Pijul are interesting projects that have patches as a primitive. Darcs is known to be slow on bigger projects, and AFAIK Pijul is an attempt at a similar but faster system using Rust (Darcs is written in Haskell).
8 votes

hereticalgorithm
February 22, 2019
(edited February 22, 2019)
Link

It might be a problem of git's model clashing with your intuition of how a VCS should work.

Darcs (more stable, but has performance issues with merging) & Pijul (experimental, faster algorithms) both operate on a patch-based model. Instead of tracking a series of snapshots in time (and branches horizontally), they track sets of changes (and possible combinations).

Users report that this model eliminates the eldrich horror unexpected behavior that lurks dreaming beneath R'lyeh is sometimes obscured by the porcelain interface but still lurks within the plumbing.

That being said, those two projects are step closer towards "academic elegance/purity" (reflecting their theoretical origins) and away from "fast and dirty hacks" (Git was an emergency replacement for a proprietary VCS that suddenly cut ties w/ the Linux Foundation). This may make them a bad cultural/philosophical fit for an EE (or exactly what you've been missing!). YMMV
6 votes

teaearlgraycold
February 22, 2019
Link

Fossil is also an option.

Personally I like git and would use it even for small projects.
4 votes

babypuncher
February 22, 2019
Link

Git is as simple or complicated as you want it to be. Find a good GUI for it and forget about all the features you don't want to use. I don't think any "simpler" VCS will actually be easier in your day to day use than Git, if you're using the right client that offers a workflow you can learn easily.
3 votes

InherentlyGloomy
February 22, 2019
Link

Mercurial is a well established and widely used VCS. Subversion is another one, although I rarely hear people speak well of it.

CVS is an older one that's usually found in legacy systems. It does handle large files and binaries pretty well, to it's credit.

I've heard good things about Bazaar, but I haven't used it personally.
1 vote

Silbern
February 22, 2019
Link
Parent

Subversion was a very popular system back in its day, and tons of open source projects used it. The thing about Subversion is that it's a hierarchical VCS vs Git, which is distributed. Some of the greatest proponents of Git, and the greatest opponents of Subversion, were open source projects, for whom Git worked vastly better with their workflow of merging patches freeform and experimenting with different branches. If you want a hierarchical system, with its pros and cons, Subversion is actually a pretty good choice.
4 votes

        Amarok
        February 22, 2019
        (edited February 22, 2019)
        Link
        Parent

        That's what we were using where I worked... once I managed to pull the 16GBish of data the company had accumulated over decades inside visual sourcesafe out and process it into something that subversion could import without losing all of the versioning history. That was a fun science project. The perl scripts took almost three days to finish processing it all.

        We got pretty drunk to celebrate the day we retired VSS. Good riddance.

        We picked subversion partly because it was an optimal target, built similar to VSS... but more than that, the windows svn server was tied properly into active directory, so I could manage access to the source code using AD groups just like everything else. At the time there weren't many alternatives to do that, and git was a young pup freshly minted without that capability. TortoiseSVN integrated perfectly with windows explorer and we had modules that made subversion into a visual studio native. Everything just worked, no hassles, good security, lots of convenience.
        1 vote

meghan
February 22, 2019
Link

Git is too complicated on purpose because the core program is a CLI app. If you don't want to have to deal with git, then get a GUI app for it and you'll never have touch the commands again if you don't want to. Some good options are https://desktop.github.com/ and https://www.sourcetreeapp.com/

mftrhu
February 22, 2019
Link

If you just want to track changes to a single file, RCS is ancient but it works well enough.

I also use it for another reason (AKA laziness): the comma vee (,v) files it creates are pretty distinctive, and I check in my system configuration files when I fiddle with them - both to keep a history, and to quickly find the ones I modified via locate.