bugfix in onyx-pkg where errors leave stray folder
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Thu, 19 May 2022 03:22:14 +0000 (22:22 -0500)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Thu, 19 May 2022 03:22:14 +0000 (22:22 -0500)
scripts/onyx-pkg.onyx

index 841504ccfffe4b65133465d4413488fd34083e37..3df59bd00adfbf44420ee950c49d3014e7931084 100644 (file)
@@ -1,7 +1,7 @@
 
 #load "core/std"
 
-Version :: SemVer.{0, 1, 0}
+Version :: SemVer.{0, 1, 1}
 
 use package core
 use package core.intrinsics.onyx {__initialize, __zero_value}
@@ -528,10 +528,14 @@ Git :: struct {
             actual_dest := tprintf("{}/{}", config.config.lib_source_directory, install_dest);
             if os.dir_exists(actual_dest) {
                 eprintf("Expected {} to not exist when fetching {}.\n", actual_dest, repo);
+                os.remove_directory(full_dest);
                 return false;
             }
 
-            if !os.dir_rename(full_dest, actual_dest) do return false;
+            if !os.dir_rename(full_dest, actual_dest) {
+                os.remove_directory(full_dest);
+                return false;
+            }
 
             // Remove the .git folder, as it is unneeded.
             unnecessary_git_dir := tprintf("{}/.git", actual_dest);