summary refs log tree commit diff
path: root/bin/tissue
diff options
context:
space:
mode:
Diffstat (limited to 'bin/tissue')
-rwxr-xr-xbin/tissue36
1 files changed, 19 insertions, 17 deletions
diff --git a/bin/tissue b/bin/tissue
index 3dfc37b..4a2f37d 100755
--- a/bin/tissue
+++ b/bin/tissue
@@ -403,21 +403,23 @@ HOSTNAME."
                                     repository)))))
               (let ((config (load-config)))
                 (parameterize ((%aliases (tissue-configuration-aliases config)))
-                  ;; Index.
-                  (let ((xapian-directory "xapian"))
-                    (index xapian-directory)
-                    (format (current-error-port)
-                            "Indexed latest changes.~%"))
-                  ;; Build website.
-                  (let ((website-directory "website"))
-                    (guard (c (else (format (current-error-port)
-                                            "Building website failed.~%")
-                                    (raise c)))
-                      (call-with-temporary-directory
-                       (lambda (temporary-output-directory)
+                  (call-with-temporary-directory
+                   (lambda (temporary-repository-clone)
+                     (clone (git-top-level) temporary-repository-clone)
+                     ;; Index.
+                     (mkdir "xapian")
+                     (let ((xapian-directory (canonicalize-path "xapian")))
+                       (call-with-current-directory temporary-repository-clone
+                         (cut index xapian-directory))
+                       (format (current-error-port)
+                               "Indexed latest changes.~%"))
+                     ;; Build website.
+                     (let ((website-directory "website"))
+                       (guard (c (else (format (current-error-port)
+                                               "Building website failed.~%")
+                                       (raise c)))
                          (call-with-temporary-directory
-                          (lambda (temporary-repository-clone)
-                            (clone (git-top-level) temporary-repository-clone)
+                          (lambda (temporary-output-directory)
                             (call-with-current-directory temporary-repository-clone
                               (cut build-website
                                    temporary-output-directory
@@ -425,9 +427,9 @@ HOSTNAME."
                             (delete-file-recursively website-directory)
                             (rename-file temporary-output-directory
                                          website-directory)))
-                         (chmod website-directory #o755))))
-                    (format (current-error-port)
-                            "Built website.~%")))))))))))
+                         (chmod website-directory #o755)
+                         (format (current-error-port)
+                                 "Built website.~%"))))))))))))))
 
 (define tissue-pull
   (match-lambda*