Changes

Jump to: navigation, search

Hints for Using SVN to collaborate on school projects

50 bytes added, 16:32, 27 September 2011
Basic Actions
=== Basic Actions ===
To explain basic actions we have to clarify a A few important facts and terminologyto help clarify the basic actions:*Responsibility One responsibility of a code repository is to keep track of all of the modifications done to a project by different its team members. *:In other words, when in a project that is handled by a code repository (version-controlled or in short versioned) , you can track any changes done through during the project's development life of the project; like such as, 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 is a client/server based repository;*: Which means the The code is kept on a server and those with members who have access can copy the whole, or pieces parts of the project to their local machines and , work on them the whole or parts and then apply the their changes back to the server. Note that because if Because of this fact, one member could may be unaware of the changes make made by another member, unless the first one applies other has applied the changes to the server.* Merging all the modifications by of different members into the repository is another responsibility of SVN.* a 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 ====
To '''checkout''' is to copy the code form from a repository server to a versioned directory on the client, so that you can start working on itthe code.==== branch ====To '''branch''' is to copy a directory (like trunk) into another directory on the repository server.: Note that after '''branch'''ing the code is copied on '''the repository''' itself and not to the local(client) machine. To work on the '''branch'''ed (copied) code, you must '''checkout''' the directory after the '''branch'''ing.
==== add ====
To '''add''' is to flag a non-versioned file or directory to be added to the repository server at next '''commit'''
==== commit ====
To '''commit''' is to apply (or that is, to 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''' and not the local(client) machine. To actually work on the branched (copied) code you must '''checkout''' the directory after branching.
==== merge ====
'''merge''' is the opposite of '''branch'''.
: To '''"merge"''' merges is to merge back a branched directory, back to the original directory ; that is, to apply the modifications and additions to the branched direcotry'''branch'''ed directory.==== export ====To '''export''' is to copy the whole or part of a repository to a non-versioned directory on the client machine: You '''export''' when you want either to package the project, to make it ready for production, or to copy a piece of work from one repository to another repository.==== import ====To '''import''' is to copy a 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 first '''checkout''' the directory from the repository to the client machine.
== Starting the Project On SVN ==

Navigation menu