summary refs log tree commit diff
path: root/pkgs/applications/version-management/sit/aarch64-eexist.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/version-management/sit/aarch64-eexist.patch')
-rw-r--r--pkgs/applications/version-management/sit/aarch64-eexist.patch17
1 files changed, 17 insertions, 0 deletions
diff --git a/pkgs/applications/version-management/sit/aarch64-eexist.patch b/pkgs/applications/version-management/sit/aarch64-eexist.patch
new file mode 100644
index 000000000000..8b45e77d040d
--- /dev/null
+++ b/pkgs/applications/version-management/sit/aarch64-eexist.patch
@@ -0,0 +1,17 @@
+diff --git a/sit-core/src/repository.rs b/sit-core/src/repository.rs
+index ebd357d..074dcc9 100644
+--- a/sit-core/src/repository.rs
++++ b/sit-core/src/repository.rs
+@@ -305,6 +305,12 @@ impl Repository {
+         let id: String = name.into();
+         let mut path = self.items_path.clone();
+         path.push(&id);
++        #[cfg(all(debug_assertions, target_arch = "aarch64"))] {
++          use std::io;
++          if path.is_dir() {
++             return Err(io::Error::from_raw_os_error(17).into()); // 17 is EEXIST
++          }
++        }
+         fs::create_dir(path)?;
+         let id = OsString::from(id);
+         Ok(Item {