From 711c89cd97728d48eb3d4151c59865b8b6ceab46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Th=C3=A1i=20Ng=E1=BB=8Dc=20Duy?= Date: Fri, 4 Sep 2020 19:19:36 +0700 Subject: [PATCH 1/2] snow: confirm before uploading packages Uploading a package is an irreversible operation. It's not even about accidentally leaking your secret sauce to the internet. You could upload a package to snow-fort.org by accident and pullute the package name space [1]. So let's ask the user first before going ahead uploading stuff. We only ask once even if we're going to upload a dozen packages, so it's not that annoying. The target repo is also shown in case you want to upload to a custom repo and want to make sure it does so. [1] I did (while attempting to uploading to a local snow-fort instance during testing). I guess `(chibi snow commands)` is forever mine now. --- lib/chibi/snow/commands.scm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/chibi/snow/commands.scm b/lib/chibi/snow/commands.scm index 9f84f905..89c04e0c 100644 --- a/lib/chibi/snow/commands.scm +++ b/lib/chibi/snow/commands.scm @@ -947,9 +947,11 @@ ((package-file? (car o)) (if (not (every package-file? (cdr o))) (non-homogeneous)) - (for-each - (lambda (package) (upload-package cfg spec package)) - o)) + (if (yes-or-no? cfg "Upload " o " to " + (remote-uri cfg '(command package uri) "/?")) + (for-each + (lambda (package) (upload-package cfg spec package)) + o))) (else (if (any package-file? (cdr o)) (non-homogeneous)) @@ -958,7 +960,9 @@ (package (create-package (car spec+files) (cdr spec+files) package-file))) - (upload-package cfg spec package package-file))))) + (if (yes-or-no? cfg "Upload " o " to " + (remote-uri cfg '(command package uri) "/?")) + (upload-package cfg spec package package-file)))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Remove - removes the listed libraries. From f4008c92cfbc839b83ff4b0c8364c12e6de59358 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Th=C3=A1i=20Ng=E1=BB=8Dc=20Duy?= Date: Sat, 5 Sep 2020 09:31:29 +0700 Subject: [PATCH 2/2] snow: add TODO regarding summary before upload --- lib/chibi/snow/commands.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/chibi/snow/commands.scm b/lib/chibi/snow/commands.scm index 89c04e0c..28877ea8 100644 --- a/lib/chibi/snow/commands.scm +++ b/lib/chibi/snow/commands.scm @@ -947,6 +947,7 @@ ((package-file? (car o)) (if (not (every package-file? (cdr o))) (non-homogeneous)) + ;; TODO: include a summary (version, file size, etc.) (if (yes-or-no? cfg "Upload " o " to " (remote-uri cfg '(command package uri) "/?")) (for-each @@ -960,6 +961,7 @@ (package (create-package (car spec+files) (cdr spec+files) package-file))) + ;; TODO: include a summary (version, file size, etc.) (if (yes-or-no? cfg "Upload " o " to " (remote-uri cfg '(command package uri) "/?")) (upload-package cfg spec package package-file))))))