Live data from Hacker News

Version control without Git

itoshkov.github.io

21–30 of 68 posts

Re: Version control without Git

#21
post #15

Coming from RCS, CVS, SVN to Git, git is a game changer - yes everyone knows that. But what was astonishing me most was the version system build into the VMS OS file system.

File versioning was in BBN's TENEX, which evolved into TOPS-20 ("TWENEX") for DEC's DECSYSTEM 20 computers. File versioning is also part of pathnames in Common Lisp, although it (the versioning, not Common Lisp) is really a fossil at this point.

Sadly too young for systems before this VAX!

Re: Version control without Git

#23
post #6

Title is horribly incorrect. Simulating git would be more appropriate. I expected this to be a look at other version control systems around today. It's yet another 'let's recreate git from scratch, kinda' post.

But usually, these go by the line of "We implemented git in [insert favorite language here]". Which is perfectly fine.

This is more of a "hey, we have these tools on our system and can use them to simulate git". That's somehow different, at least from my pov.

Re: Version control without Git

#24
There's no question git is overkill for individual projects but it doesn't take long to learn the add/commit/push commands you'll most often use. But there's nothing wrong with wanting to build your own tools.

Re: Version control without Git

#25

Earlier quoted context omitted.

I think a closer example at the filesystem level would be rsnapshot alpha rsnapshot [1] uses hard links when it can to create a delta of changed files. Reverting can be done with rsync or cherry picking files. git blame would have to be done via something like auditd and syslog and nowhere near as easy as using git. I use rsnapshot to back up my git repos in the event they get corrupted. [1] - https://linux.die.net/m…

Probably rsync is smarter than my cp -rp example. Folk who are downvoting my original comment really don't understand how git version controls at the atomic level.

or use cp --recursive --preserve --link so that the copy occupies almost no space. Of course this relies on your editor not editing in place.

Re: Version control without Git

#26
post #6

Title is horribly incorrect. Simulating git would be more appropriate. I expected this to be a look at other version control systems around today. It's yet another 'let's recreate git from scratch, kinda' post.

> It's yet another 'let's recreate git from scratch, kinda' post.

I don't think that's what it's doing. It's just trying to explain what git does through analogy and example.

A remarkable number of people never grok that git is basically just a version control repository for source code (checkout/commit) that itself has been checked into a version control repository for VC repositories (pull/push). There's lots of reasons for it doing that, most of which are grounded in the fact that lots of developers only learn just enough VC to satisfy their immediate coworkers, and otherwise treat it like a magic black box.

Did you ever notice that after git became popular that colleges started to teach CS students to use version control? Ever think about why that might be?

Re: Version control without Git

#27

Earlier quoted context omitted.

These are tools you'd need to write atop the version dirs.

So you can't really then simulate git with: mkdir v2 ; cp -rp v1 v2 can you?

The fundamental git model you can. The tools needed are above that in some form such as diff. git does the equivalent. Stop being pedantic.

Re: Version control without Git

#29
post #6

Title is horribly incorrect. Simulating git would be more appropriate. I expected this to be a look at other version control systems around today. It's yet another 'let's recreate git from scratch, kinda' post.

> It's yet another 'let's recreate git from scratch, kinda' post. I don't think that's what it's doing. It's just trying to explain what git does through analogy and example. A remarkable number of people never grok that git is basically just a version control repository for source code (checkout/commit) that itself has been checked into a version control repository for VC repositories (pull/push). There's lots of re…

Schools were teaching version control long before git.

Re: Version control without Git

#30
post #6

Title is horribly incorrect. Simulating git would be more appropriate. I expected this to be a look at other version control systems around today. It's yet another 'let's recreate git from scratch, kinda' post.

> It's yet another 'let's recreate git from scratch, kinda' post. I don't think that's what it's doing. It's just trying to explain what git does through analogy and example. A remarkable number of people never grok that git is basically just a version control repository for source code (checkout/commit) that itself has been checked into a version control repository for VC repositories (pull/push). There's lots of re…

> Did you ever notice that after git became popular that colleges started to teach CS students to use version control? Ever think about why that might be?

Because schools have recognized the need to teach some pragmatic tools in addition to pure theory?

I had a "tools" class in undergrad 15 years ago. Learned shell, perl, pcre regexes, make, cvs, subversion, etc. They created the class due to the perception of new-grads being unable to use real-world tools to do real work. Since then, many schools have adopted a similar approach: either a dedicated class or treating many classes as "project"-style classes that use real-world toolsets and SDLCs.

Post reply on HN