From: Junio C Hamano Date: Tue, 12 Apr 2016 16:26:32 GMT Subject: Re: [RFD/BUG?] git show with tree/commit Message-ID: In-Reply-To: <570D154D.6090006@drmicha.warpmail.net> Michael J Gruber writes: > $ git show cab2cdadfda8e8e8631026443b11d3ed6e7ba517: > tree cab2cdadfda8e8e8631026443b11d3ed6e7ba517: > > .gitattributes > .gitignore > .mailmap > ... > > While it's clear to me what's going on, I'm wondering whether it's a > good idea that "git show" says "tree" in front of the unresolved > treeish, whether it's a tree, a commit or something else. I think it's > pretty confusing. There is no "unresolved treeish" on the line that begins with "tree", but I suspect it wasn't very clear to you because of the way you gave the command its input; notice the line in question ends with a colon, which is unfortunate, but it turns out that it is your fault ;-). Read on. > Alternatives would be: > > tree # here: 040... > treeish # here: "treeish cab2c..." > tree ^{tree} # here: "tree cab2c^{tree}" So, the three choices are (1) resolve the tree object name to 40-hex and show it as "tree " (2) given an object that is not a tree, show it as "treeish " (3) do not do anything fancy, just show it as "tree " using what the user gave us. I think the current output is doing the third one (notice the colon at the end of the line). $ git show master: | head -n 1 $ git show master^{tree} | head -n 1 $ git show cab2cdadf: | head -n 1