[bug#77093,v4,rust-team,01/22] scripts: import: Correct behavior for ‘--insert’ option.

Message ID 8648da361beea558734c285e763d925dc7c97bc2.1745855744.git.hako@ultrarare.space
State New
Headers
Series Cargo.lock importer and build system changes. |

Commit Message

Hilton Chain April 28, 2025, 4:22 p.m. UTC
  The info manual documents ‘--insert=FILE’, but it wasn't actually supported.

* guix/scripts/import.scm (show-help): Add missing ‘FILE’.
(guix-import): Accept ‘--insert=FILE’.

Change-Id: I540d5feae3fe49c00e9bd6f7a8649ffe0d6e006d
---
 guix/scripts/import.scm | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)
  

Patch

diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm
index bbf31baa15..a85f6c6c49 100644
--- a/guix/scripts/import.scm
+++ b/guix/scripts/import.scm
@@ -69,7 +69,7 @@  (define (show-help)
   (display (G_ "
   -h, --help             display this help and exit"))
   (display (G_ "
-  -i, --insert           insert packages into file alphabetically"))
+  -i, --insert=FILE      insert packages into FILE alphabetically"))
   (display (G_ "
   -V, --version          display version information and exit"))
   (newline)
@@ -106,7 +106,18 @@  (define-command (guix-import . args)
   (category packaging)
   (synopsis "import a package definition from an external repository")
 
-  (match args
+  (define (process-args args)
+    (match args
+      ;; Workaround to accpet ‘--insert=FILE’, for the consistency of
+      ;; command-line interface.
+      ((arg . rest)
+       (if (string-prefix? "--insert=" arg)
+           (append (string-split arg #\=)
+                   rest)
+           args))
+      (_ args)))
+
+  (match (process-args args)
     (()
      (format (current-error-port)
              (G_ "guix import: missing importer name~%")))