Professional Documents
Culture Documents
It uses a central server to store all files and enables team collaboration. But
the major drawback of CVCS is its single point of failure, i.e., failure of the
central server.
DVCS clients not only check out the latest snapshot of the directory but they
also fully mirror the repository. If the server goes down, then the repository
from any client can be copied back to the server to restore it.
You should take time to look for an example or two of how one
or the other is best suited to your enterprise or workflow,
To get the right VCS for your needs.
client server
http://myhost.com:port/path/to/repository
optional port
number
Protocol: Host name or Repository
IP address
svn relative
svn+ssh 127.0.0.1 path
http localhost
https host:8443
file
Reza Samavi COMP SCI 2XB3/ SOFT ENG 2XB3 Lecture 4 13
(1) Check out using Eclipse
1. Switch to "SVN
Repository Exploring
Mode".
2. Right click and choose
New => Repository
Location
3. Enter URL and (optional)
authentication info.
svn checkout
Source: https://eclipse.org/subversive/documentation/teamSupport/workspace_synch.php
Reza Samavi COMP SCI 2XB3/ SOFT ENG 2XB3 Lecture 4 18
svn status
View Differences svn diff
Eclipse:
• right click on file or project => Commit
my-calc branch
Paint
trunk
branches
RELEASE
1.0.1
RELEASE
1.0.1
Merge back
• Decision criteria
- Server based or peer-to-peer
- speed
- functionality
- the learning curve associated with the system
• Major systems
- Concurrent Versions System (CVS)
- Apache Subversion (SVN)
- Git
• Pros:
- Has been in use for many years and is considered mature
technology
• Cons:
- Moving or renaming files does not include a version
update
- Security risks from symbolic links to files
- No atomic operation support, leading to source corruption
- Branch operations are expensive as it is not designed for
long-term branching
• Pros
- Great for those who hate CVS/SVN
- Dramatic increase in operation speed
- Cheap branch operations
- Full history tree available offline
- Distributed, peer-to-peer model
• Cons
- Learning curve for those used to SVN
- Not optimal for single developers
- Limited Windows support compared to Linux