radicle-heartwood-lfs/radicle-cli/examples
Fintan Halpenny cc96b9ed7d cli: improve rad clone
This change improves the `rad clone` command in a few different ways.

The first improvement is to check if the repository already exists before
fetching. If it does exist, then there is no need for the fetch to be performed,
and can move straight to the checkout.

If the repository does not exist, then the fetch is performed, as per usual.
However, it uses a replication factor of 1, so that the fetch finishes as soon
as it has the repository in local storage.

The change also improves the output when failures occur while attempting to
perform the checkout phase. It will print the failure that occurred and provide
a hint message in each case to help debug the failure, or push the caller in the
direction of performing the correct action.

This required some changes in `test/commands.rs` setup. Some tests were using
the `rad-clone.md` to setup a clone, which would have different output if the
repository did not need to be fetched. In those cases, the `rad` method for
performing the clone is used instead.
2025-05-26 11:56:56 +02:00
..
framework cli-test: Update framework with new features 2023-08-04 12:23:49 +02:00
git radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
workflow radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-auth-errors.md radicle: Fix config loading with bad alias 2024-03-21 14:44:04 +01:00
rad-auth.md radicle: Fix config loading with bad alias 2024-03-21 14:44:04 +01:00
rad-block.md cli: add `rad unblock` command 2024-08-06 14:12:44 +02:00
rad-checkout-repo-config-linux.md radicle: add tags fetch refspec 2024-10-21 14:30:37 +02:00
rad-checkout-repo-config-macos.md radicle: add tags fetch refspec 2024-10-21 14:30:37 +02:00
rad-checkout.md cli: Add canonical remote to `init` and `checkout` 2023-04-24 15:42:00 +02:00
rad-clean.md Include new `rad/root` in signed refs 2024-10-21 16:32:49 +02:00
rad-clone-all.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-clone-connect.md cli: improve rad clone 2025-05-26 11:56:56 +02:00
rad-clone-directory.md cli: improve rad clone 2025-05-26 11:56:56 +02:00
rad-clone-partial-fail.md cli: improve rad clone 2025-05-26 11:56:56 +02:00
rad-clone-unknown.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-clone.md cli: improve rad clone 2025-05-26 11:56:56 +02:00
rad-cob-log.md node: Update inventory when unseeding 2024-06-12 15:36:34 +02:00
rad-cob-migrate.md cli: Fix `rad cob migrate` test 2024-11-27 10:19:51 +01:00
rad-cob-multiset cli: Introduce `cob [create|update]` 2025-04-28 16:19:02 +02:00
rad-cob-multiset.md cli: Introduce `cob [create|update]` 2025-04-28 16:19:02 +02:00
rad-cob-show.md cli/cob: Output JSON Lines 2024-12-03 12:36:02 +01:00
rad-cob-update-identity.md cli: Introduce `cob [create|update]` 2025-04-28 16:19:02 +02:00
rad-cob-update.md cli: Introduce `cob [create|update]` 2025-04-28 16:19:02 +02:00
rad-config.md node: rate limiter for channel reads 2025-04-25 20:27:51 +02:00
rad-diff.md cli: Improve pretty diff printing 2024-07-12 16:36:04 +02:00
rad-fetch.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-fork.md Include new `rad/root` in signed refs 2024-10-21 16:32:49 +02:00
rad-id-collaboration.md cli/sync: Also print node addresses 2025-04-17 14:20:21 +02:00
rad-id-conflict.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-id-multi-delegate.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-id-private.md cli: idempotent `rad id update` 2024-06-21 13:01:59 +02:00
rad-id-threshold-soft-fork.md Include new `rad/root` in signed refs 2024-10-21 16:32:49 +02:00
rad-id-threshold.md cli: improve rad clone 2025-05-26 11:56:56 +02:00
rad-id-unknown-field.md cli: Add test for unknown field in identity doc 2024-05-07 10:21:07 +02:00
rad-id-update-delete-field.md cli: verification of project for json errors only 2024-11-11 11:58:09 +01:00
rad-id.md cli: idempotent `rad id update` 2024-06-21 13:01:59 +02:00
rad-inbox.md cli: fix rad inbox clear output 2024-04-09 16:09:44 +02:00
rad-init-existing.md cli: Add way to init from existing repositories 2024-07-29 11:49:19 +02:00
rad-init-no-git.md cli: Improve `rad init` wording 2024-03-11 13:08:03 +01:00
rad-init-no-seed.md cli: Correctly update inventory with seed commands 2024-06-12 15:36:34 +02:00
rad-init-private-clone-seed.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-init-private-clone.md cli: improve rad clone 2025-05-26 11:56:56 +02:00
rad-init-private-no-seed.md cli: Clarify doc test example 2024-06-12 15:36:34 +02:00
rad-init-private-seed.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-init-private.md cli: Correctly update inventory with seed commands 2024-06-12 15:36:34 +02:00
rad-init-sync-not-connected.md cli: Show full path in `rad init` 2024-02-26 12:40:17 +01:00
rad-init-sync-preferred.md cli: watch for upload-pack events in `rad init` 2024-05-15 10:07:56 +01:00
rad-init-sync-timeout.md cli: Show full path in `rad init` 2024-02-26 12:40:17 +01:00
rad-init-sync.md cli: Show full path in `rad init` 2024-02-26 12:40:17 +01:00
rad-init-with-existing-remote.md test: Fix backwards incompatibility with git 2.34 2024-06-12 12:13:10 +02:00
rad-init.md cli: Correctly update inventory with seed commands 2024-06-12 15:36:34 +02:00
rad-inspect-noauth.md cli: Improve messaging when config doesn't load 2023-12-13 12:30:11 +01:00
rad-inspect.md Include new `rad/root` in signed refs 2024-10-21 16:32:49 +02:00
rad-issue.md cli: add comment edit for rad issue 2025-01-14 13:39:09 +01:00
rad-job.md cob: Add an experimental "job" COB 2024-11-06 17:26:00 +01:00
rad-merge-after-update.md cob: Properly authorize root actions 2024-02-23 12:31:13 +01:00
rad-merge-no-ff.md cob: Properly authorize root actions 2024-02-23 12:31:13 +01:00
rad-merge-via-push.md helper: Use the correct head when merging a patch 2024-11-18 16:10:13 +01:00
rad-node.md cli: Correctly update inventory with seed commands 2024-06-12 15:36:34 +02:00
rad-patch-ahead-behind.md node: Update inventory when unseeding 2024-06-12 15:36:34 +02:00
rad-patch-change-base.md node: Update inventory when unseeding 2024-06-12 15:36:34 +02:00
rad-patch-checkout-force.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-patch-checkout-revision.md node: Update inventory when unseeding 2024-06-12 15:36:34 +02:00
rad-patch-checkout.md remote-helper: Print `git range-diff` invocation 2025-04-24 16:51:38 +02:00
rad-patch-delete.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-patch-detached-head.md remote-helper: allow patch creation from detached HEAD 2024-07-23 17:13:30 +02:00
rad-patch-diff.md cob: Properly authorize root actions 2024-02-23 12:31:13 +01:00
rad-patch-draft.md node: Update inventory when unseeding 2024-06-12 15:36:34 +02:00
rad-patch-edit.md remote-helper: Print `git range-diff` invocation 2025-04-24 16:51:38 +02:00
rad-patch-fetch-1.md cli: use `git` for anonymous fetch 2024-01-02 15:04:49 +01:00
rad-patch-fetch-2.md cob: Properly authorize root actions 2024-02-23 12:31:13 +01:00
rad-patch-merge-draft.md cob: Properly authorize root actions 2024-02-23 12:31:13 +01:00
rad-patch-open-explore.md remote-helper: Print `git range-diff` invocation 2025-04-24 16:51:38 +02:00
rad-patch-pull-update.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-patch-revert-merge.md helper: Revert patches correctly 2024-08-23 15:59:59 +02:00
rad-patch-update.md node: Update inventory when unseeding 2024-06-12 15:36:34 +02:00
rad-patch-via-push.md remote-helper: Print `git range-diff` invocation 2025-04-24 16:51:38 +02:00
rad-patch.md remote-helper: Print `git range-diff` invocation 2025-04-24 16:51:38 +02:00
rad-publish.md cli: Correctly update inventory with seed commands 2024-06-12 15:36:34 +02:00
rad-push-and-pull-patches.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-remote.md cli: Improve `rad remote add` 2024-01-08 17:28:01 +01:00
rad-review-by-hunk.md cli: Write comments into draft patch review 2024-07-24 16:46:24 +02:00
rad-seed-and-follow.md cli: Fix some tests 2024-03-09 14:01:30 +01:00
rad-seed-many.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-self.md cli: Move node addresses command 2024-02-26 14:23:13 +01:00
rad-sync-without-node.md cli: From "tracking" to "seeding" and "following" 2023-12-06 09:56:57 +01:00
rad-sync.md radicle: improve sync fetching 2025-05-23 17:22:48 +01:00
rad-unseed-many.md cli: Allow multiple RIDs for `rad unseed` 2025-04-26 10:01:11 +02:00
rad-unseed.md cli: Correctly update inventory with seed commands 2024-06-12 15:36:34 +02:00
rad-watch.md cli: Add `watch` command 2023-12-11 12:04:26 +01:00