Refactor channel handling in the load-new-guix-revision module

To allow for passing the channel to channel-news-for-commit.
This commit is contained in:
Christopher Baines 2019-11-15 23:39:01 +00:00
parent 7c611402a0
commit 66d726f1fd
2 changed files with 21 additions and 24 deletions

View file

@ -897,21 +897,6 @@ WHERE job_id = $1"
(lambda (key . args)
(display-backtrace (make-stack #t) (current-error-port)))))))
(define (store-item-for-git-repository-id-and-commit
conn git-repository-id commit)
(with-store store
(set-build-options store
#:fallback? #t)
(channel->guix-store-item
conn
store
(channel (name 'guix)
(url (git-repository-id->url
conn
git-repository-id))
(commit commit)))))
(define (update-package-versions-table conn git-repository-id commit)
;; Lock the table to wait for other transactions to commit before updating
;; the table
@ -1044,10 +1029,22 @@ ORDER BY packages.name, packages.version"
#t)
(define (store-item-for-channel conn channel)
(with-store store
(set-build-options store #:fallback? #t)
(channel->guix-store-item conn
store
channel)))
(define (load-new-guix-revision conn git-repository-id commit)
(let ((store-item
(store-item-for-git-repository-id-and-commit
conn git-repository-id commit)))
(let* ((channel-for-commit
(channel (name 'guix)
(url (git-repository-id->url
conn
git-repository-id))
(commit commit)))
(store-item
(store-item-for-channel conn channel-for-commit)))
(if store-item
(and
(extract-information-from conn git-repository-id

View file

@ -22,8 +22,8 @@
#t
(mock
((guix-data-service jobs load-new-guix-revision)
store-item-for-git-repository-id-and-commit
(lambda (conn git-repository-id commit)
store-item-for-channel
(lambda (conn channel)
"/gnu/store/test"))
(mock
@ -46,8 +46,8 @@
#f
(mock
((guix-data-service jobs load-new-guix-revision)
store-item-for-git-repository-id-and-commit
(lambda (conn git-repository-id commit)
store-item-for-channel
(lambda (conn channel)
#f))
(match (enqueue-load-new-guix-revision-job
@ -64,8 +64,8 @@
#f
(mock
((guix-data-service jobs load-new-guix-revision)
store-item-for-git-repository-id-and-commit
(lambda (conn git-repository-id commit)
store-item-for-channel
(lambda (conn channel)
"/gnu/store/test"))
(mock