bartop

palmoswerks ARCHIVE
Palm OS programming tips from a (former) CodeWarrior insider

header

Navigation

Search
Home
About
Stories
Stuff I Like
Articles
PilRC
CodeWarrior
palmos.techwood.org
DevTools List
Palm OS Dev FAQ

Storing Projects in Version Control

One question I get asked occasionally is how to store a CodeWarrior for Palm OS project in version control. What files are important to save, and what will be regenerated?

Here's a list of tips on specific file types:

  1. Don't add the "Project_Data" folders. Those can always be recreated.
  2. Don't add .tmp files -- those are intermediate files used to make the final .prc file.
  3. Don't add .map or .psym files; those have linker map and debugging information, respectively, and will be rebuilt when you build your project.
  4. When adding resources, add both the zero-byte file and the RESOURCE.FRK folder with its larger file. This is a special format that simulates a MacOS file structure on Win32 machines, and the "file" is a combination of both parts.
  5. You probably don't want to store the output .prc file, unless you want to keep "official build" versions around for tracking purposes.

If you're using a version control plugin with CodeWarrior, you'll find that its not able to manage the resource files very well, since the project only holds the pointer to the zero-byte file, and they don't see the RESOURCE.FRK part. This is an unfortunate side effect of this storage mechanism, and you'll just need to handle check-in/check-out of these files using an external mechanism. I know the mwCVS plugin works well with WinCVS, so you might want to use that pair to handle this task.

Another topic: Constructor can generate a header file (.h) to go with your resources. This will usually be in the directory with the zero-byte file, although it can be output into RESOURCE.FRK if you open that file by mistake. I would go ahead and commit this to your version control system, updating it when you update your resources. My reasoning is that there's no way to trigger Constructor to generate this from the build system, so it should just be considered another work file, rather then a temp file. As a bonus, you can easily compare the headers over time to see what resources have been added and deleted.

Finally, Mac OS users have it a bit easier with regards to resources. You don't have the dual-file problem that PC users have.

To find out more about the CW IDE and version control, check out the version control pages at the Metrowerks website.

brought to you by weblogger.com


Send feedback to combee@techwood.org
Copyright © 2004 Benjamin L. Combee
Palm OS is a registered trademark of PalmSource, Inc.
Metrowerks and CodeWarrior are registered trademarks of Metrowerks Inc.

The views expressed on this website/weblog are those of mine alone and do not necessarily reflect the views of PalmSource or Metrowerks.

This is a Manila Site

qwertYAK / frobnovich