Version Control Management

From ATIRE

Jump to: navigation, search

ATIRE uses Mercurial.

The repository is located at http://atire.org/hg/atire .

Standards for committing to the main branch

We are currently shifting towards a new method of maintaining the ATIRE repo. In the past, we would all commit to the branch as we saw fit. This meant you might download a broken build without knowing, etc. We hope to formalise the use of the main branch, such that commits might follow these ideals:

  • The code should compile, ideally on all supported O/S but at the very least on your own O/S
  • As few warnings as possible (eventually, you'll fix them all)
  • Your code should follow the Coding Style
  • The commit message describes what you did, or what you can do now. That is, you can use feature x.

Shifting work between machines

This is a new technique employed to increase the reliability of the main branch

If you use several machines and you'd like to work on ATIRE without cluttering the master branch, you have several options:

  • Use a USB key to copy over the old folder
  • Use a USB key to copy to a new folder, then pull from that folder
  • Use a service like Bitbucket and set up a private repo; push/pull from there
  • Use hg serve

hg serve starts a simple web server on the current machine. By default, it serves from the current working directory in a read-only mode.

Example: I have Mac OS X, and might want to use a Windows VM to debug: On my Mac, from the directory atire is located in, I run the command hg serve -p 0 to serve the repo with a random port. Then, I switch into the VM, and type hg pull http://machinename:50751 (if, for example, hg serve told me it was hosting on port 50,751).