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