Introduction to CVS: Difference between revisions

From Project Apollo - NASSP
Jump to navigation Jump to search
imported>Mark Grant
imported>Redburne
(Added Infobox "Latest Downloads" to provide missing Meshland link)
Line 1: Line 1:
{{Infobox | caption=Latest Downloads | text={{Latest_Downloads}} }}
This introduction tries to provide step-by-step instructions to the '''Project Apollo CVS repository''' at SourceForge. It's no comprehensive introduction to CVS or SourceForge. For further informations please use the following links:
This introduction tries to provide step-by-step instructions to the '''Project Apollo CVS repository''' at SourceForge. It's no comprehensive introduction to CVS or SourceForge. For further informations please use the following links:



Revision as of 10:42, 4 November 2006

Latest Downloads
Latest NASSP 8.0 beta

https://github.com/orbiternassp/NASSP/releases

The link opens the GitHub download page.

This introduction tries to provide step-by-step instructions to the Project Apollo CVS repository at SourceForge. It's no comprehensive introduction to CVS or SourceForge. For further informations please use the following links:


We recommend TortoiseCVS as client, so first of all please download and install it. You will also find some instructions especially for SourceForge in the TortoiseCVS help. We also recommend to take the time to read the "Using TortoiseCVS with SourceForge" chapter and the "Using Pageant to avoid having to enter the SSH password every time" chapter in the help file and to use Pageant.

Attention
You need a SourceForge login to be able to commit your changes to SourceForge and you have to be added as a developer to Project Apollo by a project administrator. So please make a login for yourself and post an informal request with your login (UNIX name) included that you wants to be added at the Project Apollo forum.

If you use CVS the first time you can practice the basic CVS operations with the test module (named "test"). Do the checkout as explained below, but use "test" as module. You'll get some test files you can change as you like to get familiar with CVS.

Initial Checkout

After installing please do the following steps to build your "development enviroment" for Project Apollo:

  • Make a new, empty folder on your local harddisc, you can choose the location and the name of the new folder as you like, in the following it is assumed that the folder is "C:\ProjectApollo".
  • Right-click the new folder in your Windows Explorer and choose CVS Checkout... from the context menu.
  • Enter the following settings in the "Checkout Module" window:
    • Protocol: Secure Shell (:ext:)
    • Server: nassp.cvs.sourceforge.net
    • Repository folder: /cvsroot/nassp
    • User name: <YourUNIXName>
    • Module: projectApollo

      After that your CVSROOT should look like this:
      :ext:<YourUNIXName>@nassp.cvs.sourceforge.net:/cvsroot/nassp

  • Press "OK". TortoiseCVS downloads now the current version of the Project Apollo files to your computer. This will take some time...
  • After the checkout install Orbiter in your folder, that means in the example above the path of Orbiter is "C:\ProjectApollo\orbiter.exe". This includes the following files at the moment:

    Orbiter 2006-P1 Edition (http://www.orbitersim.com)
    • orbiter060929_base.zip
    • orbiter060929_sdk.zip

      Optional:
    • Earth060504_L10.zip
    • Moon060504_L8.zip
      You can install every other Planetary extension package, too.

      OrbiterSound 3.0 (http://orbiter.dansteph.com)
    • OrbiterSound30.exe

      Orbiter and OrbiterSound should not overwrite any of the CVS files.

  • Download and unzip the latest Meshland Pack using the link at the top of this page in your beta testing folder. Make sure that the "Use Folders" option box is ticked/checked. CVS will ignore the new files. Start Orbiter, go to the "Modules" tab and activate the "MeshLand" module.
  • You will find the Project Apollo workspace file for Microsoft Visual C++ 6.0 in the "ProjectApollo" source folder ("C:\ProjectApollo\Orbitersdk\samples\ProjectApollo\ProjectApollo.dsw"). All available projects are included in this workspace, rebuild all projects to get all necessary modules.
  • You will find the Project Apollo solution file for Microsoft Visual Studio 2005 in the "ProjectApollo" source folder ("C:\ProjectApollo\Orbitersdk\samples\ProjectApollo\ProjectApollo2005.sln"). All available projects are included in this solution, rebuild all projects to get all necessary modules.
  • Since there are no modules in the repository first you have to compile the sources (or install them from the file release). The projects should have a clean debug and release configuration, please try if you can work with them WITHOUT changing them and please report problems to an administrator or at the forum, we'll try to help you as soon as possible.
  • Start Orbiter, go to the "Parameters" tab and make sure that at least Complex flight model and Limited fuel are enabled. If you're using a Virtual AGC scenario, also enable Nonspherical gravity sources.
  • Go to the "Modules" tab and activate the ProjectApolloMFD and MeshLand modules.
  • That all, now you can try if Orbiter and Project Apollo is working. You'll find the proper scenarios in the "Project Apollo - NASSP" scenario folder and subfolders.

Edit a file

To change a file you first have to do a "CVS Edit" with the file (by choosing "CVS Edit" in the Tortoise context menu). After that the file is no longer read only and the CVS server knows that you are editing the file. You can check which files are edited by other users (or by yourself) with the "Show edited files..." in the Tortoise context menu.

Commit your changes

When you finished changing a file you can commit it (save it) to the CVS repository by choosing the "CVS Commit..." context menu item. Please provide a useful comment in the commit window. If the committed file is a source file, your comment will be added to the revision history at the top of the file.

If you don't want to commit your changes (and undo it) please choose "CVS Unedit" instead.

Update your local files

To get the changes of the other users you don't have to do the checkout again (in fact you must not) but you have to use the "CVS Update" feature:

Choose the "CVS Update" menu item from the Tortoise context menu for each folder below "C:\ProjectApollo", i.e. "Config", "Doc", "Html" etc. CVS will download the changed files and merge the changes into your local copies.

If you receive an update of a file you are editing at the moment it can happen that merging is not possible and you get a "confict". If you have problems resolving the confict please contact a project administrator for assistants, this is always a difficult situation.

Comments and remarks

  • There is no NEP support at the moment so please do NOT install NEP in your development folder (and of course no other add-on).
  • Do NOT rename or delete any folder name or CVS will go mad. Be very carefully when you add a directory to the repository because you cannot delete it.
  • There are lot's of .cvsignore files so CVS should ignore Orbiter files and the VC++ files created during build, I hope everthing works fine but there could be bugs of course.
  • If you have problems or need help please mail to an administrator, an other developer or post in the Project Apollo forum and we will help you to solve your problem.

Backing up CVS

It is possible to make a local backup of the whole CVS tree, but it's currently around a gigabyte of data since it includes all the file history. This isn't generally useful, but it may be handy in case there's ever a server crash which wipes out the original files or requires they are reverted to an old version.

First download and install cwRsync:

http://itefix.no/cwrsync/

Second, add it to your path (C:\Program Files\cwRsync\bin) and run a command prompt.

Finally, cd to the directory where you want to make the backup and run:

rsync -avz nassp.cvs.sourceforge.net::cvsroot/nassp/* .

That will download the entire CVS tree to that directory, including all the history. The first time you run rsync this will take quite a while as it has to download all the files, but if you run it again later it will only have to download changed files, which generally only takes a few seconds on a broadband connection.