bin(patch): Improve hunk state handling and testing
9 files changed
+712
-230
bb30b21c
→
634abc63
modified Cargo.lock
@@ -1873,6 +1873,7 @@ dependencies = [
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -1883,6 +1884,7 @@ dependencies = [
|
|
|
|
|
|
| + | |
|
|
|
|
|
modified Cargo.toml
@@ -54,4 +54,11 @@ tui-tree-widget = { version = "0.21.0" }
|
|
|
|
|
|
| - | |
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
modified bin/commands/patch.rs
@@ -256,7 +256,7 @@ mod interface {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -269,7 +269,7 @@ mod interface {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -304,9 +304,7 @@ mod interface {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| + | |
|
|
|
|
|
@@ -368,7 +366,7 @@ mod interface {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
modified bin/commands/patch/review.rs
@@ -2,50 +2,44 @@
|
|
|
|
|
|
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
|
|
|
|
| - | |
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -71,7 +65,7 @@ pub struct Tui {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -84,7 +78,7 @@ impl Tui {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -122,7 +116,7 @@ pub enum Message<'a> {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -138,12 +132,51 @@ pub enum AppPage {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -159,8 +192,9 @@ pub struct App<'a> {
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -196,20 +230,18 @@ impl<'a> App<'a> {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| - | |
| - | |
| + | |
|
|
|
|
|
@@ -219,7 +251,11 @@ impl<'a> App<'a> {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -236,18 +272,40 @@ impl<'a> App<'a> {
|
|
|
|
|
|
| + | |
|
|
| - | |
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -269,38 +327,32 @@ impl<'a> App<'a> {
|
|
|
|
|
|
| + | |
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
| + | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -319,9 +371,9 @@ impl<'a> App<'a> {
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
@@ -332,8 +384,8 @@ impl<'a> App<'a> {
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -341,7 +393,7 @@ impl<'a> App<'a> {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -352,7 +404,7 @@ impl<'a> App<'a> {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -363,7 +415,7 @@ impl<'a> App<'a> {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -524,15 +576,13 @@ impl<'a> store::Update<Message<'a>> for App<'a> {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -545,14 +595,14 @@ impl<'a> store::Update<Message<'a>> for App<'a> {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -617,7 +667,7 @@ mod test {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -629,12 +679,11 @@ mod test {
|
|
|
|
|
|
| - | |
| - | |
|
|
|
|
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
@@ -648,8 +697,7 @@ mod test {
|
|
|
|
|
|
| - | |
| - | |
| + | |
|
|
|
|
|
@@ -684,9 +732,24 @@ mod test {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
@@ -701,7 +764,7 @@ mod test {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -714,9 +777,30 @@ mod test {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -730,4 +814,99 @@ mod test {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
modified bin/commands/patch/review/builder.rs
@@ -10,7 +10,6 @@
|
|
|
|
|
|
| - | |
|
|
|
|
|
@@ -28,142 +27,121 @@ use radicle_cli::git::unified_diff::{self, FileHeader};
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
| - | |
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -171,35 +149,38 @@ impl ReviewQueue {
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
| - | |
|
|
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
| - | |
| - | |
| + | |
|
|
|
|
|
|
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -222,6 +203,12 @@ impl FileReviewBuilder {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -241,13 +228,14 @@ impl FileReviewBuilder {
|
|
|
|
|
|
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -398,11 +386,7 @@ impl<'a> DiffUtil<'a> {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
|
|
|
|
|
@@ -415,9 +399,23 @@ impl<'a> DiffUtil<'a> {
|
|
|
|
|
|
| - | |
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -453,11 +451,9 @@ impl<'a> ReviewBuilder<'a> {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified bin/git.rs
@@ -1,13 +1,18 @@
| + | |
| + | |
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
|
|
|
|
| + | |
|
|
|
|
|
|
| - | |
| - | |
|
|
|
|
|
@@ -215,13 +220,14 @@ impl From<&Hunk<Modification>> for HunkStats {
|
|
|
|
|
|
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -276,6 +282,18 @@ impl HunkDiff {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -326,6 +344,29 @@ impl HunkDiff {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -343,8 +384,8 @@ impl StatefulHunkDiff {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
|
|
|
modified bin/test.rs
@@ -1,20 +1,213 @@
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
| + | |
| + | |
|
|
|
|
|
|
| + | |
| + | |
| + | |
|
|
| + | |
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -32,4 +225,59 @@ pub mod fixtures {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
modified bin/ui/items.rs
@@ -1,4 +1,6 @@
|
|
| + | |
| + | |
|
|
|
|
|
@@ -1090,7 +1092,7 @@ impl From<Vec<(EntryId, Comment<CodeLocation>)>> for HunkComments {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -1580,6 +1582,15 @@ impl<'a> HunkItem<'a> {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified bin/ui/span.rs
@@ -11,8 +11,8 @@ use tui::ui::span;
|
|
|
|
|
|
| + | |
|
|
| - | |
|
|
|
|
|