I have started to deep dive into Subversion and its usage to better understand the architecture and fundamentals which makes them as a critical component in the SDLC process. In this regard, I have planned to blogpost on each chapter i read, which can summarize the core concepts delivered.Anyone new to Subversion are recommended to work on the book “Version Control with Subversion” By Ben Collins-Sussman for in-depth knowledge.
Version Control Systems
Art of Managing changes to information in a standard Repository style. The specialty of the Subversion repo is that it remembers every change ever written to it: every change to every file, and even changes to the directory tree itself.
CVS was the early and most popular version control system which had lots of pitfalls, By then CollabNet Inc. had a collaboration software suite called SourceCast which used CVS as its initial version control system. CollabNet then had an idea to bring out a new Version control system in the name of Subversion which overcame most of the drawbacks of CVS.
Unlike CVS, Subversion provides:
a. Directory Versioning
b. True Version History
c. Atomic Commits
d. Versioned Metadata
e. Choice of Network layers
f. Consistent data handling
g. Effective branching and Tagging
The command-line client program
A Program for reporting the state of the working copy
A tool for inspecting a subversion repository
A tool for creating, tweaking or repairing a subversion repository
A Program for filtering subversion repository dumpfile format streams
A plugin-module for the apache HTTP Server, used to make your repository available to others over a network
A Custom standalone server program, runnable asa deamon process or invokable by SSH; another way to make your repository available to others over a network