[INFO] fetching crate ringboard 0.13.2...
[INFO] testing ringboard-0.13.2 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate ringboard 0.13.2 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate ringboard 0.13.2
[INFO] finished tweaking crates.io crate ringboard 0.13.2
[INFO] tweaked toml for crates.io crate ringboard 0.13.2 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ringboard 0.13.2 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ringboard 0.13.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded expect-test v1.5.1
[INFO] [stderr]   Downloaded supercilex-tests v0.4.21
[INFO] [stderr]   Downloaded serde_spanned v1.0.3
[INFO] [stderr]   Downloaded toml_writer v1.0.4
[INFO] [stderr]   Downloaded clap-num v1.2.0
[INFO] [stderr]   Downloaded stable_deref_trait v1.2.1
[INFO] [stderr]   Downloaded anstyle-wincon v3.0.11
[INFO] [stderr]   Downloaded base64-serde v0.8.0
[INFO] [stderr]   Downloaded as-slice v0.2.1
[INFO] [stderr]   Downloaded aligned v0.4.2
[INFO] [stderr]   Downloaded ask-cli v0.3.0
[INFO] [stderr]   Downloaded clipboard-history-core v0.13.2
[INFO] [stderr]   Downloaded smallvec v2.0.0-alpha.12
[INFO] [stderr]   Downloaded clap_derive v4.5.49
[INFO] [stderr]   Downloaded clap v4.5.53
[INFO] [stderr]   Downloaded rayon-core v1.13.0
[INFO] [stderr]   Downloaded error-stack v0.6.0
[INFO] [stderr]   Downloaded bon-macros v3.8.1
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.15
[INFO] [stderr]   Downloaded rand_distr v0.5.1
[INFO] [stderr]   Downloaded rayon v1.11.0
[INFO] [stderr]   Downloaded serde_json v1.0.145
[INFO] [stderr]   Downloaded quick-xml v0.38.4
[INFO] [stderr]   Downloaded zerocopy v0.8.31
[INFO] [stderr]   Downloaded clap_builder v4.5.53
[INFO] [stderr]   Downloaded syn v2.0.111
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.31
[INFO] [stderr]   Downloaded darling_core v0.21.3
[INFO] [stderr]   Downloaded prettyplease v0.2.37
[INFO] [stderr]   Downloaded bon v3.8.1
[INFO] [stderr]   Downloaded clipboard-history-client-sdk v0.13.2
[INFO] [stderr]   Downloaded anyhow v1.0.100
[INFO] [stderr]   Downloaded darling v0.21.3
[INFO] [stderr]   Downloaded fs_at v0.2.1
[INFO] [stderr]   Downloaded remove_dir_all v1.0.0
[INFO] [stderr]   Downloaded anstream v0.6.21
[INFO] [stderr]   Downloaded anstyle v1.0.13
[INFO] [stderr]   Downloaded dissimilar v1.0.10
[INFO] [stderr]   Downloaded normpath v1.5.0
[INFO] [stderr]   Downloaded fuc_engine v3.1.1
[INFO] [stderr]   Downloaded rand_xoshiro v0.7.0
[INFO] [stderr]   Downloaded darling_macro v0.21.3
[INFO] [stderr]   Downloaded quote v1.0.42
[INFO] [stderr]   Downloaded toml v0.9.8
[INFO] [stderr]   Downloaded proc-macro2 v1.0.103
[INFO] [stderr]   Downloaded toml_datetime v0.7.3
[INFO] [stderr]   Downloaded cvt v0.1.2
[INFO] [stderr]   Downloaded anstyle-query v1.1.5
[INFO] [stderr]   Downloaded is_terminal_polyfill v1.70.2
[INFO] [stderr]   Downloaded clap_lex v0.7.6
[INFO] [stderr]   Downloaded terminal_size v0.4.3
[INFO] [stderr]   Downloaded once_cell_polyfill v1.70.2
[INFO] [stderr]   Downloaded libc v0.2.178
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2c357b2283c3b67d9d68296e1819a7c3674e08f87aa064180a33210cc05b2562
[INFO] running `Command { std: "docker" "start" "-a" "2c357b2283c3b67d9d68296e1819a7c3674e08f87aa064180a33210cc05b2562", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c357b2283c3b67d9d68296e1819a7c3674e08f87aa064180a33210cc05b2562", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c357b2283c3b67d9d68296e1819a7c3674e08f87aa064180a33210cc05b2562", kill_on_drop: false }`
[INFO] [stdout] 2c357b2283c3b67d9d68296e1819a7c3674e08f87aa064180a33210cc05b2562
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bd01a0e4a6f00d779f1e8406b0d0d288dd4ae691b63a4e72385725e68623fab6
[INFO] running `Command { std: "docker" "start" "-a" "bd01a0e4a6f00d779f1e8406b0d0d288dd4ae691b63a4e72385725e68623fab6", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling error-stack v0.6.0
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]    Compiling toml_writer v1.0.4
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling smallvec v2.0.0-alpha.12
[INFO] [stderr]    Compiling rand_xoshiro v0.7.0
[INFO] [stderr]    Compiling base64-serde v0.8.0
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling ask-cli v0.3.0
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling toml_datetime v0.7.3
[INFO] [stderr]    Compiling serde_spanned v1.0.3
[INFO] [stderr]    Compiling toml v0.9.8
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling rand_distr v0.5.1
[INFO] [stderr]    Compiling clap-num v1.2.0
[INFO] [stderr]    Compiling darling_core v0.21.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling terminal_size v0.4.3
[INFO] [stderr]    Compiling clap_builder v4.5.53
[INFO] [stderr]    Compiling darling_macro v0.21.3
[INFO] [stderr]    Compiling darling v0.21.3
[INFO] [stderr]    Compiling bon-macros v3.8.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling quick-xml v0.38.4
[INFO] [stderr]    Compiling clipboard-history-core v0.13.2
[INFO] [stderr]    Compiling clap v4.5.53
[INFO] [stderr]    Compiling clipboard-history-client-sdk v0.13.2
[INFO] [stderr]    Compiling bon v3.8.1
[INFO] [stderr]    Compiling fuc_engine v3.1.1
[INFO] [stderr]    Compiling ringboard v0.13.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.12s
[INFO] running `Command { std: "docker" "inspect" "bd01a0e4a6f00d779f1e8406b0d0d288dd4ae691b63a4e72385725e68623fab6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bd01a0e4a6f00d779f1e8406b0d0d288dd4ae691b63a4e72385725e68623fab6", kill_on_drop: false }`
[INFO] [stdout] bd01a0e4a6f00d779f1e8406b0d0d288dd4ae691b63a4e72385725e68623fab6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 623f61be3a209fea1a068104a3f5eca07d588c70272a7b420fe48d89064cd526
[INFO] running `Command { std: "docker" "start" "-a" "623f61be3a209fea1a068104a3f5eca07d588c70272a7b420fe48d89064cd526", kill_on_drop: false }`
[INFO] [stderr]    Compiling dissimilar v1.0.10
[INFO] [stderr]    Compiling expect-test v1.5.1
[INFO] [stderr]    Compiling supercilex-tests v0.4.21
[INFO] [stderr]    Compiling ringboard v0.13.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.74s
[INFO] running `Command { std: "docker" "inspect" "623f61be3a209fea1a068104a3f5eca07d588c70272a7b420fe48d89064cd526", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "623f61be3a209fea1a068104a3f5eca07d588c70272a7b420fe48d89064cd526", kill_on_drop: false }`
[INFO] [stdout] 623f61be3a209fea1a068104a3f5eca07d588c70272a7b420fe48d89064cd526
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 32ad727153a974bab6054879191e5a6279f512a74e24358ef3379ecf6f0c55f9
[INFO] running `Command { std: "docker" "start" "-a" "32ad727153a974bab6054879191e5a6279f512a74e24358ef3379ecf6f0c55f9", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ringboard-935fe856e5eea8b0)
[INFO] [stdout] running 2 tests
[INFO] [stdout] test cli_tests::verify_app ... ok
[INFO] [stdout] test cli_tests::help_for_review ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- cli_tests::help_for_review stdout ----
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] [1m[91merror[97m: expect test failed[0m
[INFO] [stdout]    [1m[34m-->[0m /opt/rustwide/workdir/command-reference.golden
[INFO] [stdout] 
[INFO] [stdout] You can update all `expect!` tests by running:
[INFO] [stdout] 
[INFO] [stdout]     env UPDATE_EXPECT=1 cargo test
[INFO] [stdout] 
[INFO] [stdout] To update a single test, place the cursor on `expect` token and use `run` feature of rust-analyzer.
[INFO] [stdout] 
[INFO] [stdout] [1mExpect[0m:
[INFO] [stdout] ----
[INFO] [stdout] The Ringboard (clipboard history) CLI.
[INFO] [stdout] 
[INFO] [stdout] Ringboard uses a client-server architecture, wherein the on-device server has exclusive write access
[INFO] [stdout] to the clipboard database and clients must ask the server to perform the modifications they need.
[INFO] [stdout] This CLI is a non-interactive client and a debugging tool.
[INFO] [stdout] 
[INFO] [stdout] For a technical breakdown of the project, see <https://alexsaveau.dev/blog/ringboard>.
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history <COMMAND>
[INFO] [stdout] 
[INFO] [stdout] Commands:
[INFO] [stdout]   get              Get an entry from the database
[INFO] [stdout]   search           Searches the Ringboard database for entries matching a query
[INFO] [stdout]   add              Add an entry to the database
[INFO] [stdout]   favorite         Favorite an entry
[INFO] [stdout]   unfavorite       Unfavorite an entry
[INFO] [stdout]   move-to-front    Move an entry to the front, making it the most recent entry
[INFO] [stdout]   swap             Swap the positions of two entries
[INFO] [stdout]   remove           Delete an entry from the database
[INFO] [stdout]   wipe             Wipe the entire database
[INFO] [stdout]   import           Migrate from other clipboard managers to Ringboard
[INFO] [stdout]   garbage-collect  Run garbage collection on the database
[INFO] [stdout]   configure        Modify app settings
[INFO] [stdout]   debug            Debugging tools for developers
[INFO] [stdout]   help             Print this message or the help of the given subcommand(s)
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout]   -V, --version
[INFO] [stdout]           Print version
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Get an entry from the database.
[INFO] [stdout] 
[INFO] [stdout] The entry bytes will be outputted to stdout.
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history get <ID>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <ID>
[INFO] [stdout]           The entry ID
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Searches the Ringboard database for entries matching a query
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history search [OPTIONS] <QUERY>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <QUERY>
[INFO] [stdout]           The query string to search for
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -r, --regex
[INFO] [stdout]           Interpret the query string as regex instead of a plain-text match
[INFO] [stdout] 
[INFO] [stdout]   -i, --ignore-case
[INFO] [stdout]           Ignore ASCII casing when searching
[INFO] [stdout] 
[INFO] [stdout]       --json
[INFO] [stdout]           Output JSON
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Add an entry to the database.
[INFO] [stdout] 
[INFO] [stdout] Prints the ID of the newly added entry.
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history add [OPTIONS] [DATA_FILE]
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   [DATA_FILE]
[INFO] [stdout]           A file containing the data to be added to the entry.
[INFO] [stdout]           
[INFO] [stdout]           A value of `-` may be supplied to indicate that data should be read from STDIN.
[INFO] [stdout]           
[INFO] [stdout]           [default: -]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -f, --favorite
[INFO] [stdout]           Whether to add the entry to the favorites ring
[INFO] [stdout] 
[INFO] [stdout]   -m, --mime-type <MIME_TYPE>
[INFO] [stdout]           The entry mime type
[INFO] [stdout] 
[INFO] [stdout]   -c, --copy
[INFO] [stdout]           Whether to overwrite the system clipboard with this entry
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Favorite an entry
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history favorite <ID>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <ID>
[INFO] [stdout]           The entry ID
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Unfavorite an entry
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history unfavorite <ID>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <ID>
[INFO] [stdout]           The entry ID
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Move an entry to the front, making it the most recent entry
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history move-to-front <ID>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <ID>
[INFO] [stdout]           The entry ID
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Swap the positions of two entries.
[INFO] [stdout] 
[INFO] [stdout] One of the entries may be uninitialized. Thus, swap can be used to insert an entry into the ring by
[INFO] [stdout] adding it and swapping the new entry into position.
[INFO] [stdout] 
[INFO] [stdout] A set operation may also be implemented via swap by adding an entry, swapping it into place, and
[INFO] [stdout] deleting the swapped out entry.
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history swap <ID1> <ID2>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <ID1>
[INFO] [stdout]           The first entry ID
[INFO] [stdout] 
[INFO] [stdout]   <ID2>
[INFO] [stdout]           The second entry ID
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Delete an entry from the database
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history remove <ID>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <ID>
[INFO] [stdout]           The entry ID
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Wipe the entire database.
[INFO] [stdout] 
[INFO] [stdout] WARNING: this operation is irreversible. ALL DATA WILL BE LOST.
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history wipe
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Migrate from other clipboard managers to Ringboard
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history import <FROM> [DATABASE]
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <FROM>
[INFO] [stdout]           The existing clipboard to import
[INFO] [stdout] 
[INFO] [stdout]           Possible values:
[INFO] [stdout]           - gnome-clipboard-history: [Gnome Clipboard
[INFO] [stdout]             History](https://extensions.gnome.org/extension/4839/clipboard-history/)
[INFO] [stdout]           - clipboard-indicator:     [Clipboard
[INFO] [stdout]             Indicator](https://extensions.gnome.org/extension/779/clipboard-indicator/)
[INFO] [stdout]           - g-paste:                 [GPaste](https://github.com/Keruspe/GPaste)
[INFO] [stdout]           - json:                    A sequence of JSON objects in the same format as the dump
[INFO] [stdout]             command
[INFO] [stdout] 
[INFO] [stdout]   [DATABASE]
[INFO] [stdout]           The existing clipboard's database location.
[INFO] [stdout]           
[INFO] [stdout]           This will be automatically inferred by default.
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Run garbage collection on the database.
[INFO] [stdout] 
[INFO] [stdout] Prints the amount of freed space.
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history garbage-collect [OPTIONS]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -m, --max-wasted-bytes <MAX_WASTED_BYTES>
[INFO] [stdout]           The maximum amount of garbage (in bytes) that is tolerable.
[INFO] [stdout]           
[INFO] [stdout]           A value of zero will perform maximal compaction including entry deduplication.
[INFO] [stdout]           
[INFO] [stdout]           [default: 0]
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Modify app settings
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history configure <COMMAND>
[INFO] [stdout] 
[INFO] [stdout] Commands:
[INFO] [stdout]   x11      Edit the X11 watcher settings
[INFO] [stdout]   wayland  Edit the Wayland watcher settings
[INFO] [stdout]   help     Print this message or the help of the given subcommand(s)
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Edit the X11 watcher settings
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history configure x11 [OPTIONS]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]       --auto-paste <AUTO_PASTE>
[INFO] [stdout]           Instead of simply placing selected items in the clipboard, attempt to automatically paste
[INFO] [stdout]           the selected item into the previously focused application
[INFO] [stdout]           
[INFO] [stdout]           [possible values: true, false]
[INFO] [stdout] 
[INFO] [stdout]       --fast-path-optimizations <FAST_PATH_OPTIMIZATIONS>
[INFO] [stdout]           Disable this option to support blocking passwords from password managers that support the
[INFO] [stdout]           `x-kde-passwordManagerHint` mime type.
[INFO] [stdout]           
[INFO] [stdout]           ### Technical details
[INFO] [stdout]           
[INFO] [stdout]           In X11, it is possible to ask applications for their selection with a mime type before
[INFO] [stdout]           knowing if the selection is available in that format. Since the majority of clipboard
[INFO] [stdout]           entries are expected to be text based, Ringboard skips a round trip with the application
[INFO] [stdout]           by immediately asking for a plain text mime type selection. Only if this request fails
[INFO] [stdout]           will Ringboard ask the application for the supported mime types on its selection.
[INFO] [stdout]           
[INFO] [stdout]           [possible values: true, false]
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Edit the Wayland watcher settings
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history configure wayland [OPTIONS]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]       --auto-paste <AUTO_PASTE>
[INFO] [stdout]           Instead of simply placing selected items in the clipboard, attempt to automatically paste
[INFO] [stdout]           the selected item into the previously focused application
[INFO] [stdout]           
[INFO] [stdout]           [possible values: true, false]
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Debugging tools for developers
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history debug <COMMAND>
[INFO] [stdout] 
[INFO] [stdout] Commands:
[INFO] [stdout]   stats     Print statistics about the Ringboard database
[INFO] [stdout]   dump      Dump the database contents for analysis
[INFO] [stdout]   generate  Generate a pseudo-random database for testing and performance tuning purposes
[INFO] [stdout]   fuzz      Spam the server with random commands
[INFO] [stdout]   help      Print this message or the help of the given subcommand(s)
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Print statistics about the Ringboard database
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history debug stats
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Dump the database contents for analysis.
[INFO] [stdout] 
[INFO] [stdout] The JSON format is as follows: 
[INFO] [stdout] [ 
[INFO] [stdout]   { 
[INFO] [stdout]     "id": int64, 
[INFO] [stdout]     "kind": "Human" | "Bytes", 
[INFO] [stdout]     "data": (UTF-8 | base64) string 
[INFO] [stdout]   }, 
[INFO] [stdout]   ... 
[INFO] [stdout] ]
[INFO] [stdout] 
[INFO] [stdout] Note that `$ ringboard import json` expects a JSON stream (wherein each object appears on its own
[INFO] [stdout] line instead of being in a list). To import an export, you can convert the JSON array to a stream
[INFO] [stdout] with `$ ... | jq -c .[]`.
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history debug dump
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Generate a pseudo-random database for testing and performance tuning purposes
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history debug generate [OPTIONS]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -n, --entries <NUM_ENTRIES>
[INFO] [stdout]           The number of random entries to generate
[INFO] [stdout]           
[INFO] [stdout]           [default: 100_000]
[INFO] [stdout] 
[INFO] [stdout]   -m, --mean-size <MEAN_SIZE>
[INFO] [stdout]           The mean entry size
[INFO] [stdout]           
[INFO] [stdout]           [default: 512]
[INFO] [stdout] 
[INFO] [stdout]   -c, --cv-size <CV_SIZE>
[INFO] [stdout]           The coefficient of variation of the entry size
[INFO] [stdout]           
[INFO] [stdout]           [default: 10]
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Spam the server with random commands
[INFO] [stdout] 
[INFO] [stdout] Usage: clipboard-history debug fuzz [OPTIONS]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -s, --seed <SEED>
[INFO] [stdout]           The RNG seed
[INFO] [stdout]           
[INFO] [stdout]           [default: 42]
[INFO] [stdout] 
[INFO] [stdout]   -m, --mean-size <MEAN_SIZE>
[INFO] [stdout]           The mean entry size
[INFO] [stdout]           
[INFO] [stdout]           [default: 512]
[INFO] [stdout] 
[INFO] [stdout]   -c, --cv-size <CV_SIZE>
[INFO] [stdout]           The coefficient of variation of the entry size
[INFO] [stdout]           
[INFO] [stdout]           [default: 10]
[INFO] [stdout] 
[INFO] [stdout]   -v, --verbose
[INFO] [stdout]           Print extra debugging output
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ----
[INFO] [stdout] 
[INFO] [stdout] [1mActual[0m:
[INFO] [stdout] ----
[INFO] [stdout] The Ringboard (clipboard history) CLI.
[INFO] [stdout] 
[INFO] [stdout] Ringboard uses a client-server architecture, wherein the on-device server has exclusive write access
[INFO] [stdout] to the clipboard database and clients must ask the server to perform the modifications they need.
[INFO] [stdout] This CLI is a non-interactive client and a debugging tool.
[INFO] [stdout] 
[INFO] [stdout] For a technical breakdown of the project, see <https://alexsaveau.dev/blog/ringboard>.
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard <COMMAND>
[INFO] [stdout] 
[INFO] [stdout] Commands:
[INFO] [stdout]   get              Get an entry from the database
[INFO] [stdout]   search           Searches the Ringboard database for entries matching a query
[INFO] [stdout]   add              Add an entry to the database
[INFO] [stdout]   favorite         Favorite an entry
[INFO] [stdout]   unfavorite       Unfavorite an entry
[INFO] [stdout]   move-to-front    Move an entry to the front, making it the most recent entry
[INFO] [stdout]   swap             Swap the positions of two entries
[INFO] [stdout]   remove           Delete an entry from the database
[INFO] [stdout]   wipe             Wipe the entire database
[INFO] [stdout]   import           Migrate from other clipboard managers to Ringboard
[INFO] [stdout]   garbage-collect  Run garbage collection on the database
[INFO] [stdout]   configure        Modify app settings
[INFO] [stdout]   debug            Debugging tools for developers
[INFO] [stdout]   help             Print this message or the help of the given subcommand(s)
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout]   -V, --version
[INFO] [stdout]           Print version
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Get an entry from the database.
[INFO] [stdout] 
[INFO] [stdout] The entry bytes will be outputted to stdout.
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard get <ID>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <ID>
[INFO] [stdout]           The entry ID
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Searches the Ringboard database for entries matching a query
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard search [OPTIONS] <QUERY>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <QUERY>
[INFO] [stdout]           The query string to search for
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -r, --regex
[INFO] [stdout]           Interpret the query string as regex instead of a plain-text match
[INFO] [stdout] 
[INFO] [stdout]   -i, --ignore-case
[INFO] [stdout]           Ignore ASCII casing when searching
[INFO] [stdout] 
[INFO] [stdout]       --json
[INFO] [stdout]           Output JSON
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Add an entry to the database.
[INFO] [stdout] 
[INFO] [stdout] Prints the ID of the newly added entry.
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard add [OPTIONS] [DATA_FILE]
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   [DATA_FILE]
[INFO] [stdout]           A file containing the data to be added to the entry.
[INFO] [stdout]           
[INFO] [stdout]           A value of `-` may be supplied to indicate that data should be read from STDIN.
[INFO] [stdout]           
[INFO] [stdout]           [default: -]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -f, --favorite
[INFO] [stdout]           Whether to add the entry to the favorites ring
[INFO] [stdout] 
[INFO] [stdout]   -m, --mime-type <MIME_TYPE>
[INFO] [stdout]           The entry mime type
[INFO] [stdout] 
[INFO] [stdout]   -c, --copy
[INFO] [stdout]           Whether to overwrite the system clipboard with this entry
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Favorite an entry
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard favorite <ID>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <ID>
[INFO] [stdout]           The entry ID
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Unfavorite an entry
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard unfavorite <ID>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <ID>
[INFO] [stdout]           The entry ID
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Move an entry to the front, making it the most recent entry
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard move-to-front <ID>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <ID>
[INFO] [stdout]           The entry ID
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Swap the positions of two entries.
[INFO] [stdout] 
[INFO] [stdout] One of the entries may be uninitialized. Thus, swap can be used to insert an entry into the ring by
[INFO] [stdout] adding it and swapping the new entry into position.
[INFO] [stdout] 
[INFO] [stdout] A set operation may also be implemented via swap by adding an entry, swapping it into place, and
[INFO] [stdout] deleting the swapped out entry.
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard swap <ID1> <ID2>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <ID1>
[INFO] [stdout]           The first entry ID
[INFO] [stdout] 
[INFO] [stdout]   <ID2>
[INFO] [stdout]           The second entry ID
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Delete an entry from the database
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard remove <ID>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <ID>
[INFO] [stdout]           The entry ID
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Wipe the entire database.
[INFO] [stdout] 
[INFO] [stdout] WARNING: this operation is irreversible. ALL DATA WILL BE LOST.
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard wipe
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Migrate from other clipboard managers to Ringboard
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard import <FROM> [DATABASE]
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <FROM>
[INFO] [stdout]           The existing clipboard to import
[INFO] [stdout] 
[INFO] [stdout]           Possible values:
[INFO] [stdout]           - gnome-clipboard-history: [Gnome Clipboard
[INFO] [stdout]             History](https://extensions.gnome.org/extension/4839/clipboard-history/)
[INFO] [stdout]           - clipboard-indicator:     [Clipboard
[INFO] [stdout]             Indicator](https://extensions.gnome.org/extension/779/clipboard-indicator/)
[INFO] [stdout]           - g-paste:                 [GPaste](https://github.com/Keruspe/GPaste)
[INFO] [stdout]           - json:                    A sequence of JSON objects in the same format as the dump
[INFO] [stdout]             command
[INFO] [stdout] 
[INFO] [stdout]   [DATABASE]
[INFO] [stdout]           The existing clipboard's database location.
[INFO] [stdout]           
[INFO] [stdout]           This will be automatically inferred by default.
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Run garbage collection on the database.
[INFO] [stdout] 
[INFO] [stdout] Prints the amount of freed space.
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard garbage-collect [OPTIONS]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -m, --max-wasted-bytes <MAX_WASTED_BYTES>
[INFO] [stdout]           The maximum amount of garbage (in bytes) that is tolerable.
[INFO] [stdout]           
[INFO] [stdout]           A value of zero will perform maximal compaction including entry deduplication.
[INFO] [stdout]           
[INFO] [stdout]           [default: 0]
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Modify app settings
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard configure <COMMAND>
[INFO] [stdout] 
[INFO] [stdout] Commands:
[INFO] [stdout]   x11      Edit the X11 watcher settings
[INFO] [stdout]   wayland  Edit the Wayland watcher settings
[INFO] [stdout]   help     Print this message or the help of the given subcommand(s)
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Edit the X11 watcher settings
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard configure x11 [OPTIONS]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]       --auto-paste <AUTO_PASTE>
[INFO] [stdout]           Instead of simply placing selected items in the clipboard, attempt to automatically paste
[INFO] [stdout]           the selected item into the previously focused application
[INFO] [stdout]           
[INFO] [stdout]           [possible values: true, false]
[INFO] [stdout] 
[INFO] [stdout]       --fast-path-optimizations <FAST_PATH_OPTIMIZATIONS>
[INFO] [stdout]           Disable this option to support blocking passwords from password managers that support the
[INFO] [stdout]           `x-kde-passwordManagerHint` mime type.
[INFO] [stdout]           
[INFO] [stdout]           ### Technical details
[INFO] [stdout]           
[INFO] [stdout]           In X11, it is possible to ask applications for their selection with a mime type before
[INFO] [stdout]           knowing if the selection is available in that format. Since the majority of clipboard
[INFO] [stdout]           entries are expected to be text based, Ringboard skips a round trip with the application
[INFO] [stdout]           by immediately asking for a plain text mime type selection. Only if this request fails
[INFO] [stdout]           will Ringboard ask the application for the supported mime types on its selection.
[INFO] [stdout]           
[INFO] [stdout]           [possible values: true, false]
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Edit the Wayland watcher settings
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard configure wayland [OPTIONS]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]       --auto-paste <AUTO_PASTE>
[INFO] [stdout]           Instead of simply placing selected items in the clipboard, attempt to automatically paste
[INFO] [stdout]           the selected item into the previously focused application
[INFO] [stdout]           
[INFO] [stdout]           [possible values: true, false]
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Debugging tools for developers
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard debug <COMMAND>
[INFO] [stdout] 
[INFO] [stdout] Commands:
[INFO] [stdout]   stats     Print statistics about the Ringboard database
[INFO] [stdout]   dump      Dump the database contents for analysis
[INFO] [stdout]   generate  Generate a pseudo-random database for testing and performance tuning purposes
[INFO] [stdout]   fuzz      Spam the server with random commands
[INFO] [stdout]   help      Print this message or the help of the given subcommand(s)
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Print statistics about the Ringboard database
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard debug stats
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Dump the database contents for analysis.
[INFO] [stdout] 
[INFO] [stdout] The JSON format is as follows: 
[INFO] [stdout] [ 
[INFO] [stdout]   { 
[INFO] [stdout]     "id": int64, 
[INFO] [stdout]     "kind": "Human" | "Bytes", 
[INFO] [stdout]     "data": (UTF-8 | base64) string 
[INFO] [stdout]   }, 
[INFO] [stdout]   ... 
[INFO] [stdout] ]
[INFO] [stdout] 
[INFO] [stdout] Note that `$ ringboard import json` expects a JSON stream (wherein each object appears on its own
[INFO] [stdout] line instead of being in a list). To import an export, you can convert the JSON array to a stream
[INFO] [stdout] with `$ ... | jq -c .[]`.
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard debug dump
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Generate a pseudo-random database for testing and performance tuning purposes
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard debug generate [OPTIONS]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -n, --entries <NUM_ENTRIES>
[INFO] [stdout]           The number of random entries to generate
[INFO] [stdout]           
[INFO] [stdout]           [default: 100_000]
[INFO] [stdout] 
[INFO] [stdout]   -m, --mean-size <MEAN_SIZE>
[INFO] [stdout]           The mean entry size
[INFO] [stdout]           
[INFO] [stdout]           [default: 512]
[INFO] [stdout] 
[INFO] [stdout]   -c, --cv-size <CV_SIZE>
[INFO] [stdout]           The coefficient of variation of the entry size
[INFO] [stdout]           
[INFO] [stdout]           [default: 10]
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Spam the server with random commands
[INFO] [stdout] 
[INFO] [stdout] Usage: ringboard debug fuzz [OPTIONS]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -s, --seed <SEED>
[INFO] [stdout]           The RNG seed
[INFO] [stdout]           
[INFO] [stdout]           [default: 42]
[INFO] [stdout] 
[INFO] [stdout]   -m, --mean-size <MEAN_SIZE>
[INFO] [stdout]           The mean entry size
[INFO] [stdout]           
[INFO] [stdout]           [default: 512]
[INFO] [stdout] 
[INFO] [stdout]   -c, --cv-size <CV_SIZE>
[INFO] [stdout]           The coefficient of variation of the entry size
[INFO] [stdout]           
[INFO] [stdout]           [default: 10]
[INFO] [stdout] 
[INFO] [stdout]   -v, --verbose
[INFO] [stdout]           Print extra debugging output
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ----
[INFO] [stdout] 
[INFO] [stdout] [1mDiff[0m:
[INFO] [stdout] ----
[INFO] [stdout] The Ringboard (clipboard history) CLI.
[INFO] [stdout] 
[INFO] [stdout] Ringboard uses a client-server architecture, wherein the on-device server has exclusive write access
[INFO] [stdout] to the clipboard database and clients must ask the server to perform the modifications they need.
[INFO] [stdout] This CLI is a non-interactive client and a debugging tool.
[INFO] [stdout] 
[INFO] [stdout] For a technical breakdown of the project, see <https://alexsaveau.dev/blog/ringboard>.
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m <COMMAND>
[INFO] [stdout] 
[INFO] [stdout] Commands:
[INFO] [stdout]   get              Get an entry from the database
[INFO] [stdout]   search           Searches the Ringboard database for entries matching a query
[INFO] [stdout]   add              Add an entry to the database
[INFO] [stdout]   favorite         Favorite an entry
[INFO] [stdout]   unfavorite       Unfavorite an entry
[INFO] [stdout]   move-to-front    Move an entry to the front, making it the most recent entry
[INFO] [stdout]   swap             Swap the positions of two entries
[INFO] [stdout]   remove           Delete an entry from the database
[INFO] [stdout]   wipe             Wipe the entire database
[INFO] [stdout]   import           Migrate from other clipboard managers to Ringboard
[INFO] [stdout]   garbage-collect  Run garbage collection on the database
[INFO] [stdout]   configure        Modify app settings
[INFO] [stdout]   debug            Debugging tools for developers
[INFO] [stdout]   help             Print this message or the help of the given subcommand(s)
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout]   -V, --version
[INFO] [stdout]           Print version
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Get an entry from the database.
[INFO] [stdout] 
[INFO] [stdout] The entry bytes will be outputted to stdout.
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m get <ID>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <ID>
[INFO] [stdout]           The entry ID
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Searches the Ringboard database for entries matching a query
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m search [OPTIONS] <QUERY>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <QUERY>
[INFO] [stdout]           The query string to search for
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -r, --regex
[INFO] [stdout]           Interpret the query string as regex instead of a plain-text match
[INFO] [stdout] 
[INFO] [stdout]   -i, --ignore-case
[INFO] [stdout]           Ignore ASCII casing when searching
[INFO] [stdout] 
[INFO] [stdout]       --json
[INFO] [stdout]           Output JSON
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Add an entry to the database.
[INFO] [stdout] 
[INFO] [stdout] Prints the ID of the newly added entry.
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m add [OPTIONS] [DATA_FILE]
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   [DATA_FILE]
[INFO] [stdout]           A file containing the data to be added to the entry.
[INFO] [stdout]           
[INFO] [stdout]           A value of `-` may be supplied to indicate that data should be read from STDIN.
[INFO] [stdout]           
[INFO] [stdout]           [default: -]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -f, --favorite
[INFO] [stdout]           Whether to add the entry to the favorites ring
[INFO] [stdout] 
[INFO] [stdout]   -m, --mime-type <MIME_TYPE>
[INFO] [stdout]           The entry mime type
[INFO] [stdout] 
[INFO] [stdout]   -c, --copy
[INFO] [stdout]           Whether to overwrite the system clipboard with this entry
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Favorite an entry
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m favorite <ID>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <ID>
[INFO] [stdout]           The entry ID
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Unfavorite an entry
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m unfavorite <ID>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <ID>
[INFO] [stdout]           The entry ID
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Move an entry to the front, making it the most recent entry
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m move-to-front <ID>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <ID>
[INFO] [stdout]           The entry ID
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Swap the positions of two entries.
[INFO] [stdout] 
[INFO] [stdout] One of the entries may be uninitialized. Thus, swap can be used to insert an entry into the ring by
[INFO] [stdout] adding it and swapping the new entry into position.
[INFO] [stdout] 
[INFO] [stdout] A set operation may also be implemented via swap by adding an entry, swapping it into place, and
[INFO] [stdout] deleting the swapped out entry.
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m swap <ID1> <ID2>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <ID1>
[INFO] [stdout]           The first entry ID
[INFO] [stdout] 
[INFO] [stdout]   <ID2>
[INFO] [stdout]           The second entry ID
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Delete an entry from the database
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m remove <ID>
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <ID>
[INFO] [stdout]           The entry ID
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Wipe the entire database.
[INFO] [stdout] 
[INFO] [stdout] WARNING: this operation is irreversible. ALL DATA WILL BE LOST.
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m wipe
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Migrate from other clipboard managers to Ringboard
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m import <FROM> [DATABASE]
[INFO] [stdout] 
[INFO] [stdout] Arguments:
[INFO] [stdout]   <FROM>
[INFO] [stdout]           The existing clipboard to import
[INFO] [stdout] 
[INFO] [stdout]           Possible values:
[INFO] [stdout]           - gnome-clipboard-history: [Gnome Clipboard
[INFO] [stdout]             History](https://extensions.gnome.org/extension/4839/clipboard-history/)
[INFO] [stdout]           - clipboard-indicator:     [Clipboard
[INFO] [stdout]             Indicator](https://extensions.gnome.org/extension/779/clipboard-indicator/)
[INFO] [stdout]           - g-paste:                 [GPaste](https://github.com/Keruspe/GPaste)
[INFO] [stdout]           - json:                    A sequence of JSON objects in the same format as the dump
[INFO] [stdout]             command
[INFO] [stdout] 
[INFO] [stdout]   [DATABASE]
[INFO] [stdout]           The existing clipboard's database location.
[INFO] [stdout]           
[INFO] [stdout]           This will be automatically inferred by default.
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Run garbage collection on the database.
[INFO] [stdout] 
[INFO] [stdout] Prints the amount of freed space.
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m garbage-collect [OPTIONS]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -m, --max-wasted-bytes <MAX_WASTED_BYTES>
[INFO] [stdout]           The maximum amount of garbage (in bytes) that is tolerable.
[INFO] [stdout]           
[INFO] [stdout]           A value of zero will perform maximal compaction including entry deduplication.
[INFO] [stdout]           
[INFO] [stdout]           [default: 0]
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Modify app settings
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m configure <COMMAND>
[INFO] [stdout] 
[INFO] [stdout] Commands:
[INFO] [stdout]   x11      Edit the X11 watcher settings
[INFO] [stdout]   wayland  Edit the Wayland watcher settings
[INFO] [stdout]   help     Print this message or the help of the given subcommand(s)
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Edit the X11 watcher settings
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m configure x11 [OPTIONS]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]       --auto-paste <AUTO_PASTE>
[INFO] [stdout]           Instead of simply placing selected items in the clipboard, attempt to automatically paste
[INFO] [stdout]           the selected item into the previously focused application
[INFO] [stdout]           
[INFO] [stdout]           [possible values: true, false]
[INFO] [stdout] 
[INFO] [stdout]       --fast-path-optimizations <FAST_PATH_OPTIMIZATIONS>
[INFO] [stdout]           Disable this option to support blocking passwords from password managers that support the
[INFO] [stdout]           `x-kde-passwordManagerHint` mime type.
[INFO] [stdout]           
[INFO] [stdout]           ### Technical details
[INFO] [stdout]           
[INFO] [stdout]           In X11, it is possible to ask applications for their selection with a mime type before
[INFO] [stdout]           knowing if the selection is available in that format. Since the majority of clipboard
[INFO] [stdout]           entries are expected to be text based, Ringboard skips a round trip with the application
[INFO] [stdout]           by immediately asking for a plain text mime type selection. Only if this request fails
[INFO] [stdout]           will Ringboard ask the application for the supported mime types on its selection.
[INFO] [stdout]           
[INFO] [stdout]           [possible values: true, false]
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Edit the Wayland watcher settings
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m configure wayland [OPTIONS]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]       --auto-paste <AUTO_PASTE>
[INFO] [stdout]           Instead of simply placing selected items in the clipboard, attempt to automatically paste
[INFO] [stdout]           the selected item into the previously focused application
[INFO] [stdout]           
[INFO] [stdout]           [possible values: true, false]
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Debugging tools for developers
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m debug <COMMAND>
[INFO] [stdout] 
[INFO] [stdout] Commands:
[INFO] [stdout]   stats     Print statistics about the Ringboard database
[INFO] [stdout]   dump      Dump the database contents for analysis
[INFO] [stdout]   generate  Generate a pseudo-random database for testing and performance tuning purposes
[INFO] [stdout]   fuzz      Spam the server with random commands
[INFO] [stdout]   help      Print this message or the help of the given subcommand(s)
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Print statistics about the Ringboard database
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m debug stats
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Dump the database contents for analysis.
[INFO] [stdout] 
[INFO] [stdout] The JSON format is as follows: 
[INFO] [stdout] [ 
[INFO] [stdout]   { 
[INFO] [stdout]     "id": int64, 
[INFO] [stdout]     "kind": "Human" | "Bytes", 
[INFO] [stdout]     "data": (UTF-8 | base64) string 
[INFO] [stdout]   }, 
[INFO] [stdout]   ... 
[INFO] [stdout] ]
[INFO] [stdout] 
[INFO] [stdout] Note that `$ ringboard import json` expects a JSON stream (wherein each object appears on its own
[INFO] [stdout] line instead of being in a list). To import an export, you can convert the JSON array to a stream
[INFO] [stdout] with `$ ... | jq -c .[]`.
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m debug dump
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Generate a pseudo-random database for testing and performance tuning purposes
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m debug generate [OPTIONS]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -n, --entries <NUM_ENTRIES>
[INFO] [stdout]           The number of random entries to generate
[INFO] [stdout]           
[INFO] [stdout]           [default: 100_000]
[INFO] [stdout] 
[INFO] [stdout]   -m, --mean-size <MEAN_SIZE>
[INFO] [stdout]           The mean entry size
[INFO] [stdout]           
[INFO] [stdout]           [default: 512]
[INFO] [stdout] 
[INFO] [stdout]   -c, --cv-size <CV_SIZE>
[INFO] [stdout]           The coefficient of variation of the entry size
[INFO] [stdout]           
[INFO] [stdout]           [default: 10]
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ---
[INFO] [stdout] 
[INFO] [stdout] Spam the server with random commands
[INFO] [stdout] 
[INFO] [stdout] Usage: [4m[31mclip[0m[4m[32mring[0mboard[4m[31m-history[0m debug fuzz [OPTIONS]
[INFO] [stdout] 
[INFO] [stdout] Options:
[INFO] [stdout]   -s, --seed <SEED>
[INFO] [stdout]           The RNG seed
[INFO] [stdout]           
[INFO] [stdout]           [default: 42]
[INFO] [stdout] 
[INFO] [stdout]   -m, --mean-size <MEAN_SIZE>
[INFO] [stdout]           The mean entry size
[INFO] [stdout]           
[INFO] [stdout]           [default: 512]
[INFO] [stdout] 
[INFO] [stdout]   -c, --cv-size <CV_SIZE>
[INFO] [stdout]           The coefficient of variation of the entry size
[INFO] [stdout]           
[INFO] [stdout]           [default: 10]
[INFO] [stdout] 
[INFO] [stdout]   -v, --verbose
[INFO] [stdout]           Print extra debugging output
[INFO] [stdout] 
[INFO] [stdout]   -h, --help
[INFO] [stdout]           Print help (use `-h` for a summary)
[INFO] [stdout] 
[INFO] [stdout] ----
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     cli_tests::help_for_review
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin ringboard`
[INFO] running `Command { std: "docker" "inspect" "32ad727153a974bab6054879191e5a6279f512a74e24358ef3379ecf6f0c55f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "32ad727153a974bab6054879191e5a6279f512a74e24358ef3379ecf6f0c55f9", kill_on_drop: false }`
[INFO] [stdout] 32ad727153a974bab6054879191e5a6279f512a74e24358ef3379ecf6f0c55f9
