rev-parse: --show-cdup
When --show-prefix is useful, sometimes it is easier to cd up to the toplevel of the tree. This is equivalent to: git rev-parse --show-prefix | sed -e 's|[^/][^/]*|..|g' but we do not have to invoke sed for that. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
c10d634518
commit
5f94c730f3
@ -68,10 +68,15 @@ OPTIONS
|
|||||||
Show all refs found in `$GIT_DIR/refs`.
|
Show all refs found in `$GIT_DIR/refs`.
|
||||||
|
|
||||||
--show-prefix::
|
--show-prefix::
|
||||||
When the command is invoked from a directory show the
|
When the command is invoked from a subdirectory, show the
|
||||||
path of the current directory relative to the top-level
|
path of the current directory relative to the top-level
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
|
--show-cdup::
|
||||||
|
When the command is invoked from a subdirectory, show the
|
||||||
|
path of the top-level directory relative to the current
|
||||||
|
directory (typically a sequence of "../", or an empty string).
|
||||||
|
|
||||||
--since=datestring, --after=datestring::
|
--since=datestring, --after=datestring::
|
||||||
Parses the date string, and outputs corresponding
|
Parses the date string, and outputs corresponding
|
||||||
--max-age= parameter for git-rev-list command.
|
--max-age= parameter for git-rev-list command.
|
||||||
|
12
rev-parse.c
12
rev-parse.c
@ -216,6 +216,18 @@ int main(int argc, char **argv)
|
|||||||
puts(prefix);
|
puts(prefix);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (!strcmp(arg, "--show-cdup")) {
|
||||||
|
const char *pfx = prefix;
|
||||||
|
while (pfx) {
|
||||||
|
pfx = strchr(pfx, '/');
|
||||||
|
if (pfx) {
|
||||||
|
pfx++;
|
||||||
|
printf("../");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
putchar('\n');
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (!strcmp(arg, "--git-dir")) {
|
if (!strcmp(arg, "--git-dir")) {
|
||||||
const char *gitdir = getenv(GIT_DIR_ENVIRONMENT);
|
const char *gitdir = getenv(GIT_DIR_ENVIRONMENT);
|
||||||
static char cwd[PATH_MAX];
|
static char cwd[PATH_MAX];
|
||||||
|
Loading…
Reference in New Issue
Block a user