Subject: Re: bug#57559: guix pull fails on http status code 503

From: Maxime Devos <[email-masked]>
Date: Sat, 3 Sep 2022 19:27:30 +0200

On 03-09-2022 13:21, André A. Gomes wrote:

> Hi Guix,
>
> --8<---------------cut here---------------start------------->8---
> $ guix pull
> Updating channel 'nonguix' from Git repository at 'https://gitlab.com/nonguix/nonguix'...
> guix pull: error: Git error: unexpected http status code: 503
> --8<---------------cut here---------------end--------------->8---
>
> It seems reasonable that if a certain channel isn't available, it should
> be possible to ignore it and proceed.
>
> Thanks.

More concretely:

  * if all channels are available --> ok, keep status quo
  * if no channels are available --> error, keep status quo
  * if some but not all channels are available, and there is at least
    one updated channel --> log the missing channels, and update the
    channels that _are_ available (but don't 'ignore' the missing
    channels by removing them!).
  * if some but not all channels are available, and none of the
    available channels were updated --> bail out, no progress was made
    and this might be due to lack of connectivity instead of lack of
    updates.

?

Technically, your message can be interpreted as: if I only have a single 
channel, the Guix channel, and it isn't available, it should be possible 
to ignore it and proceed. (Proceed with what? It's the only channel, 
what is there to proceed with.)  To actually implement this, we need to 
be precise.

Greetings,
Maxime