Open main menu

CDOT Wiki β

Changes

Hints for Using SVN to collaborate on school projects

186 bytes added, 01:29, 13 February 2012
branches
* '''branches''' is the common directory for all team members' workspaces.
* Each team member should create their own home directory or '''workspace''' (member-id1, member-id2,...) for their own development tasks within '''branches'''.
* Each team member should divide their workspace into several sub-directories (workspaces) during the development of the project. These workspaces(Task1, Task2, ...) are usually copies of the '''trunk''' to be worked on.*: ''These sub-directories(Task1, Task2,...) are called branches of trunk. When the word '''branch''' is used as a verb, it means copying the whole '''trunk''' into a sub-directory, either in '''branches''' or '''tags'''.(This method of development is called [http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.branchmerge.commonpatterns.feature Feature Branching]
==== tags ====
* '''trunk''' is the directory that holds the project in its current stage, '''complied and run-able'''
* '''trunk''' should never hold non-compiled code. Usually trunk is an exact copy (or better than) the latest version in '''tags'''.
* If the repository only contains one project is within the repository, then trunk has no project level sub-directory and is the root of the project. If Ifthe repository holds more than one project is within the repository, trunk is divided into several aubsub-directories - one for each project to be version-controlled.*: ''In this case , we divide '''tags''' should also be divided into exactly the same project sub-directories as present in '''trunk'''''
=== Basic Actions ===
A few important facts and terminology to help clarify the basic actions:
* One responsibility of a code repository is to keep track of all of the modifications done to a project by its team members.
*:In other words, in a project that is handled tracked by a code repository (version-controlled or in short versioned), you can track focus on any changes during the project's development life; such as, who modified/added/deleted what and when. You can undo work or rollback the work to any stage of the development and much more.
* SVN is a client/server repository;
*: The code Code is kept on a server and those members who have access can copy the whole or parts of the project to their local machines, work on the whole or parts and then apply their changes back to the server. Because of thisthe code is kept on a server, one member may be unaware of the changes made by another member, unless the other has applied the changes to the serverand the member has update their local copy.
* Merging the modifications of different members into the repository is another responsibility.
* A '''Version-controlled or versioned''' file is a file that is handled and tracked by a repository
To '''checkout''' is to copy the code from a repository server to a versioned directory on the client, so that you can start working on the code.
==== branch ====
To '''branch''' is to copy a one directory (like trunk) on the repository server into another directory on the repository server.: Note that '''branch'''ing the code copies it on '''the repository''' itself and not to on the local (client) machine. To work on the '''branch'''ed (copied) code, you must '''checkout''' the directory to which you copied the '''branch'''.
==== add ====