Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
cli: Fix sorting of `rad sync status`
cloudhead committed 2 years ago
commit 0decad55867247c3f90ad3419cceb8a9d1ca5e2a
parent fe396ed5f48bdf2837f0011df92c20101fd15600
1 file changed +7 -8
modified radicle-cli/src/commands/sync.rs
@@ -578,7 +578,12 @@ fn sort_seeds_by(local: NodeId, seeds: &mut [Seed], aliases: &impl AliasStore, s
            let b = aliases.alias(&b.nid);
            a.cmp(&b)
        }
-
        SortBy::Status => a.sync.cmp(&b.sync),
+
        SortBy::Status => match (&a.sync, &b.sync) {
+
            (Some(_), None) => Ordering::Less,
+
            (None, Some(_)) => Ordering::Greater,
+
            (Some(a), Some(b)) => a.cmp(b).reverse(),
+
            (None, None) => Ordering::Equal,
+
        },
    };

    // Always show our local node first.
@@ -588,13 +593,7 @@ fn sort_seeds_by(local: NodeId, seeds: &mut [Seed], aliases: &impl AliasStore, s
        } else if b.nid == local {
            Ordering::Greater
        } else {
-
            match (&a.sync, &b.sync) {
-
                (Some(_), None) => Ordering::Less,
-
                (None, Some(_)) => Ordering::Greater,
-
                (Some(a), Some(b)) => a.cmp(b).reverse(),
-
                (None, None) => Ordering::Equal,
-
            }
-
            .then(compare(a, b))
+
            compare(a, b)
        }
    });
}