Subject: [PATCH v4 rust-team 01/22] scripts: import: Correct behavior for ‘--insert’ option.

From: Hilton Chain <[email-masked]>
Date: Tue, 29 Apr 2025 00:22:58 +0800

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(-)

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~%")))
-- 
2.49.0