Live data from Hacker News

History of version control - 10 astonishments

flourish.org

51–60 of 76 posts

Re: History of version control - 10 astonishments

#51
post #49

I would say it's missing 7.5, 1996 public anonymous cvs. Before that, you were either one of the developers with a login or you waited until a source tarball was released. Which makes it really hard for outsiders to contribute because they're aiming for a moving target they can't see.

That was one of the major hallmarks, I seem to recall, of OpenBSD - though we all remember it for security right now.

Yes, anoncvs was developed specifically to make openbsd open.

Re: History of version control - 10 astonishments

#52
post #46

Earlier quoted context omitted.

There is nothing particularly astonishing about perforce. What makes you think it should have been included?

If you ignore all the distributed "stuff", and the workflow enhancements it permits, and assume everybody is always connected to the server and attached via a LAN, you can just concentrate on doing a reasonably good job of handling very large quantities of data, including very large binary files. (Apologies for not trying to reproduce the breathless style of headline.) As is common, the article presupposes that decen…

I never had a problem using cvs for what I considered large binaries. Certainly we kept using cvs long after mostly switching to bk because cvs worked better for binaries. Perforce never seemed like a big deal, just cvs with a little more.

Re: History of version control - 10 astonishments

#53
post #22

Ugh, SourceSafe. I worked for a company that used it. They had terrible intermittent file corruption issues. Long story short, we tracked down the root cause -- an Ethernet cable wrapped too tightly around a power supply brick, which caused network errors over SMB which led to file corruption. Ugh.

Hehe. SourceSafe is still the standard at the state govt I work for... high tech for, say, mid 1990s, which makes it downright fancy for us.

Re: History of version control - 10 astonishments

#54
post #46

Earlier quoted context omitted.

There is nothing particularly astonishing about perforce. What makes you think it should have been included?

If you ignore all the distributed "stuff", and the workflow enhancements it permits, and assume everybody is always connected to the server and attached via a LAN, you can just concentrate on doing a reasonably good job of handling very large quantities of data, including very large binary files. (Apologies for not trying to reproduce the breathless style of headline.) As is common, the article presupposes that decen…

> As is common, the article presupposes that decentralization is unambiguously progress, but that isn't true in all respects.

It is, in the sense that a decentralized VCS is, essentially, a superset of a centralized one.

Blobs are certainly still an issue, though orthogonal to distribution (I don't think you intended to imply it was related, but it could be read as if you did).

Re: History of version control - 10 astonishments

#55
post #46

Earlier quoted context omitted.

If you ignore all the distributed "stuff", and the workflow enhancements it permits, and assume everybody is always connected to the server and attached via a LAN, you can just concentrate on doing a reasonably good job of handling very large quantities of data, including very large binary files. (Apologies for not trying to reproduce the breathless style of headline.) As is common, the article presupposes that decen…

I never had a problem using cvs for what I considered large binaries. Certainly we kept using cvs long after mostly switching to bk because cvs worked better for binaries. Perforce never seemed like a big deal, just cvs with a little more.

Due to CVS's (or RCS's?) text-based file format and conversion of line endings when checking out a repository, migrating binary files across operating systems can cause mangling of bytes whose value equals that of CR and LF.

Re: History of version control - 10 astonishments

#56
2. Humans can manually keep track of versions of code! (1960s)

As everything, to begin with there was no software.

    “At my first job, we had a Source Control department. When you had your code ready to go, you took your floppy disks to the nice ladies in Source Control, they would take your disks, duly update the library, and build the customer-ready product from the officially reposed source.” (Miles Duke)
Balderdash! Floppies were first available in 1971. They had decks in the sixties. They had paper tape. But they didn't have floppies! So, using the terminology of decks, the author scores a validity check!

Re: History of version control - 10 astonishments

#57
post #45

It makes me wonder, what is next? What new astonishing thing will happen in version control? I think what's needed is an intelligent (as in AI) merge mechanism. Right now, if two people are adding two different features to a set of files, then merging those changes is error-prone and requires a lot of manual work. If this ever gets perfected and automated, it will be a huge milestone.

This should be much simpler once we stop using those silly text files and start storing everything as a proper representation of AST. Then again, at that point we can get rid of the silly text-diff-based systems and just store everything as versioned trees.

This sounds like a bad idea. Code is text. If ast helps merging diffs, why not use it for analysis in case of conflict and keep code as text?

Re: History of version control - 10 astonishments

#58

It's easy to forget that we are living in a golden age of version control systems. The market is rife with many fairly decent commercial systems and some of the best, state-of-the-art systems are completely free.

Sorry to not share your angelism. git seems worshipped here. I never used it but I used cvs and mercurial a lot, and we are very far from what a real,versioning should be: completely transparent.

cd dir should propose to update it.

save file should commit it and push it in tmp branch.

Re: History of version control - 10 astonishments

#59

It is interesting to me that Subversion barely gets a mention. There should be a 7.5 which is along the lines of: cvs was great and all, but we couldn't version our directories, branching and merging was a mess, the wire protocol was hard to use, it had a ton of security holes and the storage format took up too much space. So, Subversion was created as a way to do a better cvs, without thinking about the larger intri…

With Subversion branching and merging was still a mess, at least everywhere I ever saw it used.

Re: History of version control - 10 astonishments

#60
post #14
post #10

Earlier quoted context omitted.

It gives very short shrift to commercial source control systems generally. Two (VSS, and SCCS --- the latter part of the original AT&T Unix distributions, on the same closed-source terms) get mentioned in passing, but neither gets treated as a milestone. That would include BitKeeper --- copies were available for a few years at no cost to Linux kernel developers, but only on increasingly restrictive terms, which McVoy…

In terms of historical interest, it's also worth noting why McVoy restricted and eventually withdrew the BitKeeper license: Andrew Tridgell (of Samba and rsync) had begun reverse-engineering the protocol with the eventual intent of implementing a free client. The resulting debacle was fairly ridiculous; Linux chastising Andrew Tridgell, continued flamewars about using a closed-source product. What I find interesting…

Andrew Tridgell recreated the "reverse engineering" you mentioned in front of a live audience at linux.conf.au not long afterward; see https://lwn.net/Articles/132938/ . Summary: he saw a port number in the standard bitkeeper URLs, tried telnetting to it, tried typing "help" which listed the available commands, and tried typing the "clone" command which spit SCCS files back at him. He walked through the process and literally had the audience shouting the appropriate commands at him the whole way through, demonstrating the obviousness of the process.
Post reply on HN