From: Jeff King Date: Wed, 14 Oct 2009 05:06:45 GMT Subject: Re: [RFC PATCH 5/5] stash: change built-in ref to 'stash' instead of 'refs/stash' Message-ID: <20091014050645.GD31810@coredump.intra.peff.net> In-Reply-To: <548bc3a41c03a049e782d5d04a34c3b26c0897d2.1255380039.git.trast@student.ethz.ch> On Mon, Oct 12, 2009 at 11:06:07PM +0200, Thomas Rast wrote: > 'git stash list' now always shows 'refs/stash@{...}' instead of > 'stash@{...}', because that's what we specify for the ref. > > Since git checks .git/$ref, .git/refs/$ref and only then > .git/refs/{branches,tags,remotes}, we can drop the prefix. This only > affects people who have .git/stash, who were never able to refer to > their stashes by stash@{...}. (Sadly, now they won't be able to use > git-stash anymore at all.) Maybe a better solution would be a "short name" variant for pretty format specifiers. We already have %(refname) and %(refname:short) in for-each-ref, where the latter cuts off "refs/heads/", "refs/tags", or "refs/remotes/" from the beginning. I'm not sure if it does just "refs/", but probably it should. It may even check for ambiguity, but I'd have to double-check the code. The tricky part would be deciding on a syntax. This seems to come up a fair bit. I think there is room for somebody to suggest a more expansive --format syntax that can handle arbitrary arguments being given to expansions (I think there was some discussion recently in a related thread about body indentation, but I haven't been following it too closely). -Peff