Data Forks
I read that GIT actually doesn't track data forks. So if I create a GIT solution for Mac, I need to deal with that.
My research took me into the realms of Rez and DeRez: the tools that Apple created to encode and decode data forks. Apparently these tools made into Mac OS X and might still live in modern systems in the form of a Unix binary. For the good old fashioned Mac OS, however, it can only be used on the Macintosh Programmers Workshop.
I downloaded MPW from a mirror of Apple's FTP and got it installed on QEMU. Bloody hell, this thing is not very intuitive!
So, the MPW shell is basically a text editor. But by typing commands, then using ⌘+ return, it executes as if it were a Unix shell, by printing the results below. If there's any text in the way, it simply pushes it down. It's kind of neat, but very easy to make a mess of things.
So, the plan is... We create an invisible dot-GIT directory with all the standard stuff inside, then we make another invisible dot-DataFork directory at the same level. Every time we push stuff, the app should extract any changes to data forks into an .r file (for each file) and save into the invisible dir. Every time we pull from remote, it peers through that dir and recreates the missing data forks onto the files.
It's messy, but it should work. Somehow. I have no idea how to implement that yet and I don't think I can use Rez and DeRez directly, and I don't think these two are opensource. So I need to rewrite this logic myself. That should be fun. But not now, now I need to learn how to make a basic app.
Comments
Post a Comment