Table of Contents

Methods and Pracitices we will use within whatIf?

Background

Here's a like describing various methodologies we will be using the CvsLikePractice because we are a very small development shop and LOW overhead is what we need. http://mercurial.selenic.com/wiki/WorkingPractices

The main repositories are on feynman under /space/hg/repositories

There is a subdirectory for 3 main code groups:

Repository Information

Under each there will be at least 2 actual repositories and over time more will develop. Understanding the meaning of “major”, “minor” and “patch” wrt our versioning is useful please read: http://feynman.whatiftechnologies.com/dokuwiki/doku.php?id=definition_of_version_numbers_x.y.z.

The repositiories for each code group include:

Each time we release a “minor” version a new minor branch repository will be added to the directory. Each time we release a “patch” version a tag will be added to the minor branch.

Using tool as an example under /space/hg/repositories/tool will be the following repositories:

Development Methods

Changing Code: Local Repositories vs Authority Repository

As a developer you will need your own repository cloned from either the main branch or the minor branch depending on what needs changing.

Code to create a clone

NEED TO FILL IN

You can then make changes and commit them to your local repository as many times as needed until the code is ready for prime time.

Here's how you commit to your local repository

NEED TO FILL IN

Testing should be done on your own repository. When ready your development branch needs to be synchronized and committed to the authority version on feynman. Here's how you commit code to the main repository.

NEED TO FILL IN

Updating the "dev" enviroments

TOOL and SAMM have their own accounts on feynman and under these is the dev/src directory structure. The released code should be available there as well as the head of each branch. Code here should NEVER be changed directly. Taking tool as an example:

How to syncronize to the “head” of an authority branch

NEED TO FILL IN

The Changing Code process described above should be used to change code and the dev directories will be updated from the authority repository when we release code or when the “head” of a branch is updated.