NMC - Essay on CVS
Branching
NMC Project Logo

Introduction to CVS Branching

This web page is intended more for the NMC Development team, but it is open for anyone wanting a glimpse into the NMC Server development. Be advized, if you are not comfortable with CVS, you really should stick with the basic web page we have on CVS.

Why is the NMC Dev Team moving to branches?

Branches are an important part of CVS. This provides us the means to make bugfixes in our current release version that is openly available to anyone, while still permitting us to do work and bugfixes on the next minor release to come (Beta) and to begin making major sweeping changes on the next major release.

I'm comfortable with simple CVS... how do I deal with branching?

To repeat the basic CVS page for NMC, Romaq is using the latest CVS STABLE GUI version, and that's the version I am giving my instructions from. If you happen to be using Linux or you prefer non-GUI tools, you can also find more information from www.CVSHome.org. Romaq can also help with non-Microsoft OS installs of CVS.

By the numbers...

  1. Your WinCVS program should have the Nameless module loaded, and you should have a 'CVS Workspace Panel' that looks something like this with 'nameless' in it:
    Image of
WinCVS Browser Panel
  2. Click on 'Create' on the menu bar, then 'checkout module... '.
  3. Under 'Enter the module name and path on the server:' put server
  4. Click the box marked 'Override'
  5. Next to 'Checkout as:' put server_beta
  6. In the box under 'Local folder to checkout to:' put nameless just after cvsroot. This is to check out the new module within your 'nameless' module.
  7. Click on the 'Checkout Options' tab up at the top of the window.
  8. Click on the box to the left of 'By revision/tag/branch:' and put in 'NMCSRVR_1_22_BETA_0'.
  9. Click OK.
  10. You will notice activity in the output window, and it will finish with the message '*****CVS exited normally with code 0*****', a sign that all is well.
  11. Press the F5 key to refresh your window. You should now observe something like the following image in the CVS workspace window:
    Image of
WinCVS Workspace Panel with Beta Module
  12. To confirm everything is happy, click on 'nameless' within your 'workspace' panel, then look to the 'status panel' (to the right) and server_beta should have 'NMCSRVR_1_22_BETA_0' in the Tag column.

Once this is done, you can repeat the steps above using 'server_future' and 'NMCSRVR_2_0_BETA_0' as appropriate. Other branch tags and revision tagging will appear from time to time, and WinCVS will show you all tags including branch tags as they appear. To learn more about this, read your CVS documentation, or check into 'CVS Bubbles' and other useful sources of documentation about advanced use of CVS on the net!

Questions? Problems? You are welcome to email me, Andy Smith <romaq@members.limitless.org>