From e26fbe669425090cc294aa873a85d1f30e84caca Mon Sep 17 00:00:00 2001
From: Arun Isaac
Date: Mon, 4 Jul 2022 16:51:38 +0530
Subject: git: Add %current-git-repository parameter.

* tissue/git.scm (%current-git-repository): New public parameter.
(current-git-repository): Use %current-git-repository.
---
 tissue/git.scm | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/tissue/git.scm b/tissue/git.scm
index 3fc8df1..9a95352 100644
--- a/tissue/git.scm
+++ b/tissue/git.scm
@@ -31,6 +31,7 @@
   #:use-module (bytestructures guile)
   #:use-module (tissue utils)
   #:export (git-top-level
+            %current-git-repository
             current-git-repository
             commit-date
             git-tracked-files
@@ -47,9 +48,15 @@
       (proc (diff->pointer diff) %null-pointer)
       diff)))
 
+(define %current-git-repository
+  (make-parameter #f))
+
 (define (current-git-repository)
-  "Return the current git repository."
-  (repository-open-ext (getcwd) (list)))
+  "Return the current git repository, either the repository specified by
+the %current-git-repository parameter or the repository at the current
+directory."
+  (or (%current-git-repository)
+      (repository-open-ext (getcwd) (list))))
 
 (define (git-top-level)
   "Return the top-level directory of the current git repository."
-- 
cgit v1.2.3