diff options
author | Christopher Baines <mail@cbaines.net> | 2023-10-16 21:18:44 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2023-10-16 21:18:44 +0100 |
commit | 89782b34499befbef7b9c4e13e5ff5178c7e27b4 (patch) | |
tree | 6a7f508b669d338358d0e805573b3811b1d4d3aa | |
parent | 851a6c17b56a2f06839c79d914eaaa677a1061f2 (diff) | |
download | data-service-89782b34499befbef7b9c4e13e5ff5178c7e27b4.tar data-service-89782b34499befbef7b9c4e13e5ff5178c7e27b4.tar.gz |
Close the repository when pulling
And remove the monitor, as I'm not sure it's necessary.
-rw-r--r-- | guix-data-service/poll-git-repository.scm | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/guix-data-service/poll-git-repository.scm b/guix-data-service/poll-git-repository.scm index 1ce271a..e059343 100644 --- a/guix-data-service/poll-git-repository.scm +++ b/guix-data-service/poll-git-repository.scm @@ -77,7 +77,8 @@ ;; Only fetch remote if it has not been cloned just before. (when cache-exists? (remote-fetch (remote-lookup repository "origin") - #:fetch-options ((@@ (guix git) make-default-fetch-options)))))) + #:fetch-options ((@@ (guix git) make-default-fetch-options)))) + (repository-close! repository))) (define (poll-git-repository conn git-repository-id) (define git-repository-details @@ -89,18 +90,16 @@ conn 'latest-channel-instances (lambda () - ;; Maybe this helps avoid segfaults? - (monitor - ;; This was using update-cached-checkout, but it wants to checkout - ;; refs/remotes/origin/HEAD by default, and that can fail for some - ;; reason on some repositories: - ;; - ;; reference 'refs/remotes/origin/HEAD' not found - ;; - ;; I just want to update the cached checkout though, so trying to - ;; checkout some revision is unnecessary, hence - ;; just-update-cached-checkout - (just-update-cached-checkout (second git-repository-details))) + ;; This was using update-cached-checkout, but it wants to checkout + ;; refs/remotes/origin/HEAD by default, and that can fail for some reason + ;; on some repositories: + ;; + ;; reference 'refs/remotes/origin/HEAD' not found + ;; + ;; I just want to update the cached checkout though, so trying to + ;; checkout some revision is unnecessary, hence + ;; just-update-cached-checkout + (just-update-cached-checkout (second git-repository-details)) (let* ((repository-directory (url-cache-directory |