aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service/branch-updated-emails.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2020-01-11 17:25:08 +0000
committerChristopher Baines <mail@cbaines.net>2020-01-11 17:25:08 +0000
commit2f36d47b1b5540ab157d561cea4eb1afc1aec7e7 (patch)
tree1dca3f979edc0f2fa17403d10e3e3e2797ed55f5 /guix-data-service/branch-updated-emails.scm
parent57cbac891e6771677b0f5ca906c32e5c5dff701d (diff)
downloaddata-service-2f36d47b1b5540ab157d561cea4eb1afc1aec7e7.tar
data-service-2f36d47b1b5540ab157d561cea4eb1afc1aec7e7.tar.gz
Don't hardcode the expected x-git-repo header value
Rather than expecting it always to be "guix", store the expected value in the database, and use the value of the header to find the relevant repository.
Diffstat (limited to 'guix-data-service/branch-updated-emails.scm')
-rw-r--r--guix-data-service/branch-updated-emails.scm40
1 files changed, 18 insertions, 22 deletions
diff --git a/guix-data-service/branch-updated-emails.scm b/guix-data-service/branch-updated-emails.scm
index df5771e..e367d94 100644
--- a/guix-data-service/branch-updated-emails.scm
+++ b/guix-data-service/branch-updated-emails.scm
@@ -23,9 +23,6 @@
#:use-module (guix-data-service jobs load-new-guix-revision)
#:export (enqueue-job-for-email))
-(define %repository-url-for-repo
- '(("guix" . "https://git.savannah.gnu.org/git/guix.git")))
-
(define (enqueue-job-for-email conn email)
(let* ((headers (email-headers email))
(date (assq-ref headers 'date))
@@ -35,30 +32,29 @@
(x-git-newrev (assq-ref headers 'x-git-newrev)))
(when (and (and (string? x-git-reftype)
(string=? x-git-reftype "branch"))
- (and (string? x-git-repo)
- (string=? x-git-repo "guix"))
(string? x-git-newrev))
(let ((branch-name
(string-drop x-git-refname 11))
(git-repository-id
- (git-repository-url->git-repository-id
+ (git-repository-x-git-repo-header->git-repository-id
conn
- (assoc-ref %repository-url-for-repo x-git-repo))))
+ x-git-repo)))
- (insert-git-branch-entry conn
- branch-name
- (if (string=? "0000000000000000000000000000000000000000"
- x-git-newrev)
- ""
- x-git-newrev)
- git-repository-id
- date)
+ (when git-repository-id
+ (insert-git-branch-entry conn
+ branch-name
+ (if (string=? "0000000000000000000000000000000000000000"
+ x-git-newrev)
+ ""
+ x-git-newrev)
+ git-repository-id
+ date)
- (unless (string=? "0000000000000000000000000000000000000000"
- x-git-newrev)
- (enqueue-load-new-guix-revision-job
- conn
- git-repository-id
- x-git-newrev
- (string-append x-git-repo " " x-git-refname " updated")))))))
+ (unless (string=? "0000000000000000000000000000000000000000"
+ x-git-newrev)
+ (enqueue-load-new-guix-revision-job
+ conn
+ git-repository-id
+ x-git-newrev
+ (string-append x-git-repo " " x-git-refname " updated"))))))))