frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

From CVS to Git, thirty years of source control

https://evilgeniuslabs.ca/blog/from-cvs-to-git-thirty-years-of-source-control
28•andsoitis•1d ago

Comments

binaryturtle•1h ago
I use Subversion w/o a server too. You can have your repositories locally (file:///Path/to/repository). All my own (single man) projects are in local SVN repositories. For my use case git is just too much extra friction, and I still love to have my one single unique global revisions number that is linearly increasing with each commit. :)
ktpsns•37m ago
I loved the simple increasing numbers of Subversion. This was better then CVS "ad-hoc" versioning and also far better then git's hashes. Single numbers are easy for humans. I would love git would make it possible to work that way (there is one way: `git describe` can show something like "v1.0.4-14-g2414721" which means "14 commits ahead of tag v1.0.4".)
usrusr•19m ago
Some form of "increment authority" that simply appends to a list of hashes whenever it encounters a commit not yet on the list? Then you could use URI like $authorityhost/orderedcommits/$number as synonyms for the hashes. Multiple increment authorities would not necessarily have them in the exact same order (and "current latest" would likely differ by an order of magnitude or two after some time if you ever had multiple authorities), but it would still provide a lot of intuitive understanding.

I wonder how the tag mechanism would perform if you just burned it with this content. I suspect that it would not perform well...

raverbashing•9m ago
Yes but the .svn dirs everywhere keep being annoying
sgbeal•1h ago
Web design tip: don't have animations within a short distance of text, as human eyes evolved to follow the flashiest/fastest-moving thing around, which makes such text literally illegible to many of us. This particular site takes the cake in that regard by animating the whole page background.
hnarayanan•1h ago
Where are my RCS people at?
raverbashing•50m ago
In a retirement home? /s
voxadam•35m ago
Where does that leave the SCCS people?
zabzonk•25m ago
Killed themselves after using it for fifteen minutes. I used to have to teach a commercial "Intro to Unix" course which had a section on SCCS - shudder!
voxadam•22m ago
I've never actually used SCCS was it that bad? I'd have thought that alcoholism would have been enough to numb the pain.
zabzonk•12m ago
> was it that bad?

I don't know - RCS just made more sense to me. And I really disliked RCS. You know some things are bad when something like CVS seems all warm and cuddly in comparison.

> I'd have thought that alcoholism would have been enough to numb the pain.

You may be right - it would certainly explain some aspects of my life since those days ;)

somat•14m ago
The nostalgia hits hard.

I have a silly little wiki engine I made 20 years ago. It was an exercise in trying to better learn the traditional unix text processing tools. So the page templates were in m4, sed and awk did their traditional heavy lifting for request parsing and page generation. and page history was provided by rcs. Which fit better than cvs because it provides a history per file.

https://nl1.outband.net/fossil/gami/file?name=bin/save_node&...

The whole thing is really the mother of all injection vulnerability waiting to happen but I still am half tempted to try and spin it up once more and see what happens if i put it on the public web.

lysace•1h ago
The slow-branch problem, where the team avoided branching because it took five minutes to create one and an afternoon to merge it.

I kind of "enjoyed" this aspect of CVS (for small teams, at least) since it strongly encouraged trunk based development.

oblio•59m ago
Fairly accurate in my experience.

Also a note about a specific bias from old-heads:

At the start things move much faster and changes are more impactful, but the start is ultimately much shorter than the rest of the lifecycle. That's why a lot of the stories you read about tech are about the early years (let's say 5-10 years, chronologically) and less so about the mature years (which can span 3+ decades, chronologically). So the early period has outsized visibility because it's cooler, I guess?

* * *

Using SCMs as an example:

SSCS - 1972. But at that point there was no internet and the number of computer users was minuscule. So SCCS is just a curiousity, a footnote, probably used by 0.000001% of Git users. So at this point for most practitioners SCMs basically don't exist.

RCS - 1982. See SCCS. SCMs still practically don't exist for most practitioners.

CVS - 1986. Now the internet is getting started and the number of computers in the world has increased by orders of magnitude. Even so, adoption of core development technologies like SCMs is slow and yes, it took CVS at least 10 years to become somewhat established. Even at this point, probably at least 50% of software developers still don't use SCMs (especially less professional ones). Visual Source Safe runs in parallel to CVS, with its own problems described in the article.

