- Apache Subversion is a centralised version control system
- All project files exist on a central repository server
- The central repository has a “trunk” which contains the current stable version of the project
- When working on new features, contributors can make “branches” from the trunk
- Each branch is stored in a sub-folder on the central repository
- When changes are ready, a branch can be merged into the trunk
SVN vs Git
SVN advantages over Git,
- A central repo allows for granular access control (which files can be accessed by a certain contributor)
- Simpler and easier for new users
- Compression and efficient storage of large binaries
Git advantages over SVN,
- With git teams can work offline
- No single point of failure in Git
- Git outperforms SVN when it comes to merging and conflict resolution
Usage
# clone remote repo's trunk
svn checkout <repository_url> <local_directory>
# pull changes since checkout
svn update
# modify files
svn status
svn add <file_path>
# Commits directly to the remote repo
svn commit -m "Descriptive Message"