diff options
author | Christopher Baines <mail@cbaines.net> | 2020-01-11 17:25:08 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-01-11 17:25:08 +0000 |
commit | 2f36d47b1b5540ab157d561cea4eb1afc1aec7e7 (patch) | |
tree | 1dca3f979edc0f2fa17403d10e3e3e2797ed55f5 /guix-data-service/branch-updated-emails.scm | |
parent | 57cbac891e6771677b0f5ca906c32e5c5dff701d (diff) | |
download | data-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.scm | 40 |
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")))))))) |