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

Done: Maxim Cournoyer <maxim <at> guixotic.coop>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Maxim Cournoyer <maxim <at> guixotic.coop>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#78437: closed ([PATCH] gnu: git-minimal: Fix ugly output of
 git submodule -h.)
Date: Wed, 25 Jun 2025 14:05:03 +0000
[Message part 1 (text/plain, inline)]
Your message dated Wed, 25 Jun 2025 23:04:06 +0900
with message-id <871pr75355.fsf <at> guixotic.coop>
and subject line Re: [bug#78437] [PATCH] gnu: git-minimal: Fix ugly output of git submodule -h.
has caused the debbugs.gnu.org bug report #78437,
regarding [PATCH] gnu: git-minimal: Fix ugly output of git submodule -h.
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
78437: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=78437
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
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


[Message part 3 (message/rfc822, inline)]
From: Maxim Cournoyer <maxim <at> guixotic.coop>
To: Ian Eure <ian <at> retrospec.tv>
Cc: Nicolas Graves <ngraves <at> ngraves.fr>, 78437-done <at> debbugs.gnu.org
Subject: Re: [bug#78437] [PATCH] gnu: git-minimal: Fix ugly output of git
 submodule -h.
Date: Wed, 25 Jun 2025 23:04:06 +0900
Hi,

Ian Eure <ian <at> retrospec.tv> writes:

> 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.

I investigated a bit, and git submodules seems to work fine without this
2014 perl wrapping thing, even in a container.  So, I've pushed

45ec6e0e0a gnu: git: Remove extraneous git-submodule wrapper.

which should fix that, along a git update and related commits.

-- 
Thanks,
Maxim


This bug report was last modified 15 days ago.

Previous Next


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