mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
etc: teams: Parse 'From' commit more leniently.
When a Change-Id is used, patman prepends a Message-Id field on the first line of the patch, which broke the assumption that the 'From $commit' line must appear on the first line. * etc/teams.scm.in (git-patch->commit-id): Loop each line of the file until a match is found. Update doc. Series-to: 66027@debbugs.gnu.org Series-version: 3 Series-changes: 3 - New commit Series-cc: Giovanni Biscuolo <g@xelera.eu>, Simon Tournier <zimon.toutoune@gmail.com> Change-Id: I20400f87469ffb761ffc82dd32e34cd06f619043
This commit is contained in:
parent
f44fa21c3e
commit
fb3707762d
1 changed files with 8 additions and 5 deletions
|
@ -770,13 +770,16 @@ (define (diff-revisions rev-start rev-end)
|
|||
files))
|
||||
|
||||
(define (git-patch->commit-id file)
|
||||
"Parse the commit ID from the first line of FILE, a patch produced with git."
|
||||
"Parse the commit ID from FILE, a patch produced with git."
|
||||
(call-with-input-file file
|
||||
(lambda (port)
|
||||
(let ((m (string-match "^From ([0-9a-f]{40})" (read-line port))))
|
||||
(unless m
|
||||
(error "invalid patch file:" file))
|
||||
(match:substring m 1)))))
|
||||
(let loop ((line (read-line port)))
|
||||
(when (eof-object? line)
|
||||
(error "could not find 'from' commit in patch" file))
|
||||
(let ((m (string-match "^From ([0-9a-f]{40})" line)))
|
||||
(if m
|
||||
(match:substring m 1)
|
||||
(loop (read-line port))))))))
|
||||
|
||||
(define (git-patch->revisions file)
|
||||
"Return the start and end revisions of FILE, a patch file produced with git."
|
||||
|
|
Loading…
Reference in a new issue