Function: vc-arch-trim-revlib
vc-arch-trim-revlib is an interactive and byte-compiled function
defined in vc-arch.el.gz.
Signature
(vc-arch-trim-revlib)
Documentation
Delete half of the revisions in the revision library.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/obsolete/vc-arch.el.gz
(defun vc-arch-trim-revlib ()
"Delete half of the revisions in the revision library."
(interactive)
(let ((rl-dir (with-output-to-string
(call-process vc-arch-program nil standard-output nil
"my-revision-library"))))
(while (string-match "\\(.*\\)\n" rl-dir)
(let ((dir (match-string 1 rl-dir)))
(setq rl-dir
(if (and (file-directory-p dir) (file-writable-p dir))
dir
(substring rl-dir (match-end 0))))))
(unless (file-writable-p rl-dir)
(error "No writable revlib directory found"))
(message "Revlib at %s" rl-dir)
(let* ((archives (directory-files rl-dir 'full
directory-files-no-dot-files-regexp))
(categories
(apply #'append
(mapcar (lambda (dir)
(when (file-directory-p dir)
(directory-files
dir 'full directory-files-no-dot-files-regexp)))
archives)))
(branches
(apply #'append
(mapcar (lambda (dir)
(when (file-directory-p dir)
(directory-files
dir 'full directory-files-no-dot-files-regexp)))
categories)))
(versions
(apply #'append
(mapcar (lambda (dir)
(when (file-directory-p dir)
(directory-files dir 'full "--.*--")))
branches))))
(mapc #'vc-arch-trim-one-revlib versions))
))