I would never rely on the opinion of my boss when the question is what my rights are. They’re usually not a lawyer and their interests are often contrary to mine.
I would never rely on the opinion of my boss when the question is what my rights are. They’re usually not a lawyer and their interests are often contrary to mine.
Yeah, you’re right, technically it’s not a “diff”, it’s the changed files.
I don’t think this technical detail has any consequences for the general mental model of Git though - as evidenced by the fact that I have been using Git for years without knowing this detail, and without any problems.
I disagree, hard.
I disagree with the general conclusion - I think it’s very easy to understand*: each repo has a graph of commits. Each commit includes the diff and metadata (like parent commits). There is a difference between you repo seeing the state of another repo (fetch) and copying commits from another repo into your repo (merge; pull is just a combination of fetch and pull). Tags are pointers to specific commits, branches are pointers to specific commits that get updated when you add a child commit to this commit. That’s a rather small set of very clear concepts for such a complex problem.
I also disagree with a lot of the reasoning. Like “If a commit has the same content but a different parent, it’s NOT the same commit” is not an “alien concept”. When I apply the same change to different parents, I end up with different versions. Which would be kinda bad for a Version Control System.
“This in turn means that you need to be comfortable and fluent in a branching many-worlds cosmology” - yes, if you need to handle different versions, you need to switch between them. That’s the complexity of what you’re doing, not the tool. And I like that Git is not trying to hide things that I need to know to understand what’s happening.
“distinguish between changes and snapshots that have the same intent and content but which are completely non-interchangeable and imply entirely different flows of historical events” How do you even end up in a situation like that? Anyway, sounds like you should be able to merge them without conflicts, if they are in fact completely interchangeable?
“The natural mental model is that names denote global identity.” Why should another repo care, which names I use? How would you even synchronize naming across different repos without adding complexity, e.g. if two devs created a branch “experimental” or “playground”. Why on earth should they be treated as the same branch?
“Git uses the cached remote content, but that’s likely out of date” I actually agree that this can lead to some errors and confusion. But automation exists - you can just fetch every x minutes.
“Branches aren’t quite branches, they’re more like little bookmark go-karts.” A dev describing what basically is just a pointer in this way leads to the suspicion that it might not be Git’s mental model that is alien.
“My favorite version of this is when the novice has followed someone’s dodgy advice to set pull.rebase = true” Maybe don’t do stupid stuff you don’t understand? We know what fetch is, we know what merge is. Pull is basically fetch & merge.
““Pull” presents the illusion that you can just ask Git to make everything okay for you” Just… what? The rest of the sentence doesn’t really fix this error in expectations.
I just wish I could find it somewhere for a reasonable price - listings on BGG are ~150 € or more.
Usually some people bring games to the table.
We talk about what we think of each one (in terms of how much we want to play them and maybe some pros and cons why the group might like it). Games that no one liked (for this evening) are out.
People can say if they do not want to play certain games. They are out as well.
By then we either have only one game left or people start vetoing some more or express strong preferences. As everyone is at least okay with the remaining games, this can be very quick.
Upvote for Rodney <3 (and the rest of the tips as well)
Bohnanza is a modern classic.
Scout is supposed to be great.
Tichu is a bit more complex (and somewhat similar to Doppelkopf, which as I am just learning is apparently rather specific to Germany).
Arboretum is also nice, somewhat similar to Lost Cities.
“But why? It both has to do with computers!” - literally a project manager at my current software project.