27 lines
842 B
Racket
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)])))
|