News for hackers. Stuff that matters.
Re:Key Git Concepts Explained the Hard Way by klodolph on Wednesday March 14, 2018 @04:45PM (#16588131)
I don't think leaky abstraction correctly describes the problem here, because the leaky thing (the fact that history is not linear, and multiple people edit the same files, and that everything is distributed) is not actually an abstraction. In my mind, Git forces you to deal with the fact that history is inherently nonlinear, and then you can choose to create a linear history by the way you use Git.

Git's main abstraction is the fact that everything is a content-addressable blob. This "leaks" but it's not a major contributor to the problems people have using Git, at least from what I've seen.

Re:Key Git Concepts Explained the Hard Way by masklinn on Thursday March 15, 2018 @05:29AM (#16591392)
> In my mind, Git forces you to deal with the fact that history is inherently nonlinear, and then you can choose to create a linear history by the way you use Git.

That is not the problem with Git. Mercurial or Darcs also force you to deal with it all the same yet are not anywhere near the UI clusterfuck that Git is.

> This "leaks" but it's not a major contributor to the problems people have using Git, at least from what I've seen.

It absolutely is, because it leads to commands having unintuitive and incoherent behaviours and thus to the porcelain being impossible to model top-down.