Subject: Re: [bug#28273] [PATCH] gnu: Fix current-guix.
From: Christopher Baines <[email-masked]>
To: [email-masked] (Ludovic Courtès)
Cc: [email-masked]
Date: Thu, 31 Aug 2017 22:04:21 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

On Thu, 31 Aug 2017 15:18:37 +0200
[email-masked] (Ludovic Courtès) wrote:

> Christopher Baines <[email-masked]> skribis:
> 
> > Without this change, I get errors like:
> >   ERROR: In procedure string-drop:
> >   ERROR: Value out of range 0 to 35: 51
> >
> > * gnu/packages/package-management.scm (current-guix): Pass exactly
> > the same path to git-predicate and local-file, to ensure that the
> > select? function is compatible.  
> 
> Good catch, LGTM.

Great, I've merged this now.

> I think that fundamentally, we should arrange for ‘git-predicate’ to
> not do any string prefix comparison.  That’s bound to fail.  If we
> could somehow restrict it to comparing inode numbers, that’d be
> perfect.

Hmm, yeah, that might work well... I think the structure would simplify
to:
 - taking the list of files, creating a list of directories
   (rather than a tree)
 - combining these lists
 - finding each inode for every file and directory

The predicate could then check if the provided inode is known, without
switching on the type as it does at the moment.

I'll put it on my list of things to look at :)