Skip to main content

Command Palette

Search for a command to run...

Why Version Control Exists: The Pendrive Problem ?

Updated
3 min readView as Markdown
Why Version Control Exists: The Pendrive Problem ?

1. Why Version Control Exists ?

The Pendrive Analogy in Software Development

Before modern version control systems like Git existed, developers still had to share code, track changes, and work as a team. They did this using the tools available at the time - pendrives, emails, and folders with desperate names like:

project_final/
project_final_v2/
project_final_latest/
project_final_latest_REAL/

How it happened before version control system or git exists ?

the world before git - have a read at this

2. The Pendrive Workflow

Imagine a team of developers sharing a single pendrive:

~Developer A writes code and saves it on a pendrive ←→The pendrive is passed to Developer B ←→Developer B modifies the same files and saves over them ←→the pendrive is passed again…
-this happens in cycle the pendrive move from dev A to dev B and vice-verca and same if there are many dev.

Although, this worked during that time, and it getting that worked done,but as tech grows, the need to ship faster and save time, this barely worked.

Folder-Based Versioning-
To avoid overwriting files, developers created multiple copies:

file.txt
fileBackup.txt
fileFixed.txt
fileFinal.txt
v2release.txt

Email-Based Code Sharing

Another common method was emailing code files:
“Here’s my updated version” → “Oops, I forgot one fix -use the newer attachment” →“Which file is the latest one again?”

Mails piles up, the file will become a needle in the hay, maintaining file becomes a hard task, where writing code is already a hectic work.

3. Problems Faced Before Version Control Systems

  1. Overwriting of code, a maintainance issue -two devs working on the same file, will create issue, difficult to check both codes, hard to decide what to merge what to not.

  2. Lost changes, accountability issue
    -if something is gone, it’s gone, backup is a luck or memory game.

  3. No collaborations history
    -no one can be held accountable for a issue,why and how this happened,

  4. Experiment or feature updates took time
    -today, we just simply create a branch and test out fetaures and version release
    -this would take hell out a lot of time managing those folder and updateing the name,
    - so the ORIGIN of - IF IT IS WORKS DON’T TOUCH IT comes.

    The pendrive is working fine at a small scale during that time,but what if it scales to 5, 10 … 100 and even cross countries or border.

    Suddenly:
    -Pendrives become bottlenecks,chickenNeck what we call it, just
    it’s like cuting wood with a knife in forest, the knife which was meant for cutting small things or softer things.

    -Emails become unmanageable

    -Folder names stop making sense

    -Productivity collapses(1 week duration becomes months of work)

    Why Version Control Became Mandatory

    Version control systems were created to solve exactly these problems.

    VCS provide:

    -A single source of truth

    -A complete history of changes

    -Safe collaboration without overwriting work

    -The ability to experiment and roll back confidently

    Instead of passing pendrives, developers now:

    -Share code through repositories

    -Work on branches independently

    -Merge changes safely

    -Track every modification with context
    -each save/update creates a accountablit

More from this blog

aalampatilblogs

52 posts