[INFO] fetching crate quaditsync 1.0.2... [INFO] testing quaditsync-1.0.2 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-2 [INFO] extracting crate quaditsync 1.0.2 into /workspace/builds/worker-2-tc2/source [INFO] started tweaking crates.io crate quaditsync 1.0.2 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate quaditsync 1.0.2 [INFO] tweaked toml for crates.io crate quaditsync 1.0.2 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate quaditsync 1.0.2 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 186 packages to latest compatible versions [INFO] [stderr] Adding cucumber v0.20.2 (available: v0.22.1) [INFO] [stderr] Adding git2 v0.18.3 (available: v0.20.4) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 450870299d61f869bec86d06d186ca66459baca093e7033705b870f299cd3f98 [INFO] running `Command { std: "docker" "start" "-a" "450870299d61f869bec86d06d186ca66459baca093e7033705b870f299cd3f98", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "450870299d61f869bec86d06d186ca66459baca093e7033705b870f299cd3f98", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "450870299d61f869bec86d06d186ca66459baca093e7033705b870f299cd3f98", kill_on_drop: false }` [INFO] [stdout] 450870299d61f869bec86d06d186ca66459baca093e7033705b870f299cd3f98 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 823d264aaeb49423f0fab39f27433e91e220e53782c48e9bbac8c01784429691 [INFO] running `Command { std: "docker" "start" "-a" "823d264aaeb49423f0fab39f27433e91e220e53782c48e9bbac8c01784429691", kill_on_drop: false }` [INFO] [stderr] Compiling openssl-probe v0.1.6 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling cc v1.2.60 [INFO] [stderr] Compiling libz-sys v1.1.28 [INFO] [stderr] Compiling openssl-sys v0.9.114 [INFO] [stderr] Compiling libssh2-sys v0.3.1 [INFO] [stderr] Compiling libgit2-sys v0.16.2+1.7.2 [INFO] [stderr] Compiling git2 v0.18.3 [INFO] [stderr] Compiling quaditsync v1.0.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.56s [INFO] running `Command { std: "docker" "inspect" "823d264aaeb49423f0fab39f27433e91e220e53782c48e9bbac8c01784429691", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "823d264aaeb49423f0fab39f27433e91e220e53782c48e9bbac8c01784429691", kill_on_drop: false }` [INFO] [stdout] 823d264aaeb49423f0fab39f27433e91e220e53782c48e9bbac8c01784429691 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e8636cd9e4c0d436cb5031e3dffa137700a8bdcfe65ddd33f007b4b422ab673c [INFO] running `Command { std: "docker" "start" "-a" "e8636cd9e4c0d436cb5031e3dffa137700a8bdcfe65ddd33f007b4b422ab673c", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling sealed v0.5.0 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling bytecount v0.6.9 [INFO] [stderr] Compiling peg-runtime v0.6.3 [INFO] [stderr] Compiling derive_more v0.99.20 [INFO] [stderr] Compiling typed-builder-macro v0.15.2 [INFO] [stderr] Compiling regex-syntax v0.7.5 [INFO] [stderr] Compiling smawk v0.3.2 [INFO] [stderr] Compiling unicode-linebreak v0.1.5 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling inflections v1.1.1 [INFO] [stderr] Compiling pin-project v1.1.11 [INFO] [stderr] Compiling smart-default v0.7.1 [INFO] [stderr] Compiling textwrap v0.16.2 [INFO] [stderr] Compiling synthez-core v0.3.1 [INFO] [stderr] Compiling console v0.15.11 [INFO] [stderr] Compiling drain_filter_polyfill v0.1.3 [INFO] [stderr] Compiling humantime v2.3.0 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling peg-macros v0.6.3 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling typed-builder v0.15.2 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling inventory v0.3.24 [INFO] [stderr] Compiling tokio v1.52.1 [INFO] [stderr] Compiling synthez-codegen v0.3.1 [INFO] [stderr] Compiling synthez v0.3.1 [INFO] [stderr] Compiling peg v0.6.3 [INFO] [stderr] Compiling gherkin v0.14.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling terminal_size v0.4.4 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling nom_locate v4.2.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling ignore v0.4.25 [INFO] [stderr] Compiling cucumber-expressions v0.3.0 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling globwalk v0.8.1 [INFO] [stderr] Compiling lazy-regex-proc_macros v3.6.0 [INFO] [stderr] Compiling cucumber-codegen v0.20.2 [INFO] [stderr] Compiling lazy-regex v3.6.0 [INFO] [stderr] Compiling cucumber v0.20.2 [INFO] [stderr] Compiling quaditsync v1.0.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated method `tempfile::TempDir::into_path`: use TempDir::keep() [INFO] [stdout] --> tests/steps/common.rs:9:40 [INFO] [stdout] | [INFO] [stdout] 9 | let path = TempDir::new().unwrap().into_path(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 31.52s [INFO] running `Command { std: "docker" "inspect" "e8636cd9e4c0d436cb5031e3dffa137700a8bdcfe65ddd33f007b4b422ab673c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e8636cd9e4c0d436cb5031e3dffa137700a8bdcfe65ddd33f007b4b422ab673c", kill_on_drop: false }` [INFO] [stdout] e8636cd9e4c0d436cb5031e3dffa137700a8bdcfe65ddd33f007b4b422ab673c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 734f81bcf45ab50ca99ddc248d850f120fd420096da3aadeaefffffd9e987384 [INFO] running `Command { std: "docker" "start" "-a" "734f81bcf45ab50ca99ddc248d850f120fd420096da3aadeaefffffd9e987384", kill_on_drop: false }` [INFO] [stderr] warning: use of deprecated method `tempfile::TempDir::into_path`: use TempDir::keep() [INFO] [stderr] --> tests/steps/common.rs:9:40 [INFO] [stderr] | [INFO] [stderr] 9 | let path = TempDir::new().unwrap().into_path(); [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `quaditsync` (test "cucumber") generated 1 warning [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.29s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/quaditsync-ebcdcc4318eff807) [INFO] [stdout] running 0 tests [INFO] [stderr] Running tests/cucumber.rs (/opt/rustwide/target/debug/deps/cucumber-9402dc62c42a0fd7) [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] Feature: Bootstrap [INFO] [stdout] Rule: If we have a local clone the origin remote must be correct [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpFNxDQm/bare/ [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stdout] Initialized empty Git repository in /tmp/.tmp2YbLNR/bare/ [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpwf4XKh/bare/ [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpnhN63d/bare/ [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stdout] Example: Local clone has incorrect url for origin remote [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpdV6TKi/bare/ [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpaUcDfr/bare/ [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpVE6ojk/bare/ [INFO] [stderr] hint: Using 'master' as the name for the initial branch. This default branch name [INFO] [stderr] hint: is subject to change. To configure the initial branch name to use in all [INFO] [stderr] hint: of your new repositories, which will suppress this warning, call: [INFO] [stderr] hint: [INFO] [stderr] hint: git config --global init.defaultBranch [INFO] [stderr] hint: [INFO] [stderr] hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and [INFO] [stderr] hint: 'development'. The just-created branch can be renamed via this command: [INFO] [stderr] hint: [INFO] [stderr] hint: git branch -m [INFO] [stdout] Initialized empty Git repository in /tmp/.tmpLKhv8o/bare/ [INFO] [stderr] Cloning into '/tmp/.tmpwf4XKh/gitsync'... [INFO] [stderr] done. [INFO] [stderr] Cloning into '/tmp/.tmpnhN63d/gitsync'... [INFO] [stderr] done. [INFO] [stderr] Cloning into '/tmp/.tmpdV6TKi/gitsync'... [INFO] [stderr] done. [INFO] [stderr] Cloning into '/tmp/.tmpaUcDfr/gitsync'... [INFO] [stderr] done. [INFO] [stderr] Cloning into '/tmp/.tmpVE6ojk/gitsync'... [INFO] [stderr] done. [INFO] [stderr] Cloning into '/tmp/.tmpLKhv8o/gitsync'... [INFO] [stderr] done. [INFO] [stdout] ✔> Given I have a remote Git repository available [INFO] [stdout] ✔ Given I have a Git repository in a directory called "gitsync" [INFO] [stdout] Bare Repository "/tmp/.tmpVE6ojk/bare" [INFO] [stdout] Clone Repository "/tmp/.tmpVE6ojk/gitsync" [INFO] [stdout] None [INFO] [stdout] Clone is "/tmp/.tmpLKhv8o/bare" [INFO] [stdout] ✔ But it has a remote called "origin" that points to "https://github.com/rawkode/gitsync" [INFO] [stdout] ✔ When I bootstrap [INFO] [stdout] ✔ Then the directory is left untouched [INFO] [stdout] ✔ And the bootstrap errors because "incorrect remote" [INFO] [stdout] Example: Local clone has no remote called "origin" [INFO] [stdout] ✔> Given I have a remote Git repository available [INFO] [stdout] ✔ Given I have a Git repository in a directory called "gitsync" [INFO] [stdout] ✔ But it has no remote called "origin" [INFO] [stdout] ✔ When I bootstrap [INFO] [stdout] ✔ Then the directory is left untouched [INFO] [stdout] ✔ And the bootstrap errors because "incorrect remote" [INFO] [stdout] Example: Local clone has the correct origin remote [INFO] [stdout] ✔> Given I have a remote Git repository available [INFO] [stdout] ✔ Given I have a Git repository in a directory called "gitsync" [INFO] [stdout] ✔ And it has a correctly configured remote called "origin" [INFO] [stdout] ✔ When I bootstrap [INFO] [stdout] ✔ Then the bootstrap completes [INFO] [stdout] Example: No local directory [INFO] [stdout] ✔> Given I have a remote Git repository available [INFO] [stdout] ✔ Given I have no directory called "gitsync" [INFO] [stdout] ✔ When I bootstrap [INFO] [stdout] ✔ Then the repository is cloned [INFO] [stdout] ✔ And the bootstrap completes [INFO] [stdout] Example: Local directory isn't a Git repository [INFO] [stdout] ✔> Given I have a remote Git repository available [INFO] [stdout] ✔ Given I have a directory called "gitsync" [INFO] [stdout] ✔ And it contains a file called "random.txt" [INFO] [stdout] ✔ When I bootstrap [INFO] [stdout] ✔ Then the directory is left untouched [INFO] [stdout] ✔ And the bootstrap errors because "local dir isn't git repository" [INFO] [stdout] Feature: Sync [INFO] [stdout] Example: Remote Changes [INFO] [stdout] ✔> Given I have a remote Git repository available [INFO] [stdout] ✔ Given I have a Git repository in a directory called "gitsync" [INFO] [stdout] ✔ And there are remote changes [INFO] [stdout] ✔ When I sync [INFO] [stdout] ✔ Then there are changes [INFO] [stdout] Example: No Remote Changes [INFO] [stdout] ✔> Given I have a remote Git repository available [INFO] [stdout] ✔ Given I have a Git repository in a directory called "gitsync" [INFO] [stdout] ✔ And there are no remote changes [INFO] [stdout] ✔ When I sync [INFO] [stdout] ✔ Then the sync completes [INFO] [stdout] ✔ And there is no change [INFO] [stdout] Example: Local Changes [INFO] [stdout] ✔> Given I have a remote Git repository available [INFO] [stdout] ✔ Given I have a Git repository in a directory called "gitsync" [INFO] [stdout] ✔ And there are local changes [INFO] [stdout] ✔ When I sync [INFO] [stdout] ✔ Then the sync errors [INFO] [stdout] ✔ And there is no change [INFO] [stdout] [Summary] [INFO] [stdout] 2 features [INFO] [stdout] 1 rule [INFO] [stdout] 8 scenarios (8 passed) [INFO] [stdout] 45 steps (45 passed) [INFO] [stderr] Doc-tests quaditsync [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "734f81bcf45ab50ca99ddc248d850f120fd420096da3aadeaefffffd9e987384", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "734f81bcf45ab50ca99ddc248d850f120fd420096da3aadeaefffffd9e987384", kill_on_drop: false }` [INFO] [stdout] 734f81bcf45ab50ca99ddc248d850f120fd420096da3aadeaefffffd9e987384