[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#32740] [PATCH] git-download: Don't assume the git checkout is the p
From: |
Ludovic Courtès |
Subject: |
[bug#32740] [PATCH] git-download: Don't assume the git checkout is the parent of ".git". |
Date: |
Fri, 21 Sep 2018 11:48:29 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Hello Marius!
Marius Bakke <address@hidden> skribis:
> This makes it play nicely with worktrees.
>
> * guix/git-download.scm (git-file-list): Use REPOSITORY-WORKING-DIRECTORY to
> locate checkout. Rename from "top" to "workdir".
> ---
>
> Notes:
> Guix,
>
> This fixes (current-guix) for me in a worktree. Testing needed on other
> git
> setups!
>
> guix/git-download.scm | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/guix/git-download.scm b/guix/git-download.scm
> index 24cf11be5..a7c8173f4 100644
> --- a/guix/git-download.scm
> +++ b/guix/git-download.scm
> @@ -158,19 +158,22 @@ also includes directories, not just regular files. The
> returned file names
> are relative to DIRECTORY, which is not necessarily the root of the
> checkout."
> (let* ((directory (canonicalize-path directory))
> (dot-git (repository-discover directory))
> - (top (dirname dot-git))
> (repository (repository-open dot-git))
> + (workdir (canonicalize-path
> + ;; XXX: This variable is mistakenly private in
> Guile-Git 0.1.0.
> + ((@@ (git repository) repository-working-directory)
> + repository)))
I think we can avoid the call to ‘canonicalize-path’ here, can’t we?
It’s costly, and since we did it just above, it shouldn’t be needed
here.
Otherwise LGTM, thank you!
Ludo’.