From b6f24d5222c502e5deb0c9d17eef8255e232e924 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Mon, 4 Jul 2022 15:50:46 +0530 Subject: git: Implement git-top-level in terms of current-git-repository. * tissue/git.scm (git-top-level): Implement git-top-level in terms of current-git-repository. --- tissue/git.scm | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'tissue') diff --git a/tissue/git.scm b/tissue/git.scm index 9e2bf59..3fc8df1 100644 --- a/tissue/git.scm +++ b/tissue/git.scm @@ -47,21 +47,14 @@ (proc (diff->pointer diff) %null-pointer) diff))) -(define (git-top-level) - "Return the top-level directory of the current git repository." - (let loop ((curdir (getcwd))) - (cond - ((file-exists? (string-append curdir "/.git")) - curdir) - ((string=? curdir "/") - (error "No git top level found")) - (else - (loop (dirname curdir)))))) - (define (current-git-repository) "Return the current git repository." (repository-open-ext (getcwd) (list))) +(define (git-top-level) + "Return the top-level directory of the current git repository." + (dirname (repository-directory (current-git-repository)))) + (define (head-tree repository) "Return tree of HEAD in REPOSITORY." (commit-tree -- cgit v1.2.3