From bfcb0e675e9ca58d2d5b3bdfb85065fa3a14c1b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Sad=C5=82ocha?= Date: Sun, 21 Jul 2024 02:29:49 +0100 Subject: [PATCH] Provide more context on mkdir failures (#28) For example, instead of: ``` Error: Permission denied (os error 13) ``` one will get: ``` Error: Failed to create `/var/lib/taskchampion-sync-server`. Caused by: Permission denied (os error 13) ``` after this patch is applied. --- src/storage/sqlite.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/storage/sqlite.rs b/src/storage/sqlite.rs index a8571bb..ad5bf7d 100644 --- a/src/storage/sqlite.rs +++ b/src/storage/sqlite.rs @@ -42,7 +42,8 @@ impl SqliteStorage { } pub fn new>(directory: P) -> anyhow::Result { - std::fs::create_dir_all(&directory)?; + std::fs::create_dir_all(&directory) + .with_context(|| format!("Failed to create `{}`.", directory.as_ref().display()))?; let db_file = directory.as_ref().join("taskchampion-sync-server.sqlite3"); let o = SqliteStorage { db_file };