SVN:
Is software that helps software developers to work together
and also maintain complete history of work
- allow developers to work simultaneously
- do not overwrite each others changes
- maintain history of every version of everything
Version control of
two types:
- centralized version control system(CVCS) and
- distributed/decentralized version control system
Repository:
- heart of any version control system.
- central system where developer store all their work
- repository stores files and history
Trunk:
- directory where all main development happens and is usually checked by developers to work on project
Tags:
- store named snapshots of project.
Branches:
- branch operation is used to create another line of
development
- used to fork off development in two different directions
- when you release version 5.0, you might want to create a
branch so that development of 6.0 features
can be kept seperate from 5.0 bug fixes.
Working copy:
- snapshot of repository
- repository is shared by all team.
- each developer checks out working copy
- working copy is private workplace where developer can do
their work within isolated from rest of team
Commit changes:
- storing changes from private workplace to central server.
- after commit, changes are made available to all team.
Lifecycle of SVN:
- Create repository
- Checkout: create working copy from repository.
- Update: update working copy. this operation synchronizes
working copy with repository
- perform changes: edit is most common operation.
- review changes: one can use diff operation to view details
of the modifications made to working copy.
- fix mistakes: revert to throw away the changes.
It is possible to revert one or more files/directories.
- resolve conflicts: conflicts occur at time of merging. merge
operation handles ething that can be done safely.
- commit changes: used to apply changes from working copy to
the repository.
SVN provides checkout command to checkout working copy from
repository.
[tom@CentOS ~]$ svn checkout
http://svn.server.com/svn/project_repo --username=tom
No comments:
Post a Comment