[HN Gopher] An overview of version control in programming
___________________________________________________________________
An overview of version control in programming
Author : ashvardanian
Score : 40 points
Date : 2022-04-21 18:02 UTC (1 days ago)
(HTM) web link (lemire.me)
(TXT) w3m dump (lemire.me)
| ThereIsNoWorry wrote:
| My previous employer still uses svn. It created so much headaches
| and frustration due to unproductivity because e.g. someone pushed
| a bug without testing and you unknowingly downloaded it. No way
| to easily reverse of course. It was my first job after University
| and taught me that CRUD b2b Java enterprise jobs are to avoid at
| all costs in the future. For what it's worth though, I had some
| very funny-sad stories to tell when I interviewed to get out of
| there after just 6 months. Never tought a versioning system could
| burn me out. Git is standard for very obvious reasons.
| icedchai wrote:
| I once took a job at a place that had migrated _from_ git _to_
| perforce because it was the "corporate standard." Some
| departments worked with large binary assets (videos, sound
| files) where I understand it made more sense. We were
| developing web apps. This was almost a decade ago now, and
| working with it felt tedious. I also made it about 6 months.
| Supermancho wrote:
| > No way to easily reverse of course.
|
| Revert to the previous version. Push as new version. Fixed? SVN
| was used widely and for years, prior to git. I remember the
| biggest problem being expensive (full copy) branching.
| vlod wrote:
| It's one of my interview questions when applying for a job. I
| say something along the lines: "I know this is a ridiculous
| question, but do you 1) use version control and 2) what version
| control do you use" and then explain I have to ask these
| questions becz of obvious reasons.
| arthurjj wrote:
| There's a blog post from the early 00s called The Joel Test
| for judging a software team. Using source control is actually
| the first question. Sounds like you reinvented it :)
|
| https://www.joelonsoftware.com/2000/08/09/the-joel-
| test-12-s...
| d4mi3n wrote:
| Don't apologize for your questions! You're interviewing the
| company just as much as they're interviewing you and poor
| attitude in responding to such questions is a red flag IMO.
|
| That said, if you're worried about how your questions are
| perceived, a little rewording can suss this out and give you
| more context. I like to ask:
|
| What does your software development process look like? Tell
| me about how you manage, test, and deploy your product.
|
| You can rephrase a lot of questions in a similar manner to
| get what you want and leave room for the interviewer to
| expand (or justify!) their responses.
| vlod wrote:
| I didn't mention what I was subtly after, which was the
| facial expression after asking that question.
|
| Usually it's sigh and a nod of the head (as if they are
| remembering THAT company). That's a good sign for me.
|
| There is a mutual recognition that we've both worked in
| some terrible companies and learnt how NOT to do some
| things. This generally means (and some good followup
| questions) that they have CI/CD,a PR review process, some
| ticket tracking, agile/kanban etc.
|
| I'm generally not worried about how my questions are
| perceived as that's a red flag for me. If they have a
| problem with that, then most likely not a good place
| (culturally) I want to work.
| icedchai wrote:
| I had a job in the late 90's at a newly formed subsidiary of
| a multi-billion dollar corporation. The product was cobbled
| together from various third party software they licensed or
| acquired outright, and we were customizing. You would think
| they'd have set up version control to at least keep track of
| what came from where. Nope. Here I was, a 22 year old kid,
| teaching people about CVS. SVN wasn't quite out yet.
| tonyg wrote:
| Nice. Sort of a reverse FizzBuzz.
| badsectoracula wrote:
| It sounds like you didn't know svn, because what you describe
| is the most basic feature of any version control system - being
| able to revert to any of the previously submitted versions is
| basically the reason VCSs exist. In addition pretty much every
| svn GUI frontend should have provide a single click way to
| check out a local copy of a previous version that you can
| commit if you want.
|
| Svn has some warts (shelving feels sooo half baked despite
| having like 3 different ways for that) but at least reverting
| to an older state isn't one of them.
| kadoban wrote:
| There is good git <-> svn integration. I was using git even
| when any of my peers or projects were on svn and they never
| noticed.
| cognomano wrote:
| Sincere question: what does Git have that makes easy to revert
| the change on your example that SVN doesn't have? I barely know
| Git, that's why I ask.
| chriswarbo wrote:
| Git makes branching and merging easier, and the whole history
| is available locally. You can just ignore those buggy commits
| and base your work on an older version; when someone
| eventually fixes the bug, you can merge the bug _and its fix_
| into your changes, to become up-to-date (with the possibility
| of conflicts, but nothing is completely free ;) ).
| tom_ wrote:
| You (or anybody) can use git revert to create a new commit
| that undoes previous commits: https://git-scm.com/docs/git-
| revert
|
| Perforce has something similar too: http://ftp.perforce.com/p
| erforce/r16.2/doc/manuals/cmdref/p4...
| hibbelig wrote:
| Sven also has a command for reverting a commit, ie
| committing the inverse of a previous commit.
| tigerlily wrote:
| I appreciated the historical context with RCS et al. but I'm left
| wondering where mercurial sits in all this?
|
| I'm curious about the differences between git and mercurial, are
| there benefits in choosing one over the other?
___________________________________________________________________
(page generated 2022-04-22 23:00 UTC)