sourcecontrol
DESCRIPTION
TRANSCRIPT
SOURCE CONTROL
Presented by,R.MujeebabehamFinal year,CSE.
SEQUENCES:
Definition
Source control Systems
Traditional source control systemCentralized source control systemDistributed source control system Integration
Terminology's
List of source control s/w's
WHAT IS SOURCE CONTROL?
source control or Software Configration Management (SCM), is the management(sharing) of changes to documents, Programs, and other information stored as Computer files. It is most commonly used in Software Development, where a team of people may change the same files.
What does Source Control ever done for us?
Avoid the need to copy files from A to B.
Keep Backups so that we don't have to worry about bad changes.
poor mans work log.
Self code Review.
Source Control
Backups
Synchronisation
Short term undo
Long term undo
Track changes
Track ownership
Sandboxing
Branching or merging
Source control resourcesThat give us the following.....
An agreed way to share the development resources....
Source control Systems:
1.Traditional Source control Systems:
Traditional source control systems use a centralized model where all the revision control functions take place on a shared Server. If two developers try to change the same file at the same time, without some method of managing access the developers may end up overwriting each other's work.
2. Centralized Source control System:
Centralized Source control systems solve this problem in Traditional SCS in one of two different "source management models": file locking and version merging.
File Locking:
The simplest method of preventing "Concurrent access" problems involves Locking files so that only one developer at a time has write access to the central "repository" copies of those files.
Once one developer "checks out" a file, others can read that file, but no one else may change that file until that developer "checks in" the updated version.
Version merging
Most version control systems allow multiple developers to edit the same file at the same time.
The first developer to "check in" changes to the central repository always succeeds.
Easy to merge: Text files.
Difficult to merge: Image files.
3.Distributed Source control
Distributed revision control (DRCS) takes a peertopeer approach, as opposed to the clientserver approach of centralized systems.
This results in some important differences from a centralized system:
1.No canonical, reference copy of the codebase exists by default; only working copies.
2.Common operations are fast, because there is no need to communicate with a central server.
3.communication is only necessary when pushing or pulling changes to or from other peers.
4.Each working copy effectively functions as a remote backup of the codebase and of its changehistory, providing natural protection against data loss.
Results continu.....
Terminology:
Repo
Server
Client
Working set
Is this how you should do your repo?
No, use the TCP/IP or SVN protocol.
Basic Action Terminology
Add
Revision
Check Out
Check In
Check In Message
Changelog
Update/Sync
Revert
CONTINU..........
List of Source Control S/W:
1.Local onlyFree:i)Rivision Control System.ii)Source Code Control System (part of UNIX).
2.Distributed ModelOpen Source:i)Bazaar.ii)Codeville, iii)mercurial(i to iii are written in python).iv)SVK (wrutten in Perl).
CONTINU..........
proprietary:i)BitKeeperii)CodeCoopiii)sun Workshop Teamware
3.Client server Model:Open sourcei)CVSii)CVSNTiii)OpenCVSiv)Subversion
CONTINU..........
Proprietary:i)Telelogic synergy(Proprietary of IBM).ii)Vault[version control tool by SourceGear (First installation can be used for free)].iii)Visual SourceSafeiv)Visual Studio Team System
Iii &iv are Version ctrl tool by Microsoft
Central Repository
My Conclusion:How Source control in CMS?
Developers checkout code from the repository to a local workingcopy.
After making edits, they commit changes.
• At any point, they can revert to an olderversion of the codebase.
They update their local working copy frequently to keep up with changes.
In My project ”CONTENT MANAGEMENT SYSTEM” ,the need of SOURCE CONTROL: Ability to recall older code.
Continuous incremental backup.
Distributed development.
Various versions of a single project.
Tracking bugs, timeline, goals and releases.
THANK YOU