Ask HN: Non programming professionals, what do you use for version control
I just got done helping a friend recover some gimp project they messed up when I realized, if I had a similar problem while coding I'd just use git to revert my mistakes. If you use computers to create any kind of content then you have to have some sort of system for tracking your work and collaborating. So what kind of tools exist for writers, digital painters, photographers? A while back I started storing my important files on Dropbox. That at least lets you revert to earlier versions - though I'm not sure how granular it is. I'm sure you can do the same thing with many other cloud-based sites. As an added check, at key moments in a project I'll just add (or increment) the number at the end of my filename, so I'm now working in a new file and can "revert" back to the earlier version just by changing files. Yep. I like that approach for simple personal projects (the only kind I do). Sometimes I just append a date -- myHotNewIdea_9jul2022.txt Same idea, though. > _9jul2022 Don't use that format — it doesn't sort correctly. You are better off with
_20220709 or _2022-07-09. and put the date in front (not at the end) Geez! What a couple of bossy little tyrants! Don't do this! Don't do that! Ouch! The question was aimed at Non Programming Professionals. I thought my answer was thoroughly non-professional, and therefore just about perfect. /s But seriously, you both make good points. Mechanical engineering, most mid size or large orgs use "PLM" software (product lifecycle management) to handle "versioning" (revisions, change orders, etc) of CAD files, drawings and sometimes other engineering documents. They tend to be complex, expensive and centralized software that require an entire IT team to set up and maintain. Sort of similar to ERP software, and in fact, they often get integrated with ERPs. Smaller orgs tend to use nothing, or an ad hoc system of file/folder structures and spreadsheets, because they can't justify the cost of PLM. I wish there existed a lightweight option. Git doesn't work well with large binaries and it's merge-based workflow doesn't really apply to CAD anyways. PLM software usually use an exclusive check-out model. There is OnShape, a low cost cloud CAD start-up that was bought by Siemens, which has some PLM features I believe. Some of my friends use Time Machine for local files, or they use cloud software (e.g. Figma, Google Docs) that store version history by default. Nevermind version control, I remember an unfortunate problem in the 90s was just forgetting to hit “save” periodically before a crash or power failure occurred. At one programming completion they started the day getting participates to chant “save your work!” I still habitually type CMD s like my life depends on it. I used to habitually hit Ctrl+s win+L when I engaged my legs to get out of my chair. Unfortunately, my work computer these days is too slow to take either of those actions so lightly. I would save a copy of my main excel spreadsheet with the date as the file name. Once a day. Not perfect but it worked. Wouldn't that be very inefficient though? Yes. I was so new I didn't know that a cell full of ####### meant the column was too narrow. Back in the MS-DOS days, it was a bunch of pkzip archive files on floppy diskettes. Saving a file with different names on occasion seems to be the way the rest of the world does it. My child does a ton of different layers in her art program, each of which is a separate project... that get saved periodically. For text-only stuff -- programming and writing -- I find the simple, ancient, RCS program to be sufficient, and pretty doggone easy to learn/use. For all binary and not complicated setups subversion works very straight forward ZFS snapshots every 15 minutes Oh, that's pretty extreme. May I ask what job you do and why you need such fine grained history? I feel like individual snapshots are cheap enough that, if you're going to set up automatic snapshotting (+ pruning) anyway, you might as well keep them pretty fine-grained? Yeah, exactly. They use negligible resources. I'd make them even more frequent if I were configuring them from scratch, but 15-minutely is the default for my OS (NixOS). Some pruning is also built in. Git for writing, but then I’m a nerd even though I don’t code. GitHub