Skip to content
Snippets Groups Projects
Commit 38d27786 authored by Ludovic Courtès's avatar Ludovic Courtès
Browse files

guix gc: Add '--optimize'.

* guix/scripts/gc.scm (show-help, %options): Add --optimize.
  (guix-gc): Handle it.
parent e3fd0ce6
No related branches found
No related tags found
No related merge requests found
......@@ -1472,6 +1472,17 @@ Attempt to delete all the store files and directories specified as
arguments. This fails if some of the files are not in the store, or if
they are still live.
@item --optimize
@cindex deduplication
Optimize the store by hard-linking identical files---this is
@dfn{deduplication}.
The daemon performs deduplication after each successful build or archive
import, unless it was started with @code{--disable-deduplication}
(@pxref{Invoking guix-daemon, @code{--disable-deduplication}}). Thus,
this option is primarily useful when the daemon was running with
@code{--disable-deduplication}.
@item --list-dead
Show the list of dead files and directories still present in the
store---i.e., files and directories no longer reachable from any root.
......
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
......@@ -43,6 +43,8 @@ (define (show-help)
collect at least MIN bytes of garbage"))
(display (_ "
-d, --delete attempt to delete PATHS"))
(display (_ "
--optimize optimize the store by deduplicating identical files"))
(display (_ "
--list-dead list dead paths"))
(display (_ "
......@@ -88,6 +90,10 @@ (define %options
(lambda (opt name arg result)
(alist-cons 'action 'delete
(alist-delete 'action result))))
(option '("optimize") #f #f
(lambda (opt name arg result)
(alist-cons 'action 'optimize
(alist-delete 'action result))))
(option '("list-dead") #f #f
(lambda (opt name arg result)
(alist-cons 'action 'list-dead
......@@ -169,6 +175,8 @@ (define (list-relatives relatives)
(list-relatives requisites))
((list-referrers)
(list-relatives referrers))
((optimize)
(optimize-store store))
((list-dead)
(for-each (cut simple-format #t "~a~%" <>)
(dead-paths store)))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment