3 ms·
> arguable it took the rise of Git and Github for them to be used nearly everywhere. This is fairly accurate according to my experience. It seemed absolutely c
by globular-toast 3y ago
> arguable it took the rise of Git and Github for them to be used nearly everywhere.
This is fairly accurate according to my experience. It seemed absolutely crazy to me when I started computer science at uni in the early 2000s that nobody was using version control. It wasn't even mentioned as a thing we might want to look into. I had to go and look for something and found SVN. I ran my own server and thought it would be perfect for when we had a group piece of work, but I was unable to convince the rest of the group to install the weird software and cooperate. By '09 I'd discovered git and it was a breath of fresh air.
> SCCS stored each version’s delta along with metadata ... In principle, it is how most version control systems work today.
I think this is one of the most misleading and confusing things people seem to get taught about version control systems. Whether they store deltas or not underneath is actually an irrelevant implementation detail. But surely it's easier to think of version control systems as storing version? It's right there in the name! It's not called a delta control system.
- somnium_sn 3y ago> I think this is one of the most misleading and confusing things people seem to get taught about version control systems. Whether they store deltas or not underneath is actually an irrelevant implementation detail. But surely it's easier to think of version control systems as storing version? It's right there in the name! It's not called a delta control system. Post author here! I agree! One of the fascinating bits of SCCS is that it actually exposed the idea of deltas right away to the user. Of course in the 70s, the amount of users was limited, pretty much exclusively programmers familiar with the idea, and probably all people who knew each other :). Nowdays a VCS should just care about snapshotting your work. In my experience, only Git is so confusing that people need to understand the underpinnings of the system (whats a GC, whats a tree, etc). Systems like SVN, Mercurial & Co all seem to mostly do the right thing for the user with minimal knowledge on the user side. Fun side note: I had a heated argument with Olivia Mackall, the original author of Mercurial, when I wrote Mercurial bookmarks. I initially called it refs, since they were models after git refs. Olivia insisted to call it bookmarks, since it's the more intuitive english name for what it's doing (bookmarking a part if a book of 'history'). Nowdays I much prefer the name bookmarks, since it's an analogy that makes it easy to reason about what it's doing, rather than a technical term that needs to be learned.
- globular-toast 3y agoI should have added to my original comment that I wasn't criticising the article, which I really enjoyed. Glad it was taken that way! It's really interesting that those early systems really did deal with deltas. Unbelievable that ideas from systems that have been and gone before people's lifetimes still prevail today. When was the last time users needed to know about deltas? Possibly skipping ahead impatiently here...
- HexDecOctBin 3y ago> Systems like SVN, Mercurial & Co all seem to mostly do the right thing for the user with minimal knowledge on the user side. I have an another blog idea for you: what are these "right things"? I have used Mercurial a bit when I was new to programming, and back then Git and Mercurial seemed more or less the same with different command names. Today, I almost exclusively use (and hate) Git, but I find it hard to see what alternatives there would be in DVCS space, other than something lie Darcs/Pijul (perhaps my imagination has been stunted by too much exposure to Git). It will be great to have someone with the knowledge lay it out comprehensively and explicitly, so that the next generation of VCS developers will be able to build upon it.
- steveklabnik 3y agoIf you haven’t checked out jj yet, you may like it!
- somnium_sn 3y agoThank you! Great idea! I do have thoughts about waht the next generation of source control systems should look like! It hopefully will be the last post in the full series. So estimated arrival time for that post, by interpolation of how long it took me to write this post, is roughly 1-2 years :P
- panick21_ 3y agoBitKeeper was open sourced. But I guess it wasn't really picked up.
- wink 3y agoThat is weird. I started in 2003 and we absolutely had SVN provided by the department... at latest by 2005ish, maybe even 2003, or it was CVS. I can only say this for sure because of one course where we actively used it.