Open main menu

CDOT Wiki β

Changes

Hints for Using SVN to collaborate on school projects

2,432 bytes added, 14:31, 27 September 2010
SVN Basics
* If only one project is done within this repository, then trunk has no project level subdirectory and is the root of the project, otherwise, trunk is divided into several directories for each project to be version-controlled.
*: ''In this case Tags should also be divided to the exact same project directories as trunk''
=== Basic Actions ===To explain basic actions we have to clear few facts and terminology:*Responsibility of a code repository is to keep track of all the modifications done to a project by different members. *:In other words, when a project handled by a code repository (version-controlled or in short versioned) you can track any changes done through the development life of the project; like who modified/added/deleted what and when. You can undo any work or rollback the work to any stage of the development and much more.* SVN a client/server based repository;*: Which means the code is kept on a server and those with access can copy the whole, or pieces of the project to their local machines and work on them and then apply the changes back to the server. Note that because if this fact, one member could be unaware of the changes make by another member, unless the first one applies the changes to the server.* Merging all the modifications by different members into the repository is another responsibility of SVN.* a '''Version-controlled or versioned''' file, is a file that is handled and tracked by a repository ==== import ===='''import''' is to copy non-versioned work (directory) to a repository server.: note that in this case the imported code is on the server and is still NOT versioned on the client machine; to start working on an imported directory, you should fist '''checkout''' the directory from the repository to the client machine.==== export ===='''export''' is to copy the whole or part of a repository into a non-versioned directory on the client machine: This is usually done when you want to either package the project and make it ready for production or when you and to copy a piece of work form one repository to another repository.==== checkout ===='''checkout''' is to copy the code form repository server to a versioned directory on the client, so you can start working on it.==== add ===='''add''' is to flag a non-versioned file or directory to be added to the repository server at next '''commit'''==== commit ===='''commit''' is to apply (or copy) your modifications and additions to the repository server.==== branch ===='''branch''' is to copy a directory (like trunk) into another directory on the repository server.: Note that after braching the code is copied on the repository; to actually work on the branched (copied) code you must '''checkout''' the direcotry
== Starting the Project On SVN ==