(use-modules (ice-9 popen) (ice-9 rdelim) (srfi srfi-1)) (define* (authors #:optional (range "HEAD")) "Return a list of authors for commit RANGE." (let* ((port (open-pipe* OPEN_READ "git" "log" "--format=%aN <%aE>" range)) (output (read-string port))) (close-port port) (let ((authors (string-split output #\newline))) (delete-duplicates authors)))) ;; (authors "v0.8.2..HEAD")