Don't migrate existing data dir without version number

If there is a directory but no version number, we have no idea what's
going on. If we continue the migration, we might overwrite or break some
other program's data.
This commit is contained in:
Joscha 2025-02-20 01:46:42 +01:00
parent 1f76854aa7
commit 4909aa0a29
2 changed files with 5 additions and 2 deletions

View file

@ -15,10 +15,12 @@ pub use self::{
fn migrate(dir: &LockedDataDir) -> anyhow::Result<()> {
loop {
match dir.read_version()? {
0 => v0::migrate(dir)?,
let version = dir.read_version().context("failed to migrate data dir")?;
match version {
0 => v0::migrate(dir),
_ => break Ok(()),
}
.with_context(|| format!("failed to migrate data dir from version {version}"))?;
}
}