Showing posts with label versioncontrol. Show all posts
Showing posts with label versioncontrol. Show all posts

Friday, 23 January 2009

iWork and Version Control

I've been looking at the new release of iWork '09 from Apple and it's time to bring up the subject of version control and iWork documents again, after posting about it here last year.  

Maybe Apple have listened to their customers because in this release of iWork they have changed the format of Keynote, Pages and Numbers documents. These application now save your work as single files rather than document bundles. (I'd like to think somebody at Apple read my previous article, but that may be pushing it a bit!)

This is certainly good news for those with an antiquated version control system such as CVS and Subversion which, as I mentioned before, litters your working copy with version control.  To be honest, it's good news for any VCS since having to deal with one file instead of one directory. 

At igence where I work we're in the process of transitioning to git for our version control, replacing a 6 year old CVS repository. I've been getting to know git for good few months now, and I can see even it having problems with OS X bundles, especially when it comes to merging branches, since it works at the file level and would attempt to merge the contents of the bundle and most likely make a complete hash of it.

Of course, this still hasn't addressed the issue of which applications we use, but it does bring iWork back into the debate. We even have the option of OpenOffice.org as well now; the latest version of their suite (v3) is OS X native, rather than relying on the X Window System.

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...