Source control and subversion are helpful tools for group code work. Source control, I believe, functions on the idea that the source code is stored in a server while the partners involved modify local versions and changing the server's to reflect said changes. This is done to allow multiple to work on the same code over long distances and assisting each other on the code when needed. Subversion, also called svn, functions as a program that optimizes source control and is what we used in 3081W. Svn has a repository, both for individual and group, that allows us to store are code online for others to see. When we add or modify, with the command add and commit respectively, the existing code on the repository we can leave comments telling what we did and why. We can update our local code version with the repository code with the svn update command if said code is different from local. These features allow easier long distance group code work because our partners can understand what we did and retrieve the alterations for their own use.
However, there are drawbacks such as remembering to delete data from the repository and not your own local server. Some issues caused are an inability to remove it from the repository without administrative assistance, loss of doing additions to repository in the file that contained the deleted file, or an inability to change the repository at all depending on where you deleted the file locally. All this can be resolved though with the help of an administrator or someone similar. You can also force some of the commands or use the resolve command to fix some issues but these won't fix everything. You have to work around svn server related issues such as the site being down, which can be circumvented by using email to transfer altered code, although emails can only hold so much information and don't allow quick changes to occur.