GNU bug report logs - #78437
[PATCH] gnu: git-minimal: Fix ugly output of git submodule -h.

Previous Next

Package: guix-patches;

Reported by: Nicolas Graves <ngraves <at> ngraves.fr>

Date: Thu, 15 May 2025 07:38:02 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 78437 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#78437; Package guix-patches. (Thu, 15 May 2025 07:38:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Nicolas Graves <ngraves <at> ngraves.fr>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 15 May 2025 07:38:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: git-minimal: Fix ugly output of git submodule -h.
Date: Thu, 15 May 2025 09:21:18 +0200
* gnu/packages/version-control.scm (git-minimal)[arguments]<phases>:
Adjust the snippet patching git-submodule.sh to avoid the ugly
".git submodule-real" from git submodule -h.
---
 gnu/packages/version-control.scm | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index ed96b524f83..f4bae91906d 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -437,13 +437,11 @@ (define PATH-variable-definition
                      "GNU")))           ;matched against '*'
 
               ;; git-submodule sources 'git-sh-setup.sh', but not before
-              ;; invoking the basename and sed commands... patch them to their
-              ;; absolute location.
+              ;; invoking the basename and sed commands...  Using those
+              ;; leads to some ugly .git submodule-real, hardcode instead.
               (substitute* "git-submodule.sh"
-                (("\\$\\(basename")
-                 (string-append "$(" (search-input-file inputs "bin/basename")))
-                (("sed -e")
-                 (string-append (search-input-file inputs "bin/sed") " -e")))))
+                (("^dashless=.*")
+                 "dashless=\"git submodule\"\n"))))
           (add-after 'configure 'patch-makefiles
             (lambda _
               (substitute* "Makefile"
-- 
2.49.0



-- 
Best regards,
Nicolas Graves




Information forwarded to guix-patches <at> gnu.org:
bug#78437; Package guix-patches. (Fri, 23 May 2025 04:37:02 GMT) Full text and rfc822 format available.

Message #8 received at 78437 <at> debbugs.gnu.org (full text, mbox):

From: Ian Eure <ian <at> retrospec.tv>
To: Nicolas Graves <ngraves <at> ngraves.fr>
Cc: 78437 <at> debbugs.gnu.org
Subject: Re: [bug#78437] [PATCH] gnu: git-minimal: Fix ugly output of git
 submodule -h.
Date: Thu, 22 May 2025 21:36:13 -0700
Hi Nicolas,

Nicolas Graves <ngraves <at> ngraves.fr> writes:

> * gnu/packages/version-control.scm 
> (git-minimal)[arguments]<phases>:
> Adjust the snippet patching git-submodule.sh to avoid the ugly
> ".git submodule-real" from git submodule -h.
> ---
>  gnu/packages/version-control.scm | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/gnu/packages/version-control.scm 
> b/gnu/packages/version-control.scm
> index ed96b524f83..f4bae91906d 100644
> --- a/gnu/packages/version-control.scm
> +++ b/gnu/packages/version-control.scm
> @@ -437,13 +437,11 @@ (define PATH-variable-definition
>                       "GNU")))           ;matched against '*'
>  
>                ;; git-submodule sources 'git-sh-setup.sh', but 
>                not before
> -              ;; invoking the basename and sed 
> commands... patch them to their
> -              ;; absolute location.
> +              ;; invoking the basename and sed commands... 
> Using those
> +              ;; leads to some ugly .git submodule-real, 
> hardcode instead.

The ".real" in the output is caused by the git package (which 
inherits from git-minimal) using `wrap-program' (which is what 
creates the ".real" files):

     ;; Tell 'git-submodule' where Perl is.
     (wrap-program git-sm
       `("PATH" ":" prefix
         (,(dirname (search-input-file inputs "bin/perl")))))

The git-minimal package has normal output:

   meson!ieure:~$ guix shell --pure git-minimal -- git submodule 
   -h
   usage: git submodule [--quiet] [--cached]

Since the problem is created by the git package, I think that’s 
were the fix should go.  WDYT?

Adding, the git-submodule script doesn’t call perl directly, so 
this must be due to it calling another git plumbing command which 
does -- `git-filter-branch' seems a likely suspect.  Though if 
that’s the case, git-minimal’s `git-filter-branch' is broken.  I’m 
not sure what the rationale is for doing it this way, but it might 
be worth checking if the wrapper can be eliminated altogether.

Thanks,

 -- Ian




This bug report was last modified 22 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.