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-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
|
||||
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::
|
||||
Parses the date string, and outputs corresponding
|
||||
--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);
|
||||
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")) {
|
||||
const char *gitdir = getenv(GIT_DIR_ENVIRONMENT);
|
||||
static char cwd[PATH_MAX];
|
||||
|
Loading…
Reference in New Issue
Block a user