Git makes a lot more sense thought of as a content-addressable filesystem the designer of which had "absolutely no interest in creating a traditional SCM system." (Not intended as snark! It's the real literal answer to a lot of my "why the heck is this like this?" questions.)
-
-
This Tweet is unavailable.
-
My interest in this is largely psychological. I am not a filesystem expert and don't apply any deep knowledge of the subject to help me understand Git. I've often thought that every command should be intelligible from the point of view of version control. [1/N]
1 reply 0 retweets 0 likes -
Replying to @NateMeyvis
And all of them have *some interpretation* with respect to version control. But thinking of them as filesystem operations first helps me keep in mind that some are more and less useful from the point of view of version control. [2/N]
1 reply 0 retweets 0 likes -
Replying to @NateMeyvis
It's an interface issue, I think. It's not just that the internals are filesystem internals; it's that in a lot of ways the interface is a filesystem interface, not a version control one. So, translating between a VCS job I want to do and a Git command is often nontrivial. [3/N]
1 reply 0 retweets 0 likes -
Replying to @NateMeyvis
My instincts as a user of good software is to assume that if I'm doing too much of that kind of translation, I'm using the software wrong or misunderstanding it. Not so with Git, perhaps. [4/4]
0 replies 0 retweets 0 likes -
This Tweet is unavailable.
-
I think git status works in part by looking at recently modified files, hashing their contents, and comparing them to object IDs (that are hashes). Maybe some of this is wrong? I'm not a git expert. But I think that's a pretty snazzy idea.
0 replies 0 retweets 0 likes -
This Tweet is unavailable.
Ah. To me it's more just "the value determines its key."
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.