* [PATCH] git-download: Fix 'git-predicate' to use absolute paths.
@ 2017-05-25 15:58 Christopher Baines
2017-05-30 10:52 ` Christopher Baines
2017-05-30 14:50 ` Ludovic Courtès
0 siblings, 2 replies; 3+ messages in thread
From: Christopher Baines @ 2017-05-25 15:58 UTC (permalink / raw)
To: guix-devel
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.
---
guix/git-download.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/guix/git-download.scm b/guix/git-download.scm
index 9f6d20ee3..316835502 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)))
--
2.13.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] git-download: Fix 'git-predicate' to use absolute paths.
2017-05-25 15:58 [PATCH] git-download: Fix 'git-predicate' to use absolute paths Christopher Baines
@ 2017-05-30 10:52 ` Christopher Baines
2017-05-30 14:50 ` Ludovic Courtès
1 sibling, 0 replies; 3+ messages in thread
From: Christopher Baines @ 2017-05-30 10:52 UTC (permalink / raw)
To: guix-devel
[-- Attachment #1.1: Type: text/plain, Size: 684 bytes --]
On 25/05/17 16:58, Christopher Baines wrote:
> 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.
I've just hit this issue again, but in a different way. This way is easy
to reproduce though.
guix build -e "(begin (use-modules (gnu packages package-management))
(current-guix))"
If you run that while the current working directory is not the root of
the repository, you should get:
ERROR: In procedure lstat: No such file or directory: ".dir-locals.el"
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 858 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] git-download: Fix 'git-predicate' to use absolute paths.
2017-05-25 15:58 [PATCH] git-download: Fix 'git-predicate' to use absolute paths Christopher Baines
2017-05-30 10:52 ` Christopher Baines
@ 2017-05-30 14:50 ` Ludovic Courtès
1 sibling, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2017-05-30 14:50 UTC (permalink / raw)
To: Christopher Baines; +Cc: guix-devel
Christopher Baines <mail@cbaines.net> skribis:
> 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.
Good catch! Applied, thanks.
Ludo’.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-05-30 14:50 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-25 15:58 [PATCH] git-download: Fix 'git-predicate' to use absolute paths Christopher Baines
2017-05-30 10:52 ` Christopher Baines
2017-05-30 14:50 ` Ludovic Courtès
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).