On Sun, Apr 07, 2013 at 03:14:58PM -0700, Jonathan Nieder wrote:
> John Keeping wrote:
>
> > This adds a prefix string to any filename arguments encountered after it
> > has been specified.
>
> I assume this is a way of passing the prefix in? In that case, I
> think a good UI would be
>
> git rev-parse --prefix=Documentation/ <usual rev-parse args>
>
> That sounds like a useful thing and would make the meaning very clear.
Yes (ish), the intended usage is something like this:
prefix=$(git rev-parse --show-prefix)
cd_to_toplevel
... parse options here ...
# Convert remaining arguments (filenames) into top-level paths:
eval "set $(git rev-parse --prefix "$prefix" --sq -- "$@")"
The "ish" is that my current implementation introduced a new variable
instead of simply resetting the existing "prefix" variable, which I
assume is what you mean. That is probably simpler than my
implementation, but loses the ability to be at an intermediate level,
for example:
cd Documentation/
eval "set $(git rev-parse --prefix technical/ --sq -- api-strbuf.txt)"
> How does this interact with the following options?
>
> * --resolve-git-dir some/relative/path
It doesn't change this since --resolve-git-dir is handled separately
from the other argument parsing at the moment and you cannot specify
any other options with it.
> * master:./path
I hadn't considered this case, but I think it should be inserting the
prefix into the path. I suspect the easiest thing to do is simply make
the path part of that absolute, by combining both the prefix based on
$PWD and the prefix specified on the command line, but I haven't looked
at doing this yet.
The other think that's missing at the moment is that the prefix passed
to verify_filename should be modified by the one specified on the
command line.
> As for the patch itself, I haven't looked at it closely. My only
> immediate reaction is that I wish it touched Documentation/ and t/. :)
I'll make sure the next version does. This version was doing the
minimum required to make patch 2/2 possible, it certainly needs some
polish before it's more than a proof-of-concept.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html