Print data dir only in status command

This commit is contained in:
Joscha 2025-05-03 01:09:19 +02:00
parent 19c53e0ee8
commit 427128fe5c
3 changed files with 19 additions and 4 deletions

View file

@ -8,10 +8,20 @@ pub struct Command {}
impl Command { impl Command {
pub fn run(self, env: &Environment) -> anyhow::Result<()> { pub fn run(self, env: &Environment) -> anyhow::Result<()> {
let data_dir = gdn::data::open(env.data_dir.clone())?; println!("Data dir: {}", env.data_dir.display());
let state = gdn::data::load_state(&data_dir)?;
println!("Data dir version: {}", gdn::data::VERSION); let version = gdn::data::read_version(env.data_dir.clone())?;
if version == gdn::data::VERSION {
println!("Data dir version: {version} (current)");
} else {
println!(
"Data dir version: {version} (outdated, current: {})",
gdn::data::VERSION
);
}
let data = gdn::data::open(env.data_dir.clone())?;
let state = gdn::data::load_state(&data)?;
println!(); println!();
if state.repos.is_empty() { if state.repos.is_empty() {

View file

@ -28,7 +28,6 @@ fn run() -> anyhow::Result<()> {
data_dir: gdn::data::path()?, data_dir: gdn::data::path()?,
}; };
println!("Data dir: {}", env.data_dir.display());
args.cmd.run(&env)?; args.cmd.run(&env)?;
Ok(()) Ok(())
} }

View file

@ -26,6 +26,12 @@ fn migrate(dir: &LockedDataDir) -> anyhow::Result<()> {
} }
} }
pub fn read_version(path: PathBuf) -> anyhow::Result<u32> {
let dir = UnlockedDataDir::new(path);
let version = dir.read_version()?;
Ok(version)
}
pub fn open(path: PathBuf) -> anyhow::Result<UnlockedDataDir> { pub fn open(path: PathBuf) -> anyhow::Result<UnlockedDataDir> {
let dir = UnlockedDataDir::new(path); let dir = UnlockedDataDir::new(path);
dir.require_version(VERSION)?; dir.require_version(VERSION)?;