Tekkotsuan open source project created & maintainedat Carnegie Mellon University | ||
Tekkotsu CVS UsageBackground:
CVS stands for Concurrent Versions System, a commonly used method of maintaining modification history for files, allowing many users to collaborate in an organized fashion.
You can browse our CVS repository through the Tekkotsu CVS web interface. Setup:
For additional help regarding the options available for any command, type: You can create a .cvsrc file in your home directory which will be checked for default parameters, allowing easier command line use. Initial Checkout:
Updating:Updating the Tekkotsu framework itself is fairly straightforward. However, you will also need to make sure that any projects you have started are updated as well in order to take advantage of new tools or build features.
Advanced Updating:For heavy development you may wish to put your project directory in your own versioning system to allow collaboration, archiving, historical analysis, etc. of your own project. There are other systems available besides CVS, which may allow you to update from the Tekkotsu repository through CVS without clashing with your own repository's settings. However, if you wish to use CVS for your own versioning as well, there would be a conflict between the CVS status information for your repository, and the CVS information for the Tekkotsu repository. Don't give up yet though, updating your project from Tekkotsu source is still possible, but a little more complicated. Method A: CVS "Dual-Citizenship"One method is to keep two versions of your CVS directories, and swap them back and forth when it's time to update from the other source. Something like:# swap from local repository to Tekkotsu repository: find . -name "CVS" -exec mv \{\} CVS-local \; find . -name "CVS-Tekkotsu" -exec mv \{\} CVS \; # get update from the main repository: cvs update # swap back to your local repository: find . -name "CVS" -exec mv \{\} CVS-Tekkotsu \; find . -name "CVS-local" -exec mv \{\} CVS \; Method B: Symlink unmodified portionsYou can also checkout a normal project template, and then use symlinks from your custom project into the template project for the portions which you want to retain the template, such as the Makefiles (i.e. Makefile, aperios/Makefile.aperios, local/Makefile.local)Method C: Generate PatchfilesAnother method is retain a pristine copy of the original project template, and then when you want to update, checkout a fresh copy of the project directory. Generate a patch from the old project to the new project (we generate and distribute this patch file for each Tekkotsu stable release).# NOTE: do this stage BEFORE you update the framework! For each of your customized projects, apply the patch and resolve any conflicts that occur: # apply patch to sync local to repository Finally, update the Tekkotsu framework itself, as was shown for the "easy" updates: # could be done anytime after first stage (patch generation) Generating Patches for Submission:
Please review the FAQ entry on the subject first.
If you have made changes to the framework which you would like to submit for inclusion, the following commands will usually do the job: #SIMPLE METHOD - only catches modified, pre-existing files Alternatively, you can try this method for generating a patch file, which is more guaranteed to catch all modifications in a single patchfile, and will work if your own copy of the framework wasn't checked out of CVS: #ALTERNATIVE METHOD - more general, catches all modifications |
developer resources
Index Page
Reference TutorialsBeginner's TutorialC++ Review Writing Behaviors Writing MotionCommands Technical NotesArchitectural OverviewExecution and Configuration TekkotsuMon Camera Calibration Vision Pipeline Walk Calibration Kinematics Network Basics Particle Filtering CVS Usage Setup Checkout Updating Advanced Updating Patch Generation Porting |
|