racket/collects/meta/drdr/make-archive.rkt
2012-05-17 10:29:55 -06:00

27 lines
842 B
Racket

#lang racket
(require racket/system
"config.rkt"
"archive.rkt"
"path-utils.rkt"
"dirstruct.rkt"
"make-archive-lib.rkt")
(define mode (make-parameter 'single))
(init-revisions!)
(command-line #:program "make-archive"
#:once-any
["--single" "Archive a single revision" (mode 'single)]
["--many" "Archive many revisions" (mode 'many)]
#:args (ns)
(local [(define n (string->number ns))]
(case (mode)
[(many)
(local [(define all-revisions
(sort revisions >=))]
(for ([rev (in-list (list-tail all-revisions n))])
(make-archive rev)))]
[(single)
(make-archive n)])))