summary refs log tree commit diff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2017-05-25 16:58:23 +0100
committerLudovic Courtès <ludo@gnu.org>2017-05-30 18:08:37 +0200
commit151cb9738a1903670acfee8cc28b5a2e441172ce (patch)
tree32c845c15599534603608feaf686e5646c797577
parent294739b5b85c07c1b6d44a27444e1bcb18f59fa5 (diff)
downloadguix-151cb9738a1903670acfee8cc28b5a2e441172ce.tar.gz
git-download: Fix 'git-predicate' to use absolute paths.
git ls-files will return paths relative to the repository directory. This
commit prepends the repository directory to those paths when calling lstat,
such that 'git-predicate' works if the current working directory is not the
repository directory.

* guix/git-download.scm (git-predicate): Prepend repository directory to the
  file path when calling lstat.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--guix/git-download.scm3
1 files changed, 2 insertions, 1 deletions
diff --git a/guix/git-download.scm b/guix/git-download.scm
index 9f6d20ee38..316835502c 100644
--- a/guix/git-download.scm
+++ b/guix/git-download.scm
@@ -146,7 +146,8 @@ absolute file name and STAT is the result of 'lstat'."
                           (line
                            (loop (cons line lines))))))
          (inodes      (map (lambda (file)
-                             (let ((stat (lstat file)))
+                             (let ((stat (lstat
+                                          (string-append directory "/" file))))
                                (cons (stat:dev stat) (stat:ino stat))))
                            files))
          (status      (close-pipe pipe)))