190 likes | 341 Views
Bluej Version Control Tools. By Steven Campbell and Erik Boone. Bluej Version Control Capabilities. Sharing projects by putting them into a central repository. Checking out copies of projects from the repository Updating local copies Committing local changes to the repository version
E N D
Bluej Version Control Tools By Steven Campbell and Erik Boone
Bluej Version Control Capabilities • Sharing projects by putting them into a central repository. • Checking out copies of projects from the repository • Updating local copies • Committing local changes to the repository version • Handling merge conflicts • Providing projects status queries • Viewing the projects history/log.
Teamwork! • Version control is defined as teamwork to the students. • “The teamwork features are implemented over the top of two existing systems, the Concurrent Versioning System (CVS) and (since BlueJ 2.5.0) Subversion. Our aim is to expose students to general version control concepts without exposing them specifically to the inner workings of CVS or Subversion any more than is necessary.”
Enable Teamwork • Go to Tools> Preferences >Miscellaneous Tab • Then in the Optional tool settings click the “Show teamwork controls”
Sharing a project • To share a project go to Tools > Team > Share this Project • Then the Teamwork Settings Dialog will open (unless already connected to a repository server).
User Name: account name for the Repository server. • Password: password for the repository server for the account. • Group: (optional): If the instructor wants to make groups who only have access to their repositories. • Server type: Type of version control software (CVS or Subversion). • Server: Name or IP address of the server. • Repository Path: The file path to the repository on the server.
Checking out a Project • To check out a project go to Tools > Team > Checkout Project • Then the Checkout dialog box will appear (if connected). • After selecting the project, then you choose the file location on your computer.
Checking the status of the Project • In the main window, click on status to see the status of the project. • Green - There has been a change to that file (either locally or from other team members. • Blue – you do not have the file. • Black – your version is up to date.
Updating your Local version • In the main window just click the update button. • This dialog will show and displays which files will be updated. Click update to update your local Files
Committing your Changes • After making any changes of the files Click on Commit in the main window --> • Add a comment about the changes and click commit to add your changes to the repository.
View the Project History • In the main window go to Tools > Team > Show Project History • You cannot go to previous version, but you can filter the changes based on who did the changes or by certain files.
Resolving Conflicts • Conflicts occur while updating your local project. • Have to delete (manually) the extra characters in order to fix the conflicts.
Setting Up Repository Server • Need CVS Server Software – “CVSNT” • http://www.cvsnt.org.
Creating the Server • Set up the repository in the control panel by going to Start / Programs / CVSNT / CVSNT control panel and the “Repository Configuration” tab. • Press the “add” button to allow you to choose your directory.
Creating a Server Cont. • In the location section on the popup window put your repository path. • Also place the original name of your repository in the name section and hit OK. • When asked whether CVSNT should initialize the location as a repository, select yes. • Your repository server is now created and should show up Under your server name and can be used by bluej.
Problems with Teamwork • A server has to be running 24/7 if the students want to be able to work from home. (services like Google Code and bitbucket host TortoiseHg, so the instructors do not need to make their own server) • Someone with administrative access will have to set up the server if he/she wants it on campus, AND will either have to let anyone have access to the server, or add each individual student to the server. (again bitbucket and Google Code it is easy to set up an online repository) • Can only view the revision history instead of being able to go back to a previous version (which TortoiseHg does).
Recommended Reading • www.bluej.org/doc/teamwork-tutorial-2.0.pdf • www.bluej.org/doc/repository-setup-2.0.pdf