Files
Geneweb/bin/gwgc/gwgc.ml
2024-03-05 22:01:20 +01:00

28 lines
777 B
OCaml

let dry_run = ref false
let bname = ref ""
let speclist =
[ ("--dry-run", Arg.Set dry_run, " do not commit changes (only print)") ]
let anonfun i = bname := i
let usage = "Usage: " ^ Sys.argv.(0) ^ " [OPTION] base"
let () =
Arg.parse speclist anonfun usage;
let bname =
match !bname with
| "" ->
Arg.usage speclist usage;
exit 1
| s -> s
in
let dry_run = !dry_run in
Secure.set_base_dir (Filename.dirname bname);
Lock.control (Mutil.lock_file bname) true ~onerror:Lock.print_try_again
@@ fun () ->
let base = Database.opendb bname in
let p, f, s = Gwdb_gc.gc ~dry_run base in
Printf.printf
"%s:\n\tnb of persons: %d\n\tnb of families: %d\n\tnb of strings: %d\n"
bname (List.length p) (List.length f) (List.length s)