Radish alpha
h
rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
Radicle Heartwood Protocol & Stack
Radicle
Git
git: Update radicle-surf to 0.21
Merged did:key:z6MkkfM3...sVz5 opened 2 years ago

This also changes the serialization of Diff and FileDiff, which allows us to keep the sorting implemented by git2 And improves the binary detection by looping over the git2 diff

4 files changed +47 -49 1a0221f7 7fc3b73e
modified Cargo.lock
@@ -2575,9 +2575,9 @@ checksum = "db20136bbc9ae63f3fec8e5a6c369f4902fac2244501b5dfc6d668e43475aaa4"

[[package]]
name = "radicle-surf"
-
version = "0.19.0"
+
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "fade014fab67a7bdb816e4cf821611af5f0bc55c6eb1018561027ba6ba3b6b28"
+
checksum = "5fae23233ff8be809a822d923e93e56e5282179039b19f345f39f592c1ca0765"
dependencies = [
 "anyhow",
 "base64 0.13.1",
modified radicle-cli/Cargo.toml
@@ -14,7 +14,10 @@ path = "src/main.rs"

[dependencies]
anyhow = { version = "1" }
-
chrono = { version = "0.4.26", default-features = false, features = ["clock", "std"] }
+
chrono = { version = "0.4.26", default-features = false, features = [
+
  "clock",
+
  "std",
+
] }
git-ref-format = { version = "0.3.0", features = ["macro"] }
lexopt = { version = "0.3.0" }
localtime = { version = "1.2.0" }
@@ -23,7 +26,7 @@ nonempty = { version = "0.9.0" }
# N.b. this is required to use macros, even though it's re-exported
# through radicle
radicle-git-ext = { version = "0.7.0", features = ["serde"] }
-
radicle-surf = { version = "0.19.0" }
+
radicle-surf = { version = "0.21.0" }
serde = { version = "1.0" }
serde_json = { version = "1" }
shlex = { version = "1.1.0" }
modified radicle-httpd/Cargo.toml
@@ -37,7 +37,7 @@ hyper = { version = "1.0.1", default-features = false }
lexopt = { version = "0.3.0" }
lru = { version = "0.12.0" }
nonempty = { version = "0.9.0", features = ["serialize"] }
-
radicle-surf = { version = "0.19.0", default-features = false, features = ["serde"] }
+
radicle-surf = { version = "0.21.0", default-features = false, features = ["serde"] }
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", features = ["preserve_order"] }
thiserror = { version = "1" }
modified radicle-httpd/src/api/v1/projects.rs
@@ -1190,44 +1190,46 @@ mod routes {
                },
              },
              "diff": {
-
                "added": [
+
                "files": [
                  {
-
                    "path": "README",
+
                    "state": "deleted",
+
                    "path": "CONTRIBUTING",
                    "diff": {
                      "type": "plain",
                      "hunks": [
                        {
-
                          "header": "@@ -0,0 +1 @@\n",
+
                          "header": "@@ -1 +0,0 @@\n",
                          "lines": [
                            {
-
                              "line": "Hello World!\n",
+
                              "line": "Thank you very much!\n",
                              "lineNo": 1,
-
                              "type": "addition",
+
                              "type": "deletion",
                            },
                          ],
                          "old":  {
-
                            "start": 0,
-
                            "end": 0,
-
                          },
-
                          "new": {
                            "start": 1,
                            "end": 2,
                          },
+
                          "new": {
+
                            "start": 0,
+
                            "end": 0,
+
                          },
                        },
                      ],
                      "stats": {
-
                        "additions": 1,
-
                        "deletions": 0,
+
                        "additions": 0,
+
                        "deletions": 1,
                      },
                      "eof": "noneMissing",
                    },
-
                    "new": {
-
                      "oid": "980a0d5f19a64b4b30a87d4206aade58726b60e3",
+
                    "old": {
+
                      "oid": "82eb77880c693655bce074e3dbbd9fa711dc018b",
                      "mode": "blob",
                    },
                  },
                  {
-
                    "path": "dir1/README",
+
                    "state": "added",
+
                    "path": "README",
                    "diff": {
                      "type": "plain",
                      "hunks": [
@@ -1235,10 +1237,10 @@ mod routes {
                          "header": "@@ -0,0 +1 @@\n",
                          "lines": [
                            {
-
                              "line": "Hello World from dir1!\n",
+
                              "line": "Hello World!\n",
                              "lineNo": 1,
-
                              "type": "addition"
-
                            }
+
                              "type": "addition",
+
                            },
                          ],
                          "old":  {
                            "start": 0,
@@ -1248,7 +1250,7 @@ mod routes {
                            "start": 1,
                            "end": 2,
                          },
-
                        }
+
                        },
                      ],
                      "stats": {
                        "additions": 1,
@@ -1257,51 +1259,47 @@ mod routes {
                      "eof": "noneMissing",
                    },
                    "new": {
-
                      "oid": "1dd5654ca2d2cf9f33b14c92b5ca9e1d21a91ae1",
+
                      "oid": "980a0d5f19a64b4b30a87d4206aade58726b60e3",
                      "mode": "blob",
                    },
-
                  }
-
                ],
-
                "deleted": [
+
                  },
                  {
-
                    "path": "CONTRIBUTING",
+
                    "state": "added",
+
                    "path": "dir1/README",
                    "diff": {
                      "type": "plain",
                      "hunks": [
                        {
-
                          "header": "@@ -1 +0,0 @@\n",
+
                          "header": "@@ -0,0 +1 @@\n",
                          "lines": [
                            {
-
                              "line": "Thank you very much!\n",
+
                              "line": "Hello World from dir1!\n",
                              "lineNo": 1,
-
                              "type": "deletion",
-
                            },
+
                              "type": "addition"
+
                            }
                          ],
                          "old":  {
-
                            "start": 1,
-
                            "end": 2,
-
                          },
-
                          "new": {
                            "start": 0,
                            "end": 0,
                          },
-
                        },
+
                          "new": {
+
                            "start": 1,
+
                            "end": 2,
+
                          },
+
                        }
                      ],
                      "stats": {
-
                        "additions": 0,
-
                        "deletions": 1,
+
                        "additions": 1,
+
                        "deletions": 0,
                      },
                      "eof": "noneMissing",
                    },
-
                    "old": {
-
                      "oid": "82eb77880c693655bce074e3dbbd9fa711dc018b",
+
                    "new": {
+
                      "oid": "1dd5654ca2d2cf9f33b14c92b5ca9e1d21a91ae1",
                      "mode": "blob",
                    },
                  },
                ],
-
                "moved": [],
-
                "copied": [],
-
                "modified": [],
                "stats": {
                  "filesChanged": 3,
                  "insertions": 2,
@@ -1604,8 +1602,9 @@ mod routes {
            response.json().await,
            json!({
                "diff": {
-
                  "added": [
+
                  "files": [
                    {
+
                      "state": "added",
                      "path": "dir1/README",
                      "diff": {
                        "type": "plain",
@@ -1641,10 +1640,6 @@ mod routes {
                      },
                    },
                  ],
-
                  "deleted": [],
-
                  "moved": [],
-
                  "copied": [],
-
                  "modified": [],
                  "stats": {
                    "filesChanged": 1,
                    "insertions": 1,