package b0

  1. Overview
  2. Docs
Software construction and deployment kit

Install

dune-project
 Dependency

Authors

Maintainers

Sources

b0-0.0.6.tbz
sha512=e9aa779e66c08fc763019f16d4706f465d16c05d6400b58fbd0313317ef33ddea51952e2b058db28e65f7ddb7012f328c8bf02d8f1da17bb543348541a2587f0

doc/src/b0.std/b0_rsync.ml.html

Source file b0_rsync.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
(*---------------------------------------------------------------------------
   Copyright (c) 2020 The b0 programmers. All rights reserved.
   SPDX-License-Identifier: ISC
  ---------------------------------------------------------------------------*)

open B0_std
open Result.Syntax

type t = Cmd.t

let get ?search ?(cmd = Cmd.tool "rsync") () = Os.Cmd.get ?search cmd
let copy
  rsyncc ?(opts = Cmd.arg "-azh") ?(stats = false) ?(progress = true) ~delete
  ?(src_host = "") ?(dst_host = "") src ~dst =
  (* XXX force slashes ?  *)
  let src = src_host ^ Fpath.to_string src in
  let dst = dst_host ^ Fpath.to_string dst in
  let cmd = Cmd.(rsyncc %%
                 if' delete (arg "--delete") %%
                 if' stats (arg "--stats") %%
                 if' progress (arg "--info=progress2") %%
                 opts % src % dst)
  in
  Os.Cmd.run cmd