diff mbox series

[bug#47658] etc/committer: Use git plumbing instead of porcelain

Message ID BYAPR05MB4023B73425F02935A0D97003C5749@BYAPR05MB4023.namprd05.prod.outlook.com
State Accepted
Headers show
Series [bug#47658] etc/committer: Use git plumbing instead of porcelain | expand

Checks

Context Check Description
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

Morgan Smith April 8, 2021, 4:16 p.m. UTC
From: Morgan Smith <Morgan.J.Smith@outlook.com>

* etc/committer.scm.in
(diff-info): Use git diff-files instead of git diff
(old-sexp): Use git cat-file instead of git show
(main): Add newline to displayed message
---
 etc/committer.scm.in | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

Comments

Ricardo Wurmus April 12, 2021, 7:46 p.m. UTC | #1
> Subject: [PATCH] etc/committer: Use git plumbing instead of porcelain
> Date: Thu,  8 Apr 2021 12:16:35 -0400
> From: Morgan.J.Smith@outlook.com
> To: guix-patches@gnu.org
> CC: Morgan Smith <Morgan.J.Smith@outlook.com>
>
> From: Morgan Smith <Morgan.J.Smith@outlook.com>
>
> * etc/committer.scm.in
> (diff-info): Use git diff-files instead of git diff
> (old-sexp): Use git cat-file instead of git show
> (main): Add newline to displayed message

I broke this up into two commits and pushed them.

Thank you!
diff mbox series

Patch

diff --git a/etc/committer.scm.in b/etc/committer.scm.in
index 7991dc7430..1f19ccfd6d 100755
--- a/etc/committer.scm.in
+++ b/etc/committer.scm.in
@@ -89,7 +89,7 @@  LINE-NO in PORT."
 (define (diff-info)
   "Read the diff and return a list of <hunk> values."
   (let ((port (open-pipe* OPEN_READ
-                          "git" "diff"
+                          "git" "diff-files"
                           "--no-prefix"
                           ;; Only include one context line to avoid lumping in
                           ;; new definitions with changes to existing
@@ -153,8 +153,9 @@  LINE-NO in PORT."
 corresponding to the top-level definition containing the staged changes."
   ;; TODO: We can't seek with a pipe port...
   (let* ((port (open-pipe* OPEN_READ
-                           "git" "show" (string-append "HEAD:"
-                                                       (hunk-file-name hunk))))
+                           "git" "cat-file" "-p" (string-append
+                                                  "HEAD:"
+                                                  (hunk-file-name hunk))))
          (contents (get-string-all port)))
     (close-pipe port)
     (call-with-input-string contents
@@ -253,7 +254,7 @@  modifying."
 (define (main . args)
   (match (diff-info)
     (()
-     (display "Nothing to be done." (current-error-port)))
+     (display "Nothing to be done.\n" (current-error-port)))
     (hunks
      (let-values
          (((definitions changes)