Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8594315
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 12, 20262026-06-12T00:10:15+00:00 2026-06-12T00:10:15+00:00

I am learning the two source code control systems and discovered that their branching

  • 0

I am learning the two source code control systems and discovered that their branching strategies are very different.

That Perforce copies all of its original file to the new branch, although it does adapt some tricks (e.g. lazy copy, “p4 -v”) to prevent space grow, but eventually it will consume more space and leave more meta data. Instead, that in GIT, branching is basically moving of pointers around. I am wondering why Perforce cannot adapt that same approach? Is that because it comes with the burden of storing snapshots(as in git) instead of file difference(as in Perforce)?

Also, why GIT stores the snapshots of files instead of the difference? Is there any necessity of doing so? Does it mean that in general case GIT code repository will be larger than that of Perforce? If the same thing are to be stored in both systems? Will committing takes longer for GIT?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-12T00:10:16+00:00Added an answer on June 12, 2026 at 12:10 am

    Git actually does store deltas as well. These are called pack files. If you changed a file 100 times slightly, it is not going to keep 100 slightly different objects. (more here: http://git-scm.com/book/en/Git-Internals-Packfiles)

    Snapshots are the absolute truth that’s why git stores history like that. It takes the simple approach of not assuming how and why files changed a certain way. It’s vision is to have the tooling above analyze history to give you information such as “this file was renamed at this point”.

    If that was part of history, you would have to rewrite it all if your threshold for what constitutes a rename w/ a small change vs. a delete and a create changed. Simple is better. The fact that this was designed on linux to track linux source code, it follows similar philosophy of that platform.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm learning about packages. I have two classes that are in different packages and
i have two questions, that i encountered in my learning project 1) Setting: i
I'm learning RoR and two different sources describe the the View's relationship with the
I'm learning MVVM. I have my View filling two comboboxes from ObservableCollection properties in
I'm learning C# and I encountered the following problem. I have two classes: base
I am making a small calculator (just for JavaScript learning) and I have two
Learning some VBA. So far, I've constructed this piece of code which should allow
Learning a lot in my few years of programming that the best projects are
I develop websites since last two years now and I have hard time learning
I'm writing an application with Flask and I'd like to generate different code for

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.