guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: git-annex: problematic shebangs in .git/hooks/pre-commit?


From: Timothy Sample
Subject: Re: git-annex: problematic shebangs in .git/hooks/pre-commit?
Date: Thu, 23 Aug 2018 16:07:49 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Hi Kyle,

Kyle Meyer <address@hidden> writes:

> Timothy Sample <address@hidden> writes:
>
> [...]
>
>>> I'm wondering whether the shebang patching in .git/hooks/pre-commit
>>> will
>>> cause a problem.  Using the patched shellPath_portable, 'git annex
>>> init'
>>> generates a hook like this:
>>>
>>>     % cat .git/hooks/pre-commit
>>>     #!/gnu/store/rbrandv7anzjxqkr40d7fkanzssslk4b-bash-minimal-4.4.19/bin/sh
>>>     # automatically configured by git-annex
>>>     git annex pre-commit .
>>>
>>> But won't this break if that particular bash-mininimal is garbage
>>> collected?
>>
>> My understanding is that since git-annex contains a reference to
>> bash-minimal, the garbage collector will leave it alone.  Indeed,
>> running “guix gc --references /gnu/store/…-git-annex-20180626” shows
>> that Guix knows that git-annex needs bash-minimal.  As long as
>> git-annex
>> is available (a prerequisite to the pre-commit hook working)
>> bash-minimal will be available.
>
> Hmm, I'm not convinced that *that* bash-minimal will be available.
>
> Perhaps I'm just missing something, but to spell out my concern a
> little
> more: I have /gnu/store/A/git-annex and /gnu/store/X/bash-minimal.  I
> set up a repo with 'git annex init', and
> /gnu/store/X/bash-minimal/bin/sh is used in the shebang.
>
> Some time later I am using /gnu/store/B/git-annex, which references
> /gnu/store/Y/bash-minimal.  That repo's hook still uses the
> X/bash-minimal/bin/sh.  But if /gnu/store/X/bash-minimal is no longer
> referenced by any package, it could be garbage collected, leading to
> the
> hook failing.

Ah yes!  That could be a problem indeed.  Good catch.  Following the
example of autoconf, it seems it should just be left alone.  I will fix
it shortly.  (Right now git-annex doesn’t even build, so I will fix that
first!)

Thanks!


-- Tim



reply via email to

[Prev in Thread] Current Thread [Next in Thread]