On Sat, 6 May 2006, sean wrote: > > Wondering why you feel so strongly that most "users" shouldn't be real people. > What is wrong with continuing to make git easier for developers to use without > needing any extra software? Basically, it boils down to the end result. If you design things for "people", then things tend to become hard to automate, and it's hard to make wrappers around it. Maybe you've even made the interfaces interactive, and thus any wrappers around it are simply screwed, or need to do insane things. On the other hand, if you design things for automation, doing a "people wrapper" that uses the automation should be trivial if the design is even remotely any good at all. In other words: you should always design things for automation, and consider the "people interface" to be be just _one_ wrapper layer among many. This has worked really well in git. The whole system was designed from the start to be all about scripting and automation, and the "people wrappers" tend to be trivial scripts around it. This was even more obvious when we had a number of basically one-liner scripts like "git log", which just did some trivial wrapping around git-rev-list | git-diff-tree --stdin | $PAGER (Now we still have that trivial wrapper, but you just need to look into C code to see it, so it's not _as_ obviously trivial). Contrast this with going the other way: if you talk about the interfaces that _people_ want first, you immediately start doing pretty-printing, nice parsing, maybe interactive stuff that asks questions. Nice GUIs. And the end result is CRAP. Exactly because it lost its ability to be generic. To some degree, this is the fundamental difference between the Windows and the UNIX mindset. At least it used to be. Linus - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html