You are here

setting up CVS/SVN repository

CVS and SVN instructions

CVS and SVN repository can be generated with your ENCS account. However, it means that only you have permission to access this repository. It makes more sense to create a CVS/SVN repository with a group account. It will benifit all group members in controlling the source version.
Please note, only the professor can make request for group account.

Please make sure:
- the umask is set; so that group writing is enabled and the root of the repository is writeable by the group.
- the sticky s bit is turned on. That will leave any subdirectories and files automatically belonging to the group and thus have disk quota.

 

CVS

To create repository

This action only need to be done once. Go to the group location, create a repository, and set the sticky s bit for this folder.
Assuming, my group location is /group/s/sd. The CVS repository I want to create called CVS_REPOSITORY.

[genie] [/home/n/nguyen] > ssh login
[grace] [/home/n/nguyen] > cd /groups/s/sd
[grace] [/groups/s/sd] > mkdir /groups/s/sd/CVS_REPOSITORY
[grace] [/groups/s/sd] > chmod 2770 CVS_REPOSITORY/
[grace] [/groups/s/sd] > cvs -d /groups/s/sd/CVS_REPOSITORY init

To import

You want to import a project source folder named my_cvs_project to the CVS repository. Important, go to that source folder, then start to import.

[grace] [/home/n/nguyen] > cd /home/n/nguyen/my_cvs_project
[grace] [/home/n/nguyen/test] > cvs -d /groups/s/sd/CVS_REPOSITORY import -m "Initial import project test" my_cvs_project INITIAL start

To check out

Your group members want to check out my_cvs_project to your their ENCS accounts, saying, located at $HOME/workspace

[genie] [/home/n/nguyen] > cd ~/workspace
[genie] [/home/n/nguyen/workspace] > cvs -d /groups/s/sd/CVS_REPOSITORY/ co my_cvs_project

 

SVN

To create repository

This action only need to be done once. Go to the group location, create a repository, and set the sticky s bit for this folder.
Assuming, my group location is /group/s/sd. The SVN repository I want to create called SVN_REPOSITORY

[genie] [/home/n/nguyen] > ssh login
[grace] [/home/n/nguyen] > cd /groups/s/sd
[grace] [/groups/s/sd] > mkdir /groups/s/sd/SVN_REPOSITORY
[grace] [/groups/s/sd] > chmod 2770 SVN_REPOSITORY
[grace] [/groups/s/sd] > svnadmin create --fs-type fsfs SVN_REPOSITORY/myproject/

To import

You want to import a project source folder named my_svn_project to the SVN repository.

[grace] [/home/n/nguyen] > svn import /home/n/nguyen/my_svn_project/ file:///groups/s/sd/SVN_REPOSITORY/myproject/trunk -m 'Initial import'

To check out

Your group members want to check out my_svn_project to your their ENCS accounts, saying, located at $HOME/workspace

[grace] [/home/n/nguyen] > cd ~/workspace
[grace] [/home/n/nguyen/workspace] > svn checkout file:///groups/s/sd/SVN_REPOSITORY/myproject