"Theodore Ts'o" <tytso@xxxxxxx> writes: > So I'm wondering if I'm missing something about historical context, > since from looking at git-rev-parse, it looks like not a lot of thought > went into its design, and it has a bunch of stuff that grew via > accretion; or maybe I'm not understanding why it was designed the way it > was? You are lacking historical context that our porcelain-ish were all Bourne shell scripts. If you check out an old version (say v0.99), it would be apparent why translating symbolic names to object names and canonicalizing a..b to b ^a were useful to help them. These days, "log" family got sufficiently smart that there are not many reasons to write shell pipeline that has rev-list on the upstream with diff-tree --stdin on the downstream anymore, and rev-parse outlived its original purpose of sifting between rev-list args/flags and others. - To unsubscribe from this list: 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