5 ms·
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 yo
by ThereIsNoWorry 4y ago
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.
- cognomano 4y agoSincere 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.
- tom_ 4y agoYou (or anybody) can use git revert to create a new commit that undoes previous commits: https://git-scm.com/docs/git-revert https://git-scm.com/docs/git-revert Perforce has something similar too: http://ftp.perforce.com/perforce/r16.2/doc/manuals/cmdref/p4_undo.html http://ftp.perforce.com/perforce/r16.2/doc/manuals/cmdref/p4...
- hibbelig 4y agoSven also has a command for reverting a commit, ie committing the inverse of a previous commit.
- Izkata 4y agoFor anyone looking for it, it's not as intuitive as git. In svn, you reverse-merge the commits from the current branch's history you want to revert: svn merge -c-123 . # single commit, the second "-" is "do the merge backwards" svn merge -r123:122 . # Multiple commits in reverse order, "the change going from 123 to 122" https://stackoverflow.com/questions/13330011/how-do-i-revert-an-svn-commit https://stackoverflow.com/questions/13330011/how-do-i-revert...
- chriswarbo 4y agoGit 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 ;) ).
- Supermancho 4y ago> 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.
- layer8 4y agoCreating branches is not expensive in SVN, because it’s copy-on-write (server-side). Maybe you mean switching the local working copy to a different branch?
- Supermancho 4y ago> Creating branches is not expensive in SVN, because it’s copy-on-write Copy on write is an expensive operation for branching. SVN repos that are multiple gigs, in size, are a pain to create branches for.
- layer8 4y agoNot sure what you mean. Copy-on-write means that no actual copy is made initially. Branching is therefore almost instant in SVN and only requires minimal storage space. Only when you modify a file within the branch (or the original) does that specific file get copied (or rather, the diff of the modification gets stored). What is slow in SVN is switching to the branch client-side, because branches are always created server-side and you still need to synch the whole contents of the branch from server to client when switching (which works similar to a regular `svn update`).
- Supermancho 4y agoI'm not sure what you mean either. I don't care what SVN does now, only what it did when companies abandoned it en-masse around SVN v1.6, since that's the context of my comments.
- layer8 4y ago
- vlod 4y agoIt'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.
- tonyg 4y agoNice. Sort of a reverse FizzBuzz.
- kevin_thibedeau 4y agoDo you have a monorepo? Test infrastructure?
- arthurjj 4y agoThere'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-steps-to-better-code/ https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-s...
- icedchai 4y agoI 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.
- layer8 4y agoSame for me in the early 2000’s. :)
- kevin_thibedeau 4y agoI had a coworker hired in 2015 (with previous work experience) who had never used any revision control.
- kadoban 4y agoThere is good git <-> svn integration. I was using git even when any of my peers or projects were on svn and they never noticed.
- icedchai 4y agoI 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.
- badsectoracula 4y agoIt 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.
- rectang 4y agoI prefer Git, I've invested a lot in learning it, and have done presos and training for it over the years. But I cut my teeth on CVS, and Subversion was a significant improvement over CVS. Not that I expect anybody to maintain historical perspective. Linus Torvalds famous 2007 rant at Google shitting all over Subversion and its developers set the tone for a long tradition of anti-Subversion anti-history. Never mind "learning from what's gone before", it's like there was only backwards progress until the tool du jour was suddenly invented ex nihilo.
- layer8 4y agoNot sure what you mean, as “pushing bugs without testing” (or not using bugfix/feature branches) has nothing to do whatsoever with SVN.