diff options
Diffstat (limited to 'tissue')
-rw-r--r-- | tissue/file-document.scm | 4 | ||||
-rw-r--r-- | tissue/git.scm | 22 | ||||
-rw-r--r-- | tissue/issue.scm | 2 |
3 files changed, 3 insertions, 25 deletions
diff --git a/tissue/file-document.scm b/tissue/file-document.scm index ccd6a48..f389976 100644 --- a/tissue/file-document.scm +++ b/tissue/file-document.scm @@ -71,7 +71,7 @@ (define (file-text file) "Return the contents of text @var{file}." - (call-with-file-in-git (current-git-repository) file + (call-with-input-file file get-string-all)) (define-method (document-text (document <file-document>)) @@ -139,7 +139,7 @@ MSet object representing a list of search results." "Read gemtext document from @var{file} and return a @code{<file-document>} object." (make <file-document> - #:title (or (call-with-file-in-git (current-git-repository) file + #:title (or (call-with-input-file file (lambda (port) (port-transduce (tfilter-map (lambda (line) ;; The first level one diff --git a/tissue/git.scm b/tissue/git.scm index 4289d65..70f0de9 100644 --- a/tissue/git.scm +++ b/tissue/git.scm @@ -45,7 +45,6 @@ commit-author-date git-tracked-file? git-tracked-files - call-with-file-in-git file-modification-table clone-options call-with-temporary-checkout)) @@ -132,27 +131,6 @@ directory." directory of @var{repository} and do not have a leading slash." (tree-list (head-tree repository))) -(define (call-with-file-in-git repository path proc) - "Call PROC on an input port reading contents of PATH. PATH may refer -to a file on the filesystem or in REPOSITORY." - (let ((file-path (if (absolute-file-name? path) - ;; Treat absolute paths verbatim. - path - ;; Treat relative paths as relative to the - ;; top-level of the git repository. - (string-append (dirname (repository-directory repository)) - "/" path)))) - (if (file-exists? file-path) - ;; If file exists on the filesystem, read it. - (call-with-input-file file-path proc) - ;; Else, read the file from the repository. - (let* ((path-tree-entry (tree-entry-bypath (head-tree repository) - path)) - (path-object (tree-entry->object repository path-tree-entry)) - (blob (blob-lookup repository (object-id path-object)))) - (call-with-port (open-bytevector-input-port (blob-content blob)) - proc))))) - (define (commit-file-changes repository commit) "Return a list of pairs describing files modified by COMMIT with respect to its first parent in REPOSITORY. Each pair maps the old diff --git a/tissue/issue.scm b/tissue/issue.scm index ebfca52..1953cef 100644 --- a/tissue/issue.scm +++ b/tissue/issue.scm @@ -277,7 +277,7 @@ gemtext file." "Read issue from gemtext @var{file} and return an @code{<issue>} object." (let* ((file-document (read-gemtext-document file)) - (file-details (call-with-file-in-git (current-git-repository) file + (file-details (call-with-input-file file file-details)) ;; Downcase keywords to make them ;; case-insensitive. |