Radish alpha
h
rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
Radicle Heartwood Protocol & Stack
Radicle
Git
radicle/sigrefs/git: Use stable `RAD_LOCAL_TIME`
Lorenz Leutgeb committed 1 month ago
commit 5d583338c8def060128ce971c350bf8abe6dd9de
parent 86cacfb
5 files changed +20 -14
modified crates/radicle-cli/examples/rad-clean.md
@@ -18,8 +18,8 @@ Let's also inspect what remotes are in the repository:

``` ~alice
$ rad inspect --sigrefs
-
z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi 990bb9984b28aa09ed9f5e32f16e92b3eed57d34 parent
-
z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk d275a070a9ed705f44a42271f9e3c5b6c73c65b3 parent
+
z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi 55be80540a7e9f10478fbc846913f2a6a19abe1d parent
+
z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk e9f48ef90fe8592e1b1c95f96c21a59ca1495300 parent
```

Now let's clean the `heartwood` project:
@@ -34,7 +34,7 @@ Inspecting the remotes again, we see that Bob is now gone:

``` ~alice
$ rad inspect --sigrefs
-
z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi 990bb9984b28aa09ed9f5e32f16e92b3eed57d34 parent
+
z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi 55be80540a7e9f10478fbc846913f2a6a19abe1d parent
```

Note that Bob will be fetched again if we do not untrack his
modified crates/radicle-cli/examples/rad-id-multi-delegate.md
@@ -4,11 +4,11 @@ $ rad id update --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --title "Add Bob" --des
$ rad inspect --sigrefs rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji
z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi [..] parent
z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk [..] parent
-
z6Mkux1aUQD2voWWukVb5nNUR7thrHveQG4pDQua8nVhib7Z 82212c030fa97709a92ead14be76759732199c61 parent
+
z6Mkux1aUQD2voWWukVb5nNUR7thrHveQG4pDQua8nVhib7Z c9a828fc2fb01f893d6e6e9e17b9092dea2b3aba parent
```

``` ~bob
-
$ rad watch --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --node z6Mkux1aUQD2voWWukVb5nNUR7thrHveQG4pDQua8nVhib7Z -r 'refs/rad/sigrefs' -t 82212c030fa97709a92ead14be76759732199c61 -i 500 --timeout 5000ms
+
$ rad watch --repo rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji --node z6Mkux1aUQD2voWWukVb5nNUR7thrHveQG4pDQua8nVhib7Z -r 'refs/rad/sigrefs' -t c9a828fc2fb01f893d6e6e9e17b9092dea2b3aba -i 500 --timeout 5000ms
$ rad sync --fetch rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji
Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from the network, found 1 potential seed(s).
✓ Target met: 1 seed(s)
modified crates/radicle-cli/examples/rad-id-threshold.md
@@ -151,7 +151,7 @@ Similarly, she still does not have Bob's `rad/sigrefs`:

``` ~alice
$ rad inspect --sigrefs
-
z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi 709795db0cd91451b533da83a19a4cada3f5f74f parent
+
z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi e5c200775dc6da38306f62c995df67a1ab1bf62d parent
```

And she can still list the project, without any worries:
@@ -199,6 +199,6 @@ Fetching rad:z42hL2jL4XNk6K8oHQaSWfMgCL7ji from the network, found 2 potential s
🌱 Fetched from z6Mkux1aUQD2voWWukVb5nNUR7thrHveQG4pDQua8nVhib7Z
🌱 Fetched from z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk
$ rad inspect --sigrefs
-
z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi 709795db0cd91451b533da83a19a4cada3f5f74f parent
+
z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi e5c200775dc6da38306f62c995df67a1ab1bf62d parent
z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk dace6fe948548168a2bb687718949d9b5d9076ee parent
```
modified crates/radicle-cli/examples/rad-sync.md
@@ -15,9 +15,9 @@ $ rad sync status --sort-by alias
╭───────────────────────────────────────────────────╮
│ Node ID           Alias   ?   SigRefs   Timestamp │
├───────────────────────────────────────────────────┤
-
│ (you)             alice   !   ac4a256   [..]      │
-
│ z6Mkt67…v4N1tRk   bob     ✗   990bb99   [..]      │
-
│ z6Mkux1…nVhib7Z   eve     ✗   990bb99   [..]      │
+
│ (you)             alice   !   1d8285b   [..]      │
+
│ z6Mkt67…v4N1tRk   bob     ✗   55be805   [..]      │
+
│ z6Mkux1…nVhib7Z   eve     ✗   55be805   [..]      │
╰───────────────────────────────────────────────────╯
```

@@ -37,9 +37,9 @@ $ rad sync status --sort-by alias
╭───────────────────────────────────────────────────╮
│ Node ID           Alias   ?   SigRefs   Timestamp │
├───────────────────────────────────────────────────┤
-
│ (you)             alice   ✓   ac4a256   [..]      │
-
│ z6Mkt67…v4N1tRk   bob     ✓   ac4a256   [..]      │
-
│ z6Mkux1…nVhib7Z   eve     ✓   ac4a256   [..]      │
+
│ (you)             alice   ✓   1d8285b   [..]      │
+
│ z6Mkt67…v4N1tRk   bob     ✓   1d8285b   [..]      │
+
│ z6Mkux1…nVhib7Z   eve     ✓   1d8285b   [..]      │
╰───────────────────────────────────────────────────╯
```

modified crates/radicle/src/storage/refs/sigrefs/git.rs
@@ -80,12 +80,18 @@ impl Committer {
        }
    }

+
    /// Provide a stable [`Committer`] with the same `name`, `email`, and `time`
+
    /// values.
+
    ///
+
    /// The [`Time`] value is constructed using the same seconds value used for
+
    /// other tests. These values are set via the `RAD_LOCAL_TIME` environment
+
    /// variable.
    #[cfg(any(test, feature = "test"))]
    pub fn stable(public_key: &PublicKey) -> Self {
        let author = Author {
            name: "radicle".to_string(),
            email: public_key.to_human(),
-
            time: Time::new(0, 0),
+
            time: Time::new(1671125284, 0),
        };
        Self::new(author)
    }