CVS Adminrepo

Managing your CVS Repository with adminrepo

While most changes to a SCM repository are made through client software on your workstation, most repositories have a certain set of operations which must be performed through direct filesystem manipulation on the server. To meet these needs for direct repository modification, SourceForge.net provides the adminrepo tool as part of our shell service. adminrepo may be used to perform common tasks, such as permanently removing files or modules that were incorrectly checked in. Many tasks, such as locking files or setting properties, can be accomplished from your CVS client, and do not require the use of adminrepo.

Before you start...

NOTE: Before performing ANY action with adminrepo:

Consult with your Project Team; ensure all developers are aware of the changes you are making to the repository. Direct repository changes can result in lost data and lost time for your developers if done improperly.
Make a backup of your repository. The backups maintained by SourceForge.net are used only when there is a catastrophic server failure. If you break your repository using adminrepo, we won't restore the data. You need to be prepared to restore data using a backup you are making now.
rsync may be used to make a backup of your repository. For example (replace PROJECTNAME with the UNIX group name of your project):

rsync -av PROJECTNAME.cvs.sourceforge.net::cvsroot/PROJECTNAME/* .

Executing adminrepo

Connect to our Shell service and run the sf-help command. This will provide you with information you may need later.
Execute the following command to clone a copy of your repository to /cvsroot/PROJECT: adminrepo --checkout cvs
Change to the /cvsroot/PROJECT directory and manipulate the repository as needed.
The repository will be locked and read-only until you either:
Finalize your changes by executing: adminrepo --save
Cancel your changes by executing: adminrepo --discard
Resetting a repo (starting from scratch)
Discuss your proposed changes with your Project Team.
Backup your your current CVS repository.
Connect to our Shell service
adminrepo --checkout cvs will create a clone copy of your repository in /cvsroot/PROJECT.
Use adminrepo --help for further information.
Create a new repository:
Remove the clone copy of your repo with rm -rf /cvsroot/PROJECT/*. Be very careful with this.
Create a new repository with cvs -d /cvsroot/PROJECT init
Save your changes using adminrepo --save.

Importing from other repos

To import an existing CVS repository into SourceForge, follow these steps:

Discuss your proposed changes with your Project Team.
Backup your your current CVS repository.
Using your preferred compression tool, such as gzip or zip, compress the complete repo, including CVSROOT etc. E.g. tar -zcf cvsrepo.tar.gz /path/to/cvsrepo
First log into the Shell service, and run sf-help; this will provide you with information you'll need to upload your compressed repo.
From the shell service, run adminrepo --checkout cvs to clone a copy of SourceForge CVS repo; this clone will be available for you to work with in /cvsroot/PROJECT
Upload your compressed repo file to the shell service
Unpack your compressed repo file into /cvsroot/PROJECT, and verify that you now have /cvsroot/PROJECT/CVSROOT , etc.
Finalize your changes with adminrepo --save#


Related

Documentation: CVS

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks