git-checkout: add #:initial-error argument

This commit is contained in:
Matthew Flatt 2015-05-16 16:22:08 -06:00
parent dfac49e597
commit 88551aa8c6

View File

@ -28,6 +28,7 @@ for information on command-line arguments and flags.
[#:status-printf status-printf (string? any/c ... . -> . void?) (lambda args
(apply printf args)
(flush-output))]
[#:initial-error initial-error (or #f (-> any)) #f]
[#:tmp-dir given-tmp-dir (or/c #f path-string?) #f]
[#:clean-tmp-dir? clean-tmp-dir? any/c (not given-tmp-dir)]
[#:verify-server? verify-server? any/c #t]
@ -77,10 +78,18 @@ Status information is reported via @racket[status-printf]. The same
information is always logged with the name @racket['git-checkout] at
the @racket['info] level.
If @racket[initial-error] is not @racket[#f], then it is called (to
raise an exception or otherwise escape) if initial communication with
the server fails to match the expected protocol---perhaps indicating
that the server does not provide a Git repository at the given
address. If @racket[initial-error] is @racket[#f] or returns when
called, an exception is raised.
If @racket[tmp-dir] is not @racket[#f], then it is used to store a
temporary clone of the repository, and the files are preserved unless
@racket[clean-tmp-dir?] is true. The clone does not currently match
the shape that is recognized by other tools, such as @exec{git}, and
so a preserved temporary directory is useful mainly for debugging.
@history[#:added "6.1.1.1"]}
@history[#:added "6.1.1.1"
#:changed "6.2.0.3" @elem{Added the @racket[initial-error] argument.}]}