Google Code
As practice with using Subversion, I attempted to work on the stack-johnson project on Google Code. Google Code provides project hosting capabilities, including member controls, a wiki, an issue tracker, email notifications, and a Subversion repository. I installed TortoiseSVN as my Subversion client and, after configuring it to access the project's SVN repository, I was easily able to checkout (i.e., download) the project. I edited some existing files, added some new files to the project, and committed (i.e., uploaded) my changes back to the repository. These changes were saved as a new version of the project, and I was able to see a changelog of the edits I had made. There was even a diff function--a side-by-side comparison of the new version of a file with the previous version of a file.
Creating My Own Google Code Project Site
To get a better feel for Google Code Project Hosting, I created my own project site: stack-atshum. I also set up a mailing list for my project by creating a discussion board on Google Groups, and setting my project to send out email notifications to the group. This way, whenever there is a commit, or whenever an issue is updated, group members will receive emails alerting them to such. The only minor catch to setting this up was remembering to add
codesite-noreply@google.com (the address from which the notifications get sent) as a member of the group so that it has permission to post to the group. Actually, I think this step might be unnecessary if I set the group so that the public can post to it, but I never bothered to test this hypothesis out. One minor drawback to using Google Groups in conjunction with Google Code Project Hosting is that team members must be members of both services in order to both work on the project and receive notifications. If only Google Code and Google Groups were somehow more integrated, then project managers wouldn't have to remember to add members to two separate services.
Adding My Project
After I created my project site, it was time to add my project to the SVN repository. I used SmartSVN as my Subversion client this time, and I was somewhat confused by it initially. I wasn't sure what the difference was between creating a project from a directory and creating a module, so I consulted the SmartSVN help manual. It turns out that "Create from Directory" is for when you have a local project that is already version controlled, and you want to add it to a repository; "Create Module" is for when you have a local project that is not version controlled, and you want to place it under version control and add it to a repository.
I was also a bit confused that going through the "Create Module" screens doesn't actually add anything to version control, and it doesn't actually upload anything to the repository. In order to do that, you have to select the files that you want to include from the Project Window, click "Add local files to version control", and click "Commit local changes to repository". Once I did that, my project was uploaded to my project site's SVN repository. My project was now ready to be shared with other programmers.
No comments:
Post a Comment