diff options
author | Linus Torvalds <torvalds@osdl.org> | 2005-09-18 11:18:30 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-09-18 14:18:34 -0700 |
commit | a8783eeb7988a20664dade2379d380ee1a199a10 (patch) | |
tree | 085f8d34eb6dcf178478a6ab6fdf46bf82d52db2 /rev-parse.c | |
parent | 1b0c1e672a417c3f4a46b36497168d6d61dba0cb (diff) | |
download | git-a8783eeb7988a20664dade2379d380ee1a199a10.tar.gz git-a8783eeb7988a20664dade2379d380ee1a199a10.tar.xz |
[PATCH] Add "--git-dir" flag to git-rev-parse
Especially when you're deep inside the git repository, it's not all that
trivial for scripts to figure out where GIT_DIR is if it isn't set.
So add a flag to git-rev-parse to show where it is, since it will have
figured it out anyway.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'rev-parse.c')
-rw-r--r-- | rev-parse.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/rev-parse.c b/rev-parse.c index 6d723f902..0f5630f95 100644 --- a/rev-parse.c +++ b/rev-parse.c @@ -191,6 +191,22 @@ int main(int argc, char **argv) puts(prefix); continue; } + if (!strcmp(arg, "--git-dir")) { + const char *gitdir = getenv(GIT_DIR_ENVIRONMENT); + static char cwd[PATH_MAX]; + if (gitdir) { + puts(gitdir); + continue; + } + if (!prefix) { + puts(".git"); + continue; + } + if (!getcwd(cwd, PATH_MAX)) + die("unable to get current working directory"); + printf("%s/.git\n", cwd); + continue; + } if (verify) die("Needed a single revision"); show_flag(arg); |