Apologies, in my patch, 'with-temporary-directory' should be 'call-with-temporary-directory'... Sarah Morgensen writes: > +(define* (ls-remote-refs url #:key tags?) > + "Return the list of references advertised at Git repository URL. If TAGS? > +is true, limit to only refs/tags." > + (define (ref? ref) > + ;; Like `git ls-remote --refs', only show actual references. > + (and (string-prefix? "refs/" ref) > + (not (string-suffix? "^{}" ref)))) > + > + (define (tag? ref) > + (string-prefix? "refs/tags/" ref)) > + > + (define (include? ref) > + (and ref? > + (or (not tags?) (tag? ref)))) > + > + (with-libgit2 > + (with-temporary-directory ...right here. -- Sarah