Escolar Documentos
Profissional Documentos
Cultura Documentos
Outline
Basic SVN Concepts
Access to SVN using TortoiseSVN
Common SVN locations at RamSoft
Repository Interface
GUI client
apps
mod_dav
Repository
access
Apache
TortoiseSVN
DAV
Internet/LAN
Client
Library
WebClient for SVN
mod_dav_svn
SVN
Subversion
Repository
Local
Command line
client apps
Working Copy
Management
Library
Access URLs
file://
Direct repository access to local or network drive.
http://
Access via WebDAV protocol to Subversion-aware Apache server.
https://
Same as http://, but with SSL encryption.
svn://
Unauthenticated TCP/IP access via custom protocol to an svnserve server.
svn+ssh://
Authenticated, encrypted TCP/IP access via custom protocol to an svn server.
The Repository
The repository stores information in the file system tree, a
kind of file server.
Revision Number
0
Revision number is
increased for every
transaction that
changes the
repository.
working copy
2
.svn
.svn
1
0
Repository Layout
trunk/tags/branches on root;
each module will be tagged separately
checkout of all modules is possible
commits can span multiple modules
client
server
(resolve conflicts)
commit
(do more work, test)
Create a local
copy
svn checkout
svn update
10
0
Subversi
on
Repositor
y
10
svn commit
Resolve conflicts
(Merge your changes)
Make changes
svn dif
svn resolved
svn add
svn move
svn delete
10
5
Check out
The client machine
Repository Server
2
1
0
Update
The client machine
Repository Server
2
1
0
Commit
The client machine
Repository Server
3
2
1
0
Check-out: Advice
Don't check-out the entire repository!
Only check out the part that you need.
For DEV SVN, it is usually
Trunk: http://svn.ramsoft.biz/core/trunk
Current active branch:
http://svn.ramsoft.biz/core/branches/5.1r3
Resolve Conflicts
"Conflict" means you have made changes to a file, and
the version in the repository has been changed, too.
So there is a "conflict" between your work and work
already in the repository
Logging a Revision
Its important to ensure the following
information is properly entered
before committing any change to
SVN
Content what has changed? SVN does
this
Date when did it change?
Author
who changed it?
enter
Reason why has it changed? you
this
Redmine issue number (#XXXXX)
QA SVN
Builds and Releases
http://svn.ramsoft.biz/qa/QA Artifacts
DEV SVN
Trunk: Latest development codes
http://svn.ramsoft.biz/core/trunk