Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Since you asked for an example: awk may be more complicated than git.

> Why is someone making a diagram? If someone has to 'get out the whiteboard' to answer simple tooling questions, then there are added levels of abstraction - which could be fine - but why on earth is that necessary?

It's an inherent aspect of distributed version control that the history of your repository forms a graph, and therefore drawing diagrams can be helpful.

Please take the following as the friendly advice it's meant to be: the fact that you even ask this question will suggest to every advanced user of DVCS that you really don't understand what you're talking about. Which is fine, if you have the humility to accept it and improve.



Awk is a programming language [1]

Please take the following friendly advice: if you don't know the difference between a 'command line tool' and a 'programming language' - then maybe you don't know what you're talking about. It's ok, if you have some humility, you can improve and overcome.

FYI I'm well aware that systems such as CVS have 'abstractions' that diagrams could possibly help. That said 'diagrams' are relate the the 'inherent abstractions' in many things, and yet they are used very seldom in Stack Exchange.

The fact is - git is quite obviously very complicated, more complicated than it needs to be, and poses risks that most other tools do not.

The bizarre myopia of those not willing to concede that, and the inherent risks is problematic.

It speaks to a specific kind of intellectual arrogance within CompSci and it's a huge blind spot for the profession.

Every git question - even the most mundane - is a rabbit hole:

"What's the difference between Git Pull and Git Fetch?" [2]

That should be easy enough - but no - there is a 35 comments (only one of the many answers) to argue about the specific nature of what is happening, and no full agreement on some material things.

This is all exemplary of a 'bad product'. A 'good product' would provide a definition, and a few comments on possible corner cases - and that's it.

Git is what happens when you take a 'very powerful, but complicated concept' - and then don't manage it as a product, rather, just lazily throw complex command lines on the fire and let it stir. We are wasting a lot of time on Git.

[1] https://www.google.com/search?q=awk&rlz=1C5CHFA_enCA869CA869...

[2] https://stackoverflow.com/questions/292357/what-is-the-diffe...

[2]




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: