(in-package #:candle) (defvar *git-location* "/usr/bin/git") (defun git (project cmd &rest args) (let ((err nil) (out nil) (code nil)) (setf err (with-output-to-string (err-str) (setf out (with-output-to-string (out-str) (setf code (sb-ext:process-exit-code (sb-ext:run-program *git-location* (append (list "-C" (if project (project-dir project) *candle-dir*)) (list cmd) args) :output out-str :error err-str :wait t))))))) (values (zerop code) code out err)))