What is Source Code Management (SCM)?
Source Code Management (SCM) is a system that helps developers track, manage, and collaborate on software projects. It ensures that:
✅ Code changes are recorded.
✅ Multiple developers can work on the same project.
✅ Previous versions of the code can be restored if needed.
SCM can be classified into two types:
- Centralized Version Control System (CVCS)
 
- Distributed Version Control System (DVCS)
 
1️⃣ Centralized Version Control System (CVCS) ⇒

How does CVCS work?
- In CVCS, a single central server stores all the project files and version history.
 
- Developers pull the latest code from the central server, make changes, and then push them back.
 
- Example: SVN (Subversion), Perforce, Team Foundation Server (TFS)
 
🔴 Drawbacks of CVCS:
🚫 No local access – Developers need an active network connection to work.
🚫 Single point of failure – If the server crashes, all data is lost.