aboutsummaryrefslogtreecommitdiff
path: root/src/property/git.lisp
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-06-24 17:07:44 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-06-25 16:10:57 -0700
commit4d935e3886a3545d89b7bf89c3405f251b1e15d2 (patch)
tree06b22443a0b5f24a0b8ef374244bd6ed33f29b6c /src/property/git.lisp
parent14391860ac55c651107798f2679fca30f63faa4c (diff)
downloadconsfigurator-4d935e3886a3545d89b7bf89c3405f251b1e15d2.tar.gz
add GIT:REPO-CONFIGURED
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
Diffstat (limited to 'src/property/git.lisp')
-rw-r--r--src/property/git.lisp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/property/git.lisp b/src/property/git.lisp
index b3fae68..1e50d53 100644
--- a/src/property/git.lisp
+++ b/src/property/git.lisp
@@ -93,3 +93,12 @@ from URL, recursively delete it first. If BRANCH, check out that branch."
(installed)
(%cloned url dest branch)
(%pulled dest))
+
+(defprop repo-configured :posix (repo &rest pairs)
+ (:desc
+ (format nil "git repo at ~S has configuration ~{~A=~A~^, ~}" repo pairs))
+ (:check (loop for (k v) on pairs by #'cddr
+ always (string= v (stripln
+ (run :may-fail "git" "-C" repo "config" k)))))
+ (:apply (loop for (k v) on pairs by #'cddr
+ do (mrun "git" "-C" repo "config" k v))))