From f9632ed5936a42999a938553a5226d769cd3e522 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Sun, 29 Jan 2023 00:18:27 +0000 Subject: bin: Do not change into state directory when checking out. Since the checkouts are created in the system-dependent temporary directory, we no longer need to change into the state directory. * bin/tissue (tissue-web): Do not change into state directory when checking out. --- bin/tissue | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) (limited to 'bin') diff --git a/bin/tissue b/bin/tissue index 4ba69e7..f9524ac 100755 --- a/bin/tissue +++ b/bin/tissue @@ -268,29 +268,27 @@ Serve repositories specified in CONFIG-FILE over HTTP. (start-repl (assq-ref args 'listen-repl))) (let* ((state-directory (assq-ref args 'state-directory)) (hosts (assq-ref args 'hosts))) - (call-with-current-directory state-directory - (lambda () - (call-with-temporary-checkouts (map (match-lambda - ((name _ ...) - (string-append state-directory "/" name "/repository"))) - hosts) - (lambda checkouts - (start-web-server (listen->socket-address (assq-ref args 'listen)) - (map (match-lambda* - (((name parameters ...) repository-directory) - ;; Add CSS, repository directory, - ;; website directory, xapian - ;; directory settings for each host. - (parameterize ((%current-git-repository - (repository-open repository-directory))) - (cons name - `((project . ,(load-config)) - (repository-directory . ,repository-directory) - (website-directory . ,(string-append state-directory "/" name "/website")) - (xapian-directory . ,(string-append state-directory "/" name "/xapian")) - ,@parameters))))) - hosts - checkouts))))))))))) + (call-with-temporary-checkouts (map (match-lambda + ((name _ ...) + (string-append state-directory "/" name "/repository"))) + hosts) + (lambda checkouts + (start-web-server (listen->socket-address (assq-ref args 'listen)) + (map (match-lambda* + (((name parameters ...) repository-directory) + ;; Add CSS, repository directory, + ;; website directory, xapian + ;; directory settings for each host. + (parameterize ((%current-git-repository + (repository-open repository-directory))) + (cons name + `((project . ,(load-config)) + (repository-directory . ,repository-directory) + (website-directory . ,(string-append state-directory "/" name "/website")) + (xapian-directory . ,(string-append state-directory "/" name "/xapian")) + ,@parameters))))) + hosts + checkouts))))))))) (define tissue-web-dev (match-lambda* -- cgit v1.2.3