This is not exactly rocket science, but does show up an important principle of Version Control (see below). Let's take a practical example that happened to me today: I have a document under source code control (git in this case) and I am editing it using OpenOffice. Naturally it is an ISO standard Open Document format file and so it's file name is something like GreatDocument.odt. However I now need to distribute this document to a wider audience for comment and feedback; and of course everyone else uses MS Word 2003. The practical solution is to change the document format to .doc. However I still want to keep the full history of the item -- the fact that it changed from ODT to .DOC format is actually not significant in the grand scheme of things. For git the following commands need to be performed:
  1. Using OpenOffice save the file GreatDocument.odt in MS Word format using the Save As function. This should create a second file called GreatDocument.doc
  2. Rename GreatDocument.doc to something else, e.g. GreatDocument.word
  3. issue a git-mv command to show that the file is changing. e.g. git-mv GreatDocument.odt GreatDocument.doc
  4. Overwrite the .doc (which is actually in ODT format of course) with the true Word file. E.g. mv GreatDocument.word GreatDocument.doc
  5. Now commit your changes to the repo. git-commit -a
Of course you will need to modify this to suite your platform and version control tool. But the principle should hold in the majarity of cases. And what is the important Version Control principle involved? The physical format of a controlled Item is less important that its history and logical purpose