On Sun, Feb 03, 2013 at 02:02:58PM -0500, Dale R. Worley wrote: > > From: Tristan Stanic <tritanix.z...@gmail.com> > > > > What is the reason the git developers use obscure syntax? This make the git > > learning curve uselessly complex. > > My belief is that the system grew over time, with many people using it > well before it reached the current state. Thus, whatever syntax was > first established for a function remains the syntax that is used, > because everybody who matters -- that is, the current user community > -- already knows and understands that. Similarly, there is no > pressure from the user community to reorganize the user interface to > make it easier to learn. > > The Subversion user interface seems to have evolved under different > pressures -- somebody spent a lot of time making the user interface > very regular and fairly simple, and was not constrained by upward > compatibility while doing so.
Subversion has/had its share of warts, too. For instance, support for "URL shortcuts" appeared only in 1.6, and before this release you had to spell full URLs each time you want to "tag" or "branch" or compare (remote) files etc. Same applies to the command line option "-c" ("changeset") which appeared not before, I think, v1.6. Before its introduction, each time you wanted to see a diff between two *adjacent* remote revisions (the most common case -- "what this commit changed?"), you had to spell both of them like "-r A:B" even if A = B - 1. Subversion lacked built-in support for generating and applying patch files at least until 1.7 (I think 1.8 even -- lazy to check). And since it currently lacks anything like Git index forcing you to resort to patch gymnastics each time you end up with unrelated changes in your working tree, the absense of this feature caused much grief on Windows, where existing patch implementations are notoriously bad at handling newlines. This wasn't an exercise in bashing Subversion, I just wanted to demonstrate the idea that certain features which might be thought to be "obvious to exist" might take very long to get implemented. Even if the development is commertially funded. -- You received this message because you are subscribed to the Google Groups "Git for human beings" group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.