Wednesday, September 7, 2011

Chapter 1: { RedBean Review } Subversion History

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.

Subversion Timeline

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. 

Subversion Features 

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
h. Hackability

Subversion Architecture


Subversion Components

svn
        The command-line client program
svnversion
         A Program for reporting the state of the working copy
svnloook
         A tool for inspecting a subversion repository
svnadmin
         A tool for creating, tweaking or repairing a subversion repository
svndumpfilter
         A Program for filtering subversion repository dumpfile format streams
mod_dav_svn
        A plugin-module for the apache HTTP Server, used to make your repository available to others    over a network
svnserve
        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


   

No comments:

Post a Comment