Rule of thumb

I have a rule of thumb when it comes to backup of projects: “Except for the main development tool [in my case: Visual Studio C# or CPython], everything that is needed to build the project should go into the version control system (in my case: Subversion or bzr)”.

Following that rule, it is super-easy to create a new branch of the project, which is a Good Thing ™. For example, changing working computer becomes easy. Also, reorganizing (refactoring?) the file system layout is a no-brainer.

Here are some implications of that rule:

  • Dependent resources should be included, for example DLL’s, bitmaps, config files. They are part of the material needed to build the project!
  • Dependent tools should be included, like the testing framework/tool. In my case NUnit. (I usually strip documentation, unnecessary binaries and such)
  • The .bzrignore file should be included – it is part of the development environment needed to build/backup the project

In short, if I can answer “Yes” to the question “Will I be able to press ‘build’ then ‘run’ if I create a branch on another computer than mine?”, I’m cool.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s