From 2df364512bfe403d7d455a7592a150b931cf7db4 Mon Sep 17 00:00:00 2001 From: dw-0 Date: Thu, 24 Oct 2024 12:25:22 +0200 Subject: [PATCH] fix: Path.rename() not working across devices (#584) causes `[Errno 18] Invalid cross-device link` on tmpfs filesystems Signed-off-by: Dominik Willner --- kiauh/utils/config_utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kiauh/utils/config_utils.py b/kiauh/utils/config_utils.py index fd13ce0..8264bc9 100644 --- a/kiauh/utils/config_utils.py +++ b/kiauh/utils/config_utils.py @@ -8,6 +8,7 @@ # ======================================================================= # from __future__ import annotations +import shutil import tempfile from pathlib import Path from typing import List, Tuple @@ -69,7 +70,7 @@ def add_config_section_at_top(section: str, instances: List[InstanceType]) -> No tmp.writelines(org_content) cfg_file.unlink() - tmp_cfg_path.rename(cfg_file) + shutil.move(tmp_cfg_path, cfg_file) Logger.print_ok("OK!")