General Category => General Computing/Macintosh => Topic started by: elagache on August 11, 2019, 10:30:20 pm

Title: Time Machine as "revision control substitute."
Post by: elagache on August 11, 2019, 10:30:20 pm
Dear WeatherCat users who get their hands dirty with code from time to time,

I'm still struggling to get the website for my trusty wagon in truly presentable shape.  Recently, to my horror, I realized I had changed something that caused the history page to expand to greater width than the other pages.  I made a few "good guesses" as to what the problem was and - every guess was wrong!

So what to do?  I was reasonably sure when I first uploaded the page the error wasn't present.  Programmers use what is called "revision control."  Every change you make to your project is recorded.  So when something breaks, you can go back to the last time it wasn't broken and try to figure out what happened.

Alas, I don't know of any single-user system for version control.  However, I run Time Machine as Apple originally configured it.  So I could go back to the version of the file on any day.  Sure enough the problem was introduced by the edits I had done on August 2nd.  I recovered the files from August 1st and 2nd and then ran the UNIX diff command to find out exactly what I had changed.  It turned out I had improperly configured a table and that was the sort of the trouble.  Once I had identified the problem, it was easy to splice the correction into my current file.

Time Machine is obviously a life-saver if you need to restore your system.  However, you can use it in more mundane ways.  It doesn't take much more space to allow it to save all the changes to your files.  You don't change files all that often.  So this is a case were a tool that is useful for a critical need can be useful in  other more mundane, but nonetheless very helpful, ways.

Cheers, Edouard  [cheers1]
Title: Re: Time Machine as "revision control substitute."
Post by: xairbusdriver on August 12, 2019, 12:52:39 am
a tool that is useful for a critical need can be useful in other more mundane [tasks]
True! Of course, I long ago stopped using a cresent wrench as a hammer... [lol]
I've never used TM to restore any System file, nor even an app. But it has saved my 'bacon' quite often in restoring a file that had somehow developed bit rot! [banghead]
Title: Re: Time Machine as "revision control substitute."
Post by: The Grand Poohbah on August 12, 2019, 07:31:03 pm
I've used Time Machine as a "revision control substitute" for years. Just before I make a major (and usually experimental) change to my app code, I do a "Back Up Now" on Time Machine. I date and log every code change in my Xcode project Notes file. If I discover that my revised code has taken me into a black hole, I "Enter Time Machine" and restore a copy of the pre-revision project folder. It works every time and has saved me a lot of grief.
Title: Re: Time Machine as "revision control substitute."
Post by: Blicj11 on August 21, 2019, 03:38:11 pm
Nice write-up Edouard. After some great advice from Steve, and a ton of research on my own, I run Time Machine on a NAS (Drobo) for two iMacs and my trusty old MacBook Air (Gen 2). Time Machine has saved my bacon plenty of times and it is so easy to use. I switched TM to the Drobo after my third failed hard drive experience running TM on Apple Time Capsule. When that drive goes bad, you no longer have backups. On the Drobo, I'd have to lose two hard drives at the same time to lose Time Machine.