| + |
In some rare scenarios, a delegate will merge a patch without having first
|
| + |
pushed to their default branch.
|
| + |
|
| + |
Here we start off with Alice adding Bob as a delegate:
|
| + |
|
| + |
``` ~alice
|
| + |
$ rad id update --title "Add Bob" --description "Add Bob as a delegate" --delegate did:key:z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk -q
|
| + |
7be665f9fccba97abb21b2fa85a6fd3181c72858
|
| + |
```
|
| + |
|
| + |
Bob clones the repository so that he can start working on it with Alice:
|
| + |
|
| + |
``` ~bob
|
| + |
$ rad clone rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji
|
| + |
✓ Seeding policy updated for rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji with scope 'all'
|
| + |
Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from the network, found 1 potential seed(s).
|
| + |
✓ Target met: 1 seed(s)
|
| + |
✓ Creating checkout in ./heartwood..
|
| + |
✓ Remote alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi added
|
| + |
✓ Remote-tracking branch alice@z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi/master created for z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
|
| + |
✓ Repository successfully cloned under [..]/heartwood/
|
| + |
╭────────────────────────────────────╮
|
| + |
│ heartwood │
|
| + |
│ Radicle Heartwood Protocol & Stack │
|
| + |
│ 0 issues · 0 patches │
|
| + |
╰────────────────────────────────────╯
|
| + |
Run `cd ./heartwood` to go to the repository directory.
|
| + |
```
|
| + |
|
| + |
Alice then goes ahead and prepares a patch:
|
| + |
|
| + |
``` ~alice
|
| + |
$ git checkout -b flux-capacitor-power
|
| + |
$ touch REQUIREMENTS
|
| + |
$ git add REQUIREMENTS
|
| + |
$ git commit -v -m "Define power requirements"
|
| + |
[flux-capacitor-power 3e674d1] Define power requirements
|
| + |
1 file changed, 0 insertions(+), 0 deletions(-)
|
| + |
create mode 100644 REQUIREMENTS
|
| + |
```
|
| + |
|
| + |
``` ~alice (stderr)
|
| + |
$ git push rad -o no-sync -o patch.message="Define power requirements" -o patch.message="See details." HEAD:refs/patches
|
| + |
✓ Patch df868fc7985fa7217aaef8423d73a077868c02b3 opened
|
| + |
To rad://z42hL2jL4XNk6K8oHQaSWfMgCL7ji/z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
|
| + |
* [new reference] HEAD -> refs/patches
|
| + |
```
|
| + |
|
| + |
Bob, as a delegate decides to review the patch and deems it worthy to merge, so
|
| + |
first he syncs the repository:
|
| + |
|
| + |
``` ~bob
|
| + |
$ rad sync -f
|
| + |
Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from the network, found 1 potential seed(s).
|
| + |
✓ Target met: 1 seed(s)
|
| + |
🌱 Fetched from z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi
|
| + |
```
|
| + |
|
| + |
He then checks out the patch and merges the changes in:
|
| + |
|
| + |
``` ~bob
|
| + |
$ rad patch checkout df868fc
|
| + |
✓ Switched to branch patch/df868fc at revision df868fc
|
| + |
✓ Branch patch/df868fc setup to track rad/patches/df868fc7985fa7217aaef8423d73a077868c02b3
|
| + |
$ git checkout master
|
| + |
Your branch is up to date with 'rad/master'.
|
| + |
$ git merge patch/df868fc
|
| + |
Updating f2de534..3e674d1
|
| + |
Fast-forward
|
| + |
REQUIREMENTS | 0
|
| + |
1 file changed, 0 insertions(+), 0 deletions(-)
|
| + |
create mode 100644 REQUIREMENTS
|
| + |
```
|
| + |
|
| + |
Now that the changes are merged, he can push and have the patch merged:
|
| + |
|
| + |
``` ~bob (stderr)
|
| + |
$ git push rad master
|
| + |
✓ Patch df868fc7985fa7217aaef8423d73a077868c02b3 merged
|
| + |
✓ Canonical reference refs/heads/master updated to target commit 3e674d1a1df90807e934f9ae5da2591dd6848a33
|
| + |
✓ Synced with 1 seed(s)
|
| + |
To rad://z42hL2jL4XNk6K8oHQaSWfMgCL7ji/z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk
|
| + |
* [new branch] master -> master
|
| + |
```
|
| + |
|
| + |
Note that Bob was creating a new `master` branch in this case, and did not need
|
| + |
to create one before merging the patch.
|