Un-revert a snap

Gustavo Niemeyer gustavo.niemeyer at canonical.com
Sat Oct 29 01:26:48 UTC 2016


A refresh should result in the same behavior whether the snap is locally
installed or is being downloaded.

We've also (John has, actually) fixed the behavior so that a refresh of a
specific snap will work, so your original attempt described in the first
message on this thread will work correctly in the upcoming snapd 2.17.

Thanks for raising the issue.


On Thu, Oct 27, 2016 at 11:57 AM, YC Cheng <yc.cheng at canonical.com> wrote:

> Not sure if the new "refresh" design will check if the local installed one
> have the same channel/revision or even hash that match the one from server.
> (I think we should.) And if yes, are we going to add something like
> "--force" in case of some mix channel situation ?
>
> 2016-10-27 20:42 GMT+08:00 Gustavo Niemeyer <gustavo.niemeyer at canonical.
> com>:
>
>> We actually have that already in the upcoming version. You'll be able to
>> say "snap refresh --revison=N <snap>", similarly to how we can revert.
>>
>> That said, I think the expectation exposed in the first message is a
>> reasonable one. We should probably not blacklist the current revision if
>> the snap name was explicitly selected in the command line.
>>
>> On Oct 27, 2016 4:39 AM, "Didier Roche" <didrocks at ubuntu.com> wrote:
>>
>>> Le 27/10/2016 à 08:32, YC Cheng a écrit :
>>>
>>> I think we need a way to just Un-revert from rev 20 to rev 29 without
>>> remove rev 29.
>>>
>>> Shall we fire a bug for that if we don't have such method exists now ?
>>>
>>>
>>> I think it's not that easy considering the associated data. You need to
>>> swap them to restart from the latest version of data from rev 20 to copy to
>>> 29. Explicitely removing that version makes sense in that context. Have an
>>> unrevert command won't convey that notion.
>>>
>>> Didier
>>>
>>>
>>>
>>> 2016-10-27 14:13 GMT+08:00 Didier Roche <didrocks at ubuntu.com>:
>>>
>>>> Le 27/10/2016 à 03:01, Marcos Alano a écrit :
>>>> > Hello guys,
>>>>
>>>> Hey Marcos,
>>>> >
>>>> >
>>>> > Sorry if I'm in the wrong mailing list. That's the only one about
>>>> snap i
>>>> > could found. The question is: how I revert-revert (un-revert) a snap?
>>>> I
>>>> > can install a snap:
>>>> >
>>>> > (sudo snap install hello) after thatr I can upgrade a snap (snap
>>>> refresh
>>>> > hello --channel=beta hello) and finally revert (sudo snap revert
>>>> hello).
>>>> > But after that if I try to re-upgrade I just can't:
>>>> >
>>>> > $ sudo snap refresh --beta hello
>>>> >
>>>> > error: cannot refresh "hello": snap "hello" has no updates available
>>>> >
>>>> > I'm doing something wrong?
>>>>
>>>> You are not doing it wrong :) The revert command "blacklists" this
>>>> particular snap revisions on purpose, so that you don't reupdate to it.
>>>> However, there is a way to get back to it! You can remove explicitely
>>>> that revision (without removing the current snap). Data associated to
>>>> the reverted revision will be cleaned up as well.
>>>> Then, you can refresh.
>>>>
>>>> In a concrete example with the hello snap:
>>>> 20 is the revision in the stable channel, 29 corresponds to the revision
>>>> in the beta channel.
>>>>
>>>> # Install and update
>>>> $ snap install hello
>>>> $ snap list hello
>>>> Name   Version  Rev  Developer  Notes
>>>> hello         2.10     20   canonical  -
>>>> $ snap refresh hello --beta
>>>> $ snap list hello
>>>> Name   Version  Rev  Developer  Notes
>>>> hello         2.10.1   29   canonical  -
>>>>
>>>> # Revert
>>>> $ snap revert hello
>>>> $ snap list hello
>>>> Name   Version  Rev  Developer  Notes
>>>> hello         2.10     20   canonical  -
>>>>
>>>> # Remove reverted version (and associated data)
>>>> $ snap remove hello --revision=29
>>>> hello removed
>>>> $ snap list hello
>>>> Name   Version  Rev  Developer  Notes
>>>> hello         2.10     20   canonical  -
>>>>
>>>> # Reupdate
>>>> $ snap refresh hello --beta
>>>> $ snap list hello
>>>> Name   Version  Rev  Developer  Notes
>>>> hello         2.10.1   29   canonical  -
>>>>
>>>> I hope that answer your questions :)
>>>> Cheers,
>>>> Didier
>>>>
>>>>
>>>> --
>>>> Snapcraft mailing list
>>>> Snapcraft at lists.snapcraft.io
>>>> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailm
>>>> an/listinfo/snapcraft
>>>>
>>>
>>>
>>>
>>>
>>>
>>> --
>>> Snapcraft mailing list
>>> Snapcraft at lists.snapcraft.io
>>> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailm
>>> an/listinfo/snapcraft
>>>
>>>
>> --
>> Snapcraft mailing list
>> Snapcraft at lists.snapcraft.io
>> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailm
>> an/listinfo/snapcraft
>>
>>
>
> --
> Snapcraft mailing list
> Snapcraft at lists.snapcraft.io
> Modify settings or unsubscribe at: https://lists.ubuntu.com/
> mailman/listinfo/snapcraft
>
>


-- 
gustavo @ http://niemeyer.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/snapcraft/attachments/20161028/9f0fbec5/attachment.html>


More information about the Snapcraft mailing list