[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] guix package: Add '--switch-generation' option.
From: |
Ludovic Courtès |
Subject: |
Re: [PATCH] guix package: Add '--switch-generation' option. |
Date: |
Wed, 08 Oct 2014 11:44:36 +0200 |
User-agent: |
Gnus/5.130011 (Ma Gnus v0.11) Emacs/24.3 (gnu/linux) |
Alex Kost <address@hidden> skribis:
> Ludovic Courtès (2014-10-07 20:00 +0400) wrote:
>
>> Alex Kost <address@hidden> skribis:
[...]
>> It’d be enough for me to just call ‘switch-symlinks’ and let it throw
>> ‘system-error’ if something’s wrong. The exception will be caught, the
>> user will see a “No such file” error, and ‘guix package’ with exit with
>> non-zero (this is done by ‘call-with-error-handling’.)
>
> ‘switch-symlinks’ does not throw an error even if files don't exist, so…
Oh right, ‘symlink’ doesn’t care about its first argument.
>> It’s less informative than what you did, though. The other option would
>> be to define specific error condition types and throw them from here.
>>
>> WDYT?
>
> … I tried to make it this way, thank you for pointing. I made another
> commit for adding and using condition types (3 patches are attached
> now).
Great.
> Also I moved ‘process-query’ inside ‘with-error-handling’ (because I
> used ‘raise’ there). Could there be unwanted consequences after that?
No, I think it’s fine.
> From d5e9abb0395a21e79d4f77181597103d4daf138c Mon Sep 17 00:00:00 2001
> From: Alex Kost <address@hidden>
> Date: Wed, 8 Oct 2014 00:32:28 +0400
> Subject: [PATCH 1/3] profiles: Add condition types for profile and generation.
>
> * guix/profiles.scm (&profile-error, &generation-error): New condition types.
> * guix/ui.scm (call-with-error-handling): Handle these types.
> * guix/scripts/package.scm (roll-back, guix-package): Raise '&profile-error'
> where needed.
This is bikeshedding, but I would make a hierarchy like this:
&profile-error, with ‘profile’ field
^
.———————————————–+———————————————–.
| |
&profile-not-found-error &missing-generation-error, with ‘generation’
field
WDYT?
Other than that the patch looks good.
> From e47644b43aaa73885ca648118b6fc59fdb499303 Mon Sep 17 00:00:00 2001
> From: Alex Kost <address@hidden>
> Date: Wed, 8 Oct 2014 00:39:42 +0400
> Subject: [PATCH 2/3] profiles: Add procedures for switching generations.
>
> * guix/scripts/package.scm (switch-to-previous-generation): Move to...
> * guix/profiles.scm: ... here. Use 'switch-to-generation'.
> (relative-generation): New procedure.
> (previous-generation-number): Use it.
> (switch-to-generation): New procedure.
OK.
> From 003e5c192796e8ea07491a94a85824a533155825 Mon Sep 17 00:00:00 2001
> From: Alex Kost <address@hidden>
> Date: Wed, 8 Oct 2014 00:45:38 +0400
> Subject: [PATCH 3/3] guix package: Add '--switch-generation' option.
>
> * guix/scripts/package.scm: Add '--switch-generation' option.
> (guix-package): Adjust accordingly.
> * tests/guix-package.sh: Test it.
> * doc/guix.texi (Invoking guix package): Document it.
OK.
Thanks again!
Ludo’.
- Re: [PATCH] emacs: Add support for deleting generations., (continued)
- Re: [PATCH] emacs: Add support for deleting generations., Ludovic Courtès, 2014/10/05
- Re: [PATCH] emacs: Add support for deleting generations., Alex Kost, 2014/10/05
- Re: [PATCH] emacs: Add support for deleting generations., Ludovic Courtès, 2014/10/05
- Re: [PATCH] emacs: Add support for deleting generations., Alex Kost, 2014/10/05
- Re: [PATCH] emacs: Add support for deleting generations., Ludovic Courtès, 2014/10/06
[PATCH] guix package: Add '--switch-generation' option., Alex Kost, 2014/10/06
Re: [PATCH] guix package: Export generation procedures., Andreas Enge, 2014/10/05