aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/git-rev-parse.txt
diff options
context:
space:
mode:
authorJohn Keeping <john@keeping.me.uk>2013-06-16 15:18:17 +0100
committerJunio C Hamano <gitster@pobox.com>2013-06-17 13:30:01 -0700
commit12b9d32790b40bf3ea49134095619700191abf1f (patch)
tree0b79987d1da6269a8c5e55d1090f7429133b84fa /Documentation/git-rev-parse.txt
parent1ae2e19a32729e21778b74f61794369203b58a1d (diff)
downloadgit-12b9d32790b40bf3ea49134095619700191abf1f.tar.gz
rev-parse: add --prefix option
This makes 'git rev-parse' behave as if it were invoked from the specified subdirectory of a repository, with the difference that any file paths which it prints are prefixed with the full path from the top of the working tree. This is useful for shell scripts where we may want to cd to the top of the working tree but need to handle relative paths given by the user on the command line. Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation/git-rev-parse.txt')
-rw-r--r--Documentation/git-rev-parse.txt16
1 files changed, 16 insertions, 0 deletions
diff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt
index 947d62fd25..993903c9f1 100644
--- a/Documentation/git-rev-parse.txt
+++ b/Documentation/git-rev-parse.txt
@@ -59,6 +59,22 @@ OPTIONS
If there is no parameter given by the user, use `<arg>`
instead.
+--prefix <arg>::
+ Behave as if 'git rev-parse' was invoked from the `<arg>`
+ subdirectory of the working tree. Any relative filenames are
+ resolved as if they are prefixed by `<arg>` and will be printed
+ in that form.
++
+This can be used to convert arguments to a command run in a subdirectory
+so that they can still be used after moving to the top-level of the
+repository. For example:
++
+----
+prefix=$(git rev-parse --show-prefix)
+cd "$(git rev-parse --show-toplevel)"
+eval "set -- $(git rev-parse --sq --prefix "$prefix" "$@")"
+----
+
--verify::
Verify that exactly one parameter is provided, and that it
can be turned into a raw 20-byte SHA-1 that can be used to