Back to being the project maintainer. Changes have been proposed by another peer via a Radicle patch. To track changes from another peer, we must first follow them, and then create a tracking branch in our working copy. The `rad remote add` command does all of this. ``` $ rad remote add z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk --name bob --sync --fetch ✓ Follow policy updated for z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk (bob) Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from the network, found 1 potential seed(s). ✓ Target met: 1 seed(s) ✓ Remote bob added ✓ Remote-tracking branch bob/master created for z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk ``` The contributor's changes are now visible to us. ``` $ rad inbox --sort-by id ╭────────────────────────────────────────────────────────────────────────────╮ │ heartwood │ ├────────────────────────────────────────────────────────────────────────────┤ │ 001 ● 9037b7a flux capacitor underpowered issue open bob now │ │ 002 ● e4934b6 Define power requirements patch open bob now │ ╰────────────────────────────────────────────────────────────────────────────╯ $ git branch -r bob/patches/e4934b6d9dbe01ce3c7fbb5b77a80d5f1dacdc46 rad/master $ rad patch show e4934b6 ╭──────────────────────────────────────────────────────────────────╮ │ Title Define power requirements │ │ Patch e4934b6d9dbe01ce3c7fbb5b77a80d5f1dacdc46 │ │ Author bob z6Mkt67…v4N1tRk │ │ Head 27857ec9eb04c69cacab516e8bf4b5fd36090f66 │ │ Base [.. ] │ │ Commits ahead 2, behind 0 │ │ Status open │ │ │ │ See details. │ ├──────────────────────────────────────────────────────────────────┤ │ 27857ec Add README, just for the fun │ │ 3e674d1 Define power requirements │ ├──────────────────────────────────────────────────────────────────┤ │ ● Revision e4934b6 @ [.. ]..3e674d1 by bob z6Mkt67…v4N1tRk now │ │ ↑ Revision 773b9aa @ [.. ]..27857ec by bob z6Mkt67…v4N1tRk now │ ╰──────────────────────────────────────────────────────────────────╯ ``` Wait! There's a mistake. The REQUIREMENTS should be a markdown file. Let's quickly update the patch before incorporating the changes. Updating it this way will tell others about the corrections we needed before merging the changes. ``` $ rad patch checkout e4934b6d9dbe01ce3c7fbb5b77a80d5f1dacdc46 ✓ Switched to branch patch/e4934b6 at revision 773b9aa ✓ Branch patch/e4934b6 setup to track rad/patches/e4934b6d9dbe01ce3c7fbb5b77a80d5f1dacdc46 $ git mv REQUIREMENTS REQUIREMENTS.md $ git commit -m "Use markdown for requirements" [patch/e4934b6 f567f69] Use markdown for requirements 1 file changed, 0 insertions(+), 0 deletions(-) rename REQUIREMENTS => REQUIREMENTS.md (100%) ``` ``` (stderr) $ git push rad -o no-sync -o patch.message="Use markdown for requirements" ✓ Patch e4934b6 updated to revision 9d62420e779e5cfe1dc02c51eddec9a0907aa844 To compare against your previous revision 773b9aa, run: git range-diff f2de534[..] 27857ec[..] f567f69[..] To rad://z42hL2jL4XNk6K8oHQaSWfMgCL7ji/z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi * [new branch] patch/e4934b6 -> patches/e4934b6d9dbe01ce3c7fbb5b77a80d5f1dacdc46 ``` Great, all fixed up, lets accept and merge the code. ``` $ rad patch review e4934b6 --revision 9d62420 --accept ✓ Patch e4934b6 accepted ✓ Synced with 1 seed(s) $ git checkout master Your branch is up to date with 'rad/master'. $ git merge patch/e4934b6 Updating f2de534..f567f69 Fast-forward README.md | 0 REQUIREMENTS.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 README.md create mode 100644 REQUIREMENTS.md ``` ``` (stderr) $ git push rad master ✓ Patch e4934b6d9dbe01ce3c7fbb5b77a80d5f1dacdc46 merged at revision 9d62420 ✓ Canonical reference refs/heads/master updated to target commit f567f695d25b4e8fb63b5f5ad2a584529826e908 ✓ Synced with 1 seed(s) To rad://z42hL2jL4XNk6K8oHQaSWfMgCL7ji/z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi f2de534..f567f69 master -> master ``` The patch is now merged and closed :). ``` $ rad patch show e4934b6 ╭──────────────────────────────────────────────────────────────────╮ │ Title Define power requirements │ │ Patch e4934b6d9dbe01ce3c7fbb5b77a80d5f1dacdc46 │ │ Author bob z6Mkt67…v4N1tRk │ │ Head 27857ec9eb04c69cacab516e8bf4b5fd36090f66 │ │ Base [.. ] │ │ Commits ahead 0, behind 1 │ │ Status merged │ │ │ │ See details. │ ├──────────────────────────────────────────────────────────────────┤ │ 27857ec Add README, just for the fun │ │ 3e674d1 Define power requirements │ ├──────────────────────────────────────────────────────────────────┤ │ ● Revision e4934b6 @ [.. ]..3e674d1 by bob z6Mkt67…v4N1tRk now │ │ ↑ Revision 773b9aa @ [.. ]..27857ec by bob z6Mkt67…v4N1tRk now │ │ ↑ Revision 9d62420 @ [.. ]..f567f69 by alice (you) now │ │ └─ ✓ accepted by alice (you) now │ │ └─ ✓ merged by alice (you) │ ╰──────────────────────────────────────────────────────────────────╯ ``` To publish our new state to the network, we simply push: ``` $ git push ``` Finally, we will close the issue that was opened for this patch, marking it as solved: ``` $ rad issue state 9037b7a --solved ✓ Issue 9037b7a is now solved ✓ Synced with 1 seed(s) ```