8 ms·
Made a list of all the revision control tools I've used over the decades, the year they were created, and the year I last used them: sccs 1973
by anon35 3y ago
Made a list of all the revision control tools I've used over the
decades, the year they were created, and the year I last used them:
sccs 1973 2000
rcs 1982 2000
cvs 1990 2004
clearcase 1992 2004
perforce 1995 2011
subversion 2000 2015
mercurial 2005 2015
git 2005 present
So, at least for me, they last around 15 years or so.
But often time when I tell juinors that when they're my age, git will
be distant a strange memory to them, they look at me funny. It's a
wonderful tool and earned its success, but I'll be sad if it's our
final take on the problem.
- deleted 3y ago[deleted]
- quietbritishjim 3y agoIn fairness, the rate of change of any type of tool slows down over time as the problem domain becomes well understood. It's like the Joel on Software article (which annoyingly I can't find at the moment) about how software is always pretty much done by about version 4. His example was office software, especially Excel, and sure enough if you loaded Excel 4 today you'd see it does fundamentally all the main things. I suspect we'll see git last at least double the length of time as those other VCS tools.
- eru 3y agoI think mostly it will depend on what we will call the replacement to git. We might end up calling it 'git', too. Less weirdly: ethernet has been replaced a few times already, but they always just end up branding the replacement as a new version of 'ethernet'.
- bombcar 3y agoMany of those variations of ethernet remain compatible, 10g switches can often negotiate down to 10/100.
- eru 3y agoYes. And the replacement to git might also stay compatible. (In an extreme case, git can talk svn via git-svn. In a weird alternative history, you could imagine git being treated as a new version of svn; but apart from the names, nothing much else would change compared to our universe.)
- yardie 3y agoI’ve worked with many switches. I have not encountered a 10g switch that will negotiate to 10m. 100m is not automatic in most cases. These very old protocols are very different from modern 10g-100g. So much so that the transceivers may need to load a completely different firmware to even understand it.
- bombcar 3y ago100g may be too high, but my micro tick does fine: https://mikrotik.com/product/s_rj10 https://mikrotik.com/product/s_rj10 (I’ve not seen 100g over copper, but 10g is doable) I don’t know if it will go down to half duplex.
- toast0 3y agoHalf duplex is in spec at 100 as well as 10, so I'd be surprised if it didn't.
- yardie 3y agoOk. Most of my experience the switches will have 2 modes for each port: 1G/2.5G/10G/25G/100G or 10M/100M/1G/2.5G. This is typical for datacenter switches. Found this out when my trusty 10/100M USB dongle couldn't establish link. I needed to upgrade to a 1G USB3 dongle.
- bombcar 3y agoNow I want a datacenter switch with a gearshift for speeds, "high", "low" and "turbo" perhaps.
- sanderjd 3y agoI think this is a great point! What even is "git"? If it's the binary program named "git", then there are already lots of replacements for that binary that people use, and it would not be surprising at all if one of those different frontends becomes more dominant than "git" itself. But if "git" is the protocol, the specification of how a particular construction of a database of versions, then I suspect that will be pretty sticky. I'm sure it isn't the optimal solution but it works well and it's very useful to have a lingua franca for this.
- londons_explore 3y agoOld versions of the git binary are incompatible with new versions. I suspect everything about git is the ship of Theseus
- Shawnj2 3y agoI do think that if there is a replacement to git in the future, it will probably have pull requests, tags, etc. built in that most git servers support but implement separately since they’re not in the standard. Alternatively, GitHub as a platform will become so standardized that they may launch their own “VCS” which is just other things bolted onto git that only work with GitHub (we’re already going there with the git command line)
- tentacleuno 3y agoThey already have the GitHub command line, actually. https://cli.github.com/ https://cli.github.com/
- Shawnj2 3y agoTypo that’s what I meant
- account42 3y agoWhat? Tags are built into git. Maybe you're thinking of releases aka attaching additional files to tags.
- rvba 3y agoExcel has recently introduced 4-5 VERY big changes: * javascript (arguably 'nobody' knows how to use it though, looking at the scarce resources) * Lambdas * Sharepoint integration, which is a type of shared notebook - and arguably this has ruined excel usability completely, since linking one file to another is basically unusable, what means were are back to the stone age, where people fucking copy paste things between files (omg) * PowerQuery (this is not new, but seems to be the way to "fix" the problem that sharepoint files that can be edited by multiple uses are basically unusable junk) * Updated PivotTable model that allows some basic connections between tables (this all could have been done in multiple other ways before) For me the problem is that with the "multiplayer Excel" that seems to be promoted by Microsoft (shared workbooks on sharepoint, where multiple users can edit them at the same time), Excel lost the main functionality for actual power users, who take data from multiple source files and then consolidate them to one final report. Of course this is still "possible", but not as easy as it was before with shared drives. I see like multiple major regressions at Microsoft that harm "average" office worker productivity now: 1) Excel file linkages broken (as described above) 2) Outlook calendar app on android -> lack of ability to have a custom notification sound (e.g. a 30 second sound), so you can skip fucking reminders, because one "ping" is easy to miss. Why cant I have a fucking calendar reminder that actually reminds me about stuff with sounds? 3) The "new" windows taskbar that combines instances of same program into one button. Do they assume that most users treat windows like a toy? Nearly every office worker has like 3-5 excel files open, 3-5 emails, maybe some PDFs - and has to switch between them. Due to the fact that taskbar is combined by default, incredible amounts od productivity are lost 4) Hibernation is hidden. So you are supposed to turn off your computer every day, then come to the office, wait for 10 minutes for it to turn on (all the antivirus, constant updates, VPN), then turn your programs back, then turn your files / emails back. So you waste another minutes to setup the computer back to work. Compare it with hibernating, where you get your work back exactly the way you left it the day before. (and yes I am aware that updates are important and so on, since they defend against zero-days, but a multi-billion dollar company has the resources to figure out how to do them without productivity loss) 5) Bonus points: your computer can wake up at 3 am to install updates and also wake you up (maybe they changed it recently, or maybe admins control this by policy) 6) Random shutdowns, because some update is so incredibly important that at least once per quarter they have to force you to turn off your computer. Bonus points are when a window pop-up "restart now" and "ok" is the selected default so you accidentally press it while typing (and yes, I do restart my computer at least once per week to get updates) However Microsoft is no longer interested in doing any productivity studies. They dont care. Now it seems their main goal is to offshore development to low cost countries. So we get software that looks as if it was done by lowest bidder.
- paulddraper 3y ago> software is always pretty much done by about version 4 IPv4 has entered the chat
- test1235 3y agoSo it looks like you're ready for a change ... What's next on the horizon?
- Zacharias030 3y agoGenerally git‘s support for a stacked PR workflow is poor [0], but imho that is the future of team collab (git is great for very asynchronously built projects, like the linux kernel). I also wonder, how much better git could be if it was based on DAGs not trees (I may want to use a changeset that is still developing in more than one branch without maintaining copies of it) and corollarily I‘d like to rebase subtrees (sub-DAGs) instead of single branches. I have introduced a stacked PR workflow to our team a while ago and a few months later half of the team had migrated to some kind of stacked PR workflow tool (on top of github and git, even though support is sub-optimal). It seems like this is an idea that is really sticky. [0] https://github.com/ezyang/ghstack https://github.com/ezyang/ghstack
- eru 3y ago> I also wonder, how much better git could be if it was based on DAGs not trees [...] Git generally supports DAGs. > [...] corollarily I‘d like to rebase subtrees (sub-DAGs) instead of single branches. Rebasing is something you do to the commit graph, which is a DAG. Branches only come in incidentally. Branches in git are really just mutable pointer to immutable commits. What you are describing is probably some useful workflow, I guess?
- brmgb 3y agoI migrated a project from clearcase to git at my first company and for all the hate I have for clearcase even I agree there was little point in switching to something else before. We had a bit of svn on other part of the company but that was it. VCS don’t change that fast. All the tools you list before the advent of DVCS actually have a lot in common. I think git will be there for some time.
- bonzini 3y agoSubversion is basically CVS done right. The problem is that CVS was a dead end that didn't scale to a distributed development model. Git goes back to the local RCS model and adds atomic commits to that model. That's how it climbed out of the local optimum that was Subversion. There were a couple controversial choices that Git made, for example not tracking renames and not having linear revision numbers, but they turned out to be not a big deal and they allowed very efficient operations without the performance issues of e.g. darcs. Given all the attempts to fix version control between 1995 and 2010, the basic data model of git seems to be very hard to improve on, especially with additions such as git-lfs. There could be new command line interfaces but it has become harder and harder to kick away the incumbents. I know no one who is using git switch and git restore instead of the overloaded and confusing git checkout.
- GabrielTFS 3y ago> I know no one who is using git switch and git restore instead of the overloaded and confusing git checkout. Welp, I guess there's me, but it does indeed seem like adoption of the new commands hasn't been very forthcoming - I guess that's what happens when "the old way still works just fine" - but personally I'd expect that more and more people will change to the new commands over time.
- sanderjd 3y agoIt makes sense for old timers to keep just doing it the way we always have, but I wonder how newcomers to version control are being taught. I would really hope they aren't just being thrown a bunch of these inscrutable commands by their leads, like when I learned it!
- htfu 3y agoJudging by my colleagues (whether more or less experienced than me), "whatever the GUI allows for". Yes, almost the entire company runs on the subset of git presented by Visual Studio and Azure DevOps. I would guess this is more and more common, and even the more obvious shortcuts available for many things through git itself will become more and more arcane.
- mattbillenstein 3y agoPoint could be made people don't really use git anymore - they use github as the primary interface. Branching, merging, review, etc.
- datavirtue 3y agoThe only git GUI I use is GitLens. I have always found the command line much easier to understand...and the GUIs make me nervous.
- medstrom 3y agoHow many people know GitHub can do that? Your comment was the first I'd heard about it.
- gumby 3y agoI suspect it’s the opposite way around: most people, when they hear “git”, macroexpand it to “github” and don’t even know that there is a (more powerful) command-line interface. The peer-peer distributed nature is barely known — these days it’s a centralized client/server system. I remember the Internet connection going out at work a few years ago and developers saying they couldn’t coordinate bc github was not accessible when they could easily have synced, merged etc with each other directly.
- 8n4vidtmkvmk 3y agoMy partner definitely does not know the difference between Git and GitHub. He's not much of a programmer but yeah.. maybe this is like Java vs JS all over again. Or jQuery vs JS. That one makes me extra sad.
- paulddraper 3y agoI've never seen as the primary workflow. It's handy, especially if you're using Git as a CMS or something like that.
- sbochins 3y agoI don’t know what we’ll be using 15 years from now. But the thing that is really sad in your list is that you stopped using mercurial in 2015, but still use git to this day.
- amadeuspagel 3y agoThe internet tends to lock things in. There were many languages dominant in history at some point or another, english will be the final one. There were many scripting languages, javascript will be the final one. Many networking protocols, TCP/IP the final one. Same for git. I think the only thing that might displace git is some environment for new programmers with its own version control system like glitch[1]. [1]: https://medium.com/glitch/reinventing-version-control-with-glitch-rewind-914c350da442 https://medium.com/glitch/reinventing-version-control-with-g...
- p-e-w 3y ago> The internet tends to lock things in. More generally, a globally connected civilization locks things in, once they are sufficiently widespread. Barring an apocalypse, our present is eternity. I'm always amused when I read science fiction that assumes in the future, Chinese will be the lingua franca, or that we'll have political offices modeled after Ancient Rome, or that there's a world government, or similar nonsense. To paraphrase O'Brien from 1984: "If you want a picture of the future, imagine a crony-capitalist, meme- and outrage-driven society that always seems on the brink of collapse but never actually does collapse – forever."
- sidpatil 3y ago> More generally, a globally connected civilization locks things in, once they are sufficiently widespread. This idea is known as the end of history. https://en.m.wikipedia.org/wiki/End_of_history https://en.m.wikipedia.org/wiki/End_of_history
- qsantos 3y ago> There were many scripting languages, javascript will be the final one If, by “scripting languages”, you mean “browser-native languages”, WebAssembly might become a serious contender as the lingua franca for the Web in the long term.