Re: log/show: relative pathnames do not work in rev:path
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Dec 19, 2007, 11:23 UTC
- Message-ID
- <200712191223.42446.jnareb@gmail.com>
- In-Reply-To
- <56b7f5510712181752s7ecebca9m32794c635cba9fd@mail.gmail.com>
On Wed, 19 Dec 2007, Dana How wrote:
Show 30 quoted lines
> On Dec 18, 2007 5:16 PM, Linus Torvalds <torvalds@linux-foundation.org> wrote: >> On Tue, 18 Dec 2007, Dana How wrote: >> >>> The cases we are talking about are all subtrees of the working tree. >>> There is a useful cwd suffix. >> >> No. >> >> The cases we're talking of are *not* subtrees of the working tree. >> >> The SHA1 of a commit may well be a totally disjoint tree. Try it in the >> git repository with something like > > Agreed, but note you wrote *may*. > > I'd like to move some stuff currently in a p4 repository into git. > The directory structure within the repo is 13 levels deep; > I didn't design it nor can I change it. > > For the majority of the cases of interest to me git already accepts > relative paths. However, one thing people do often in p4 (or any SCM) > is look at (or compare, etc) specific revisions. Unfortunately, these are > not part of branches or commits, they are just file-specific revisions > (don't get me started on p4 "branches"). The equivalent in git is > to use a commit name (or a tag) and then name the file. The > basic commit:file syntax doesn't accept relative paths. I am not > specifically hung up on the commit:./path syntax; I just want some > notation that will get those 13 directories from $cwd instead of > making me type them again. Yes, sometimes that might not make > sense to request.
[...]
I think new feature like this should be postponed after 1.5.4 is out; we are now in feature freeze (only bugfixes are accepted).
That said, does git-showrel solution proposed by Johannes Schindelin in Message-ID: <Pine.LNX.4.64.0712182250040.23902@racer.site> http://permalink.gmane.org/gmane.comp.version-control.git/68840 work for you?
Below version of git-showrel script which uses proposed 'commit:./relpath' syntax (it could be improved, of course):
cat > git-showrel <<\EOF #!/bin/sh
rel=$(git rev-parse --show-prefix 2>/dev/null) git show $(echo "$@" | sed -e "s!:./!:${rel}!")
EOF
-- Jakub Narebski Poland