From 727e4e72c7c32450a3fc28bd334d8726cd499222 Mon Sep 17 00:00:00 2001 From: Lorenz Leutgeb Date: Thu, 5 Jun 2025 20:12:57 +0200 Subject: [PATCH] radicle-cli/debug: Use `BTreeMap` for consistent ordering A `HashMap` does not guarantee a consistent iteration order. It is desirable that all environment variables are printed in a consistent order. Use a `BTreeMap` which guarantees a consistent iteration order. --- crates/radicle-cli/src/commands/debug.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/radicle-cli/src/commands/debug.rs b/crates/radicle-cli/src/commands/debug.rs index 01f1526a..85378a57 100644 --- a/crates/radicle-cli/src/commands/debug.rs +++ b/crates/radicle-cli/src/commands/debug.rs @@ -1,5 +1,5 @@ #![allow(clippy::or_fun_call)] -use std::collections::HashMap; +use std::collections::BTreeMap; use std::env; use std::ffi::OsString; use std::path::PathBuf; @@ -57,7 +57,7 @@ pub fn run(_options: Options, ctx: impl term::Context) -> anyhow::Result<()> { // Collect information about the local Radicle installation and write // it out. fn debug(profile: Option<&Profile>) -> anyhow::Result<()> { - let env = HashMap::from_iter(env::vars().filter_map(|(k, v)| { + let env = BTreeMap::from_iter(env::vars().filter_map(|(k, v)| { if k == "RAD_PASSPHRASE" { Some((k, "".into())) } else if k.starts_with("RAD_") || k.starts_with("SSH_") || k == "PATH" || k == "SHELL" { @@ -108,7 +108,7 @@ struct DebugInfo { old_log: Option, operating_system: &'static str, arch: &'static str, - env: HashMap, + env: BTreeMap, } #[derive(Debug, Serialize)]