SVN - 2000. The internet is in full swing, computers are ubiquitous, things are really moving. It's super hard to evaluate how many developers still don't use SCMs, but the number is going down (maybe 30-40%?) and SVN is taking the world by storm. Even after the launch of Git in 2005, until at least 2009-2010, SVN had a solid shot at winning. It's tooling was much better, especially the GUIs, TortoiseSVN & co.

Git - 2005. Git is launched in roughly the same era as SVN, just towards the end. Once Github gets going it starts to take over the SCM scape, primarily from SVN, sometimes from CVS, Perforce, and also from non-SCM people.

So, if you look at the real dates implied above: CVS, SVN, Git are widely adopted in about a 10-12 year span (something like 1998-2000 to 2008-2010). Then we reach the current mature (monoculture?) stage where we're already at least 16 years in and it's quite likely this phase will last decades.

This story has happened for lots of tech. Many different PC OSes during the 1970-1980s, then basically only 3 since about 30 years - 1995 (Windows, MacOS, Linux).

Many CPU architectures during the 1970-1980s, then basically only 2 since about 30 years (x86, ARM - maaaaybe RISC-V).

raverbashing•48m ago
Nice summary

More than technologies, what really evolved were the ideas on how to work and manage SCM systems. Things like atomic multi-file commits, using unified diffs, management by "patch queues" more than simply merging branches ad-hoc, and of course decentralized SCMs

zabzonk•56m ago
I sometimes wonder what would have happened if Atlassian had stuck with Mercurial support on Bitbucket - I don't think they can pretend that switching to git did very much for them. I love(d) Mercurial, and particularly TortoiseHg integration on Windows.
eesmith•44m ago
If they had, I wouldn't have switched to Sourcehut, at least not for a while.

Though at some point I would have realized that Atlassian was the wrong fit for my needs as a single-dev, no-AI project and switched.

dn3500•45m ago
There were several proprietary systems in the late 1980s and early 1990s. The one I remember was DSEE from Apollo Computer. It was integrated with the file system such that commits and branches worked like zfs snapshots. You could just "cd" to whatever tag, branch, or individual commit you wanted. No checkouts required. Very cool, I wish we still had that today. DSEE was spun off as Clearcase, acquired by IBM, then I don't know what happened to it after that.
ktpsns•36m ago
That sounds awesome. A bit like plan9 philosophy "everything is a file". I wonder whether one could implement something like this with fuse+git (gitfs doesnt allow this, cf https://gitfs.readthedocs.io/en/stable/mount_options/)
wvhulle•27m ago
Sounds like the “jj edit” command.
xyzsparetimexyz•7m ago
Its not
myaccountonhn•22m ago
With a thin layer of tooling, you could probably build a zfs CVS very easily. There's zfs send and each version is available under .zfs so you could use the patch/diff tool to see different versions and restore to older versions.
twic•3m ago
Microsoft Visual SourceSafe worked like this, but badly.
TeriyakiBomb•39m ago
Reading this as someone in the process of migrating several projects to Fossil, interesting to see no mention of it all

A great article though!

KingOfCoders•38m ago
My first contact was VMS with its versioning file system. Then RCS - before that we copied zip files around.
zabzonk•27m ago
I was convinced that VMS's versioned files thing was DEC's cunning plan to sell more disk drive space (though I didn't and still don't know what the underlying mechanism was) - I was quite glad when I learned how to turn it off, though.
anthk•22m ago
Fossil deserves a chance compared to Git, even more in Rust times.

GameStop makes $55.5B takeover offer for eBay

https://www.bbc.co.uk/news/articles/cn0p8yled1do
53•n1b0m•58m ago•23 comments

Trademark violation: Fake Notepad++ for Mac

https://notepad-plus-plus.org/news/npp-trademark-infringement/
91•maxloh•49m ago•21 comments

Using “underdrawings” for accurate text and numbers

https://samcollins.blog/underdrawings/
248•samcollins•2d ago•82 comments

Debunking the CIA's “magic” heartbeat sensor [video]

https://www.youtube.com/watch?v=SVTPv4sI_Jc
24•areoform•10h ago•13 comments

BYOMesh – New LoRa mesh radio offers 100x the bandwidth

https://partyon.xyz/@nullagent/116499715071759135
384•nullagent•16h ago•124 comments

From CVS to Git, thirty years of source control

https://evilgeniuslabs.ca/blog/from-cvs-to-git-thirty-years-of-source-control
29•andsoitis•1d ago•27 comments

Texico: Learn the principles of programming without even touching a computer

https://www3.nhk.or.jp/nhkworld/en/shows/texico/
49•o4c•2d ago•1 comments

Ruflo: Multi-agent AI orchestration for Claude Code

https://github.com/ruvnet/ruflo/blob/main/docs/USERGUIDE.md
6•pramodbiligiri•36m ago•0 comments

DeepClaude – Claude Code agent loop with DeepSeek V4 Pro

https://github.com/aattaran/deepclaude
472•alattaran•12h ago•187 comments

Discovering hard disk physical geometry through microbenchmarking (2019)

https://blog.stuffedcow.net/2019/09/hard-disk-geometry-microbenchmarking/
96•TapamN•3d ago•5 comments

A treasure trove of fossils rewrites the story of early life

https://www.quantamagazine.org/a-treasure-trove-of-cambrian-fossils-rewrites-the-story-of-early-l...
39•worldvoyageur•2d ago•6 comments

Over 8M Thermos jars and bottles recalled after 3 people lost vision

https://www.goodmorningamerica.com/living/story/8-million-thermos-jars-bottles-recalled-after-3-1...
35•taubek•1h ago•28 comments

The 'Hidden' Costs of Great Abstractions

https://jdgr.net/the-hidden-costs-of-great-abstractions
173•jdgr•11h ago•73 comments

Stitch together lots of little HTML pages with navigations for interactions

https://blog.jim-nielsen.com/2026/small-html-pages/
51•OuterVale•5h ago•27 comments

Southwest Headquarters Tour

https://katherinemichel.github.io/blog/travel/southwest-headquarters-tour-2026.html
254•KatiMichel•17h ago•80 comments

Humanoid Robot Actuators

https://www.firgelli.com/pages/humanoid-robot-actuators
130•ofrzeta•6h ago•56 comments

A desktop made for one

https://isene.org/2026/05/Audience-of-One.html
353•xngbuilds•18h ago•183 comments

Let's Buy Spirit Air

https://letsbuyspiritair.com/
352•bjhess•10h ago•332 comments

Denuvo has been cracked in all single-player games it previously protected

https://www.tomshardware.com/video-games/pc-gaming/denuvo-has-been-bypassed-in-all-single-player-...
356•oceansky•5d ago•210 comments

The Road to a Billion-Token Context

https://cacm.acm.org/news/the-road-to-a-billion-token-context/
7•pseudolus•2d ago•5 comments

OpenAI’s o1 correctly diagnosed 67% of ER patients vs. 50-55% by triage doctors

https://www.theguardian.com/technology/2026/apr/30/ai-outperforms-doctors-in-harvard-trial-of-eme...
400•donsupreme•1d ago•348 comments

US–Indian space mission maps extreme subsidence in Mexico City

https://phys.org/news/2026-04-usindian-space-mission-extreme-subsidence.html
155•leopoldj•2d ago•61 comments

K3sup – bootstrap K3s over SSH in < 60s

https://github.com/alexellis/k3sup
59•rickcarlino•2d ago•18 comments

Tar Files Created on macOS Display Errors When Extracting on Linux (2024)

https://aruljohn.com/blog/macos-created-tar-files-linux-errors/
110•heresie-dabord•3d ago•74 comments

Introduction to Atom

https://validator.w3.org/feed/docs/atom.html
100•susam•12h ago•34 comments

Bad Connection: Global telecom exploitation by covert surveillance actors

https://citizenlab.ca/research/uncovering-global-telecom-exploitation-by-covert-surveillance-actors/
155•miohtama•18h ago•11 comments

New statue in London, attributed to Banksy, of a suited man, blinded by a flag

https://www.smithsonianmag.com/smart-news/attributed-to-banksy-a-new-statue-of-a-suited-man-blind...
411•dryadin•15h ago•362 comments

Fun with polynomials and linear algebra; or, slight abstract nonsense

https://guille.site/posts/abstract-nonsense/
16•LolWolf•2d ago•0 comments

Mercedes-Benz commits to bringing back physical buttons

https://www.drive.com.au/news/mercedes-benz-commits-to-bringing-back-phycial-buttons/
717•teleforce•19h ago•395 comments

Text-to-CAD

https://github.com/earthtojake/text-to-cad
120•softservo•3d ago•33 comments