summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2021-02-07 17:56:33 +0200
committerLars Wirzenius <liw@liw.fi>2021-02-07 18:42:09 +0200
commit73a9ca3d90ac393b7b8575199a3fcce855374136 (patch)
tree967c38039687c7eca780379d3f6b6d1933ae911d
parentae8b09f0e6c7c1778f1d859bafaa83f75dcbf166 (diff)
downloadobnam2-73a9ca3d90ac393b7b8575199a3fcce855374136.tar.gz
feat: add catch-all Reason variant for unknown reason
Just in case the SQLite DB stores a reason this version of Obnam doesn't understand, we handle that now.
-rw-r--r--src/backup_reason.rs5
-rw-r--r--src/backup_run.rs2
2 files changed, 5 insertions, 2 deletions
diff --git a/src/backup_reason.rs b/src/backup_reason.rs
index 218857c..502b79e 100644
--- a/src/backup_reason.rs
+++ b/src/backup_reason.rs
@@ -9,6 +9,7 @@ pub enum Reason {
Changed,
Unchanged,
Error,
+ Unknown,
}
impl Reason {
@@ -18,7 +19,8 @@ impl Reason {
"new" => Reason::IsNew,
"changed" => Reason::Changed,
"unchanged" => Reason::Unchanged,
- _ => Reason::Error,
+ "error" => Reason::Error,
+ _ => Reason::Unknown,
}
}
}
@@ -40,6 +42,7 @@ impl fmt::Display for Reason {
Reason::Changed => "changed",
Reason::Unchanged => "unchanged",
Reason::Error => "error",
+ Reason::Unknown => "unknown",
};
write!(f, "{}", reason)
}
diff --git a/src/backup_run.rs b/src/backup_run.rs
index fce9a73..f97bb58 100644
--- a/src/backup_run.rs
+++ b/src/backup_run.rs
@@ -85,7 +85,7 @@ impl BackupRun {
self.progress.found_live_file(path);
let reason = self.policy.needs_backup(&old, &entry);
match reason {
- Reason::IsNew | Reason::Changed | Reason::Error => {
+ Reason::IsNew | Reason::Changed | Reason::Error | Reason::Unknown => {
let ids = self
.client
.upload_filesystem_entry(&entry, self.buffer_size)?;