[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)