From 73c43b839fe2ff974f13b7b06f9538762ce0b0d8 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 26 Jul 2021 15:42:59 -0400 Subject: [PATCH] repo: add --show-toplevel akin to git Simple API to make it easy to find the top of the repo client checkout for users. This mirrors the `git rev-parse --show-toplevel` API. Change-Id: I0c3f98def089d0fc9ebcfa50aa3dc02091c1c273 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/312909 Reviewed-by: Xin Li Tested-by: Mike Frysinger --- main.py | 7 +++++++ man/repo.1 | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/main.py b/main.py index 229cb729..2050cabb 100755 --- a/main.py +++ b/main.py @@ -118,6 +118,10 @@ global_options.add_option('--time', global_options.add_option('--version', dest='show_version', action='store_true', help='display this version of repo') +global_options.add_option('--show-toplevel', + action='store_true', + help='display the path of the top-level directory of ' + 'the repo client checkout') global_options.add_option('--event-log', dest='event_log', action='store', help='filename of event log to append timeline to') @@ -202,6 +206,9 @@ class _Repo(object): elif gopts.show_version: # Always allow global --version regardless of subcommand validity. name = 'version' + elif gopts.show_toplevel: + print(os.path.dirname(self.repodir)) + return 0 elif not name: # No subcommand specified, so show the help/subcommand. self._PrintHelp(short=True) diff --git a/man/repo.1 b/man/repo.1 index 0e85b0b7..4aa76380 100644 --- a/man/repo.1 +++ b/man/repo.1 @@ -34,6 +34,10 @@ time repo command execution \fB\-\-version\fR display this version of repo .TP +\fB\-\-show\-toplevel\fR +display the path of the top\-level directory of the +repo client checkout +.TP \fB\-\-event\-log\fR=\fI\,EVENT_LOG\/\fR filename of event log to append timeline to .TP