Radish alpha
h
Radicle Heartwood Protocol & Stack
Radicle
Git (anonymous pull)
Log in to clone via SSH
REVIEW: Fixup git2 adapaters SortOrder map
✗ CI failure Adrian Duke committed 24 days ago
commit 832d377d58c273c26e07b7f75b14723663a413b5
parent e1867632fb03a1a75b73087e8ce5fb5d0846187c
1 failed (1 total) View logs
2 files changed +15 -12
modified crates/radicle/src/git/repository/adapter/git2/revwalk.rs
@@ -68,10 +68,12 @@ fn configure_revwalk(
    plan: &RevwalkPlan,
) -> Result<(), revwalk::InitError> {
    let sort = match plan.sort_order() {
-
        SortOrder::Chronological => git::raw::Sort::TIME,
-
        SortOrder::Topological => git::raw::Sort::TOPOLOGICAL,
-
        SortOrder::Reverse => git::raw::Sort::REVERSE,
-
        SortOrder::TopologicalReverse => git::raw::Sort::TOPOLOGICAL | git::raw::Sort::REVERSE,
+
        SortOrder::Chronological { reverse: false } => git::raw::Sort::TIME,
+
        SortOrder::Topological { reverse: false } => git::raw::Sort::TOPOLOGICAL,
+
        SortOrder::Chronological { reverse: true } => git::raw::Sort::REVERSE,
+
        SortOrder::Topological { reverse: true } => {
+
            git::raw::Sort::TOPOLOGICAL | git::raw::Sort::REVERSE
+
        }
    };
    walk.set_sorting(sort)
        .map_err(revwalk::InitError::backend)?;
modified crates/radicle/src/git/repository/revwalk.rs
@@ -10,17 +10,18 @@ use radicle_oid::Oid;
use super::types::Commit;

/// The sort order for a [`RevwalkPlan`].
-
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
+
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum SortOrder {
    /// Chronological order (newest first, by commit time).
-
    #[default]
-
    Chronological,
+
    Chronological { reverse: bool },
    /// Topological order (parents before children).
-
    Topological,
-
    /// Reverse of default order.
-
    Reverse,
-
    /// Topological order with children before parents.
-
    TopologicalReverse,
+
    Topological { reverse: bool },
+
}
+

+
impl Default for SortOrder {
+
    fn default() -> Self {
+
        Self::Chronological { reverse: false }
+
    }
}

/// A plan for walking the commit graph.