From: Junio C Hamano Date: Wed, 28 Feb 2007 02:40:47 GMT Subject: Re: Questions about git-rev-parse Message-ID: <7vvehn2eds.fsf@assigned-by-dhcp.cox.net> In-Reply-To: "Theodore Ts'o" 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.