Sunday 20 January 2008

OS X Packages and Version Control

Chris's blog about ClearType fonts in OS X got me thinking about other issues with Microsoft Office and iWork.

One 'good' thing about Office is that the documents it creates are truly single files, as opposed to iWork where it's documents are OS X packages, or bundles, in particular document bundles.

A bundle is simply a folder with sub-folders and files. OS X and the application that created it knows it's to be treated as a single entity.

This is important when considering a version control tool for OS X. Most (if not all?) version control tools work at the file level, they don't know how about bundles. I would love to use iWork for our documentation, but see here how it can go wrong (some comments offer solutions).

It seems to be an issue with version control tools that want to litter your working copy with a hidden file or directory per directory (CVS, Subverison). On the other hand, more modern version control tools like git or Mercurial don't seem to suffer from the same issues and CVS and Subversion.

We deliver documents to our clients as PDF, so it shouldn't matter what tool we use to generate them. On the other hand, clients may well be Microsoft-bound, and may still send us Word documents.

But how do you send a cross-platform spreadsheet, or PowerPoint presentation?

I suspect we may be stuck with Office for a while yet...

1 comment:

  1. Such a shame about iWork docs and subversion, etc. It is really a problem with iWork, that when you save a document it chooses to mess with the hidden files that are nothing to do with it. There are workarounds to reinstate the subversion files following a save, but it is all a bit of a nightmare. Apple should fix it.

    In the meantime... consider git, etc, but how many times are you prepared to change you config control system?

    The only positive that can be taken from this (I think) is that it might make you reconsider creating yet another document. Aren't there enough effing documents in the world? What's it for? What does it say? Does it have any point? Wouldn't it be better expressed in another form, e.g. a Wiki?

    ReplyDelete