retro Очень просто все. В контексте снапшота существует два состояния ВМ: предыдущее и текущее. Снапшот обуславливает существование предыдущего состояния. Если вы делаете удаление снапшота - текущее состояние коммитится в предыдущее. Текущее состояние ВМ не коммитится в снап, когда оно пустое. Пустое текущее состояние, в контексте снапшота, получается после создания снапа и после отката к снапу. Соответственно, если вы хотите получить возврат на какое-то определенное предыдущее состояние (снап) - делаете возврат на это состояние (revert to snapshot).
Слияние разветвленных снапов не поддерживается. Нет такого механизма в продукте. Если имеется некий снап от которого есть ветвление, то у такого снапа есть основная ветка, оканчивающая текущим состоянием (активным) и боковые (все остальные). Удаление снапов в боковых ветках выполняется по тем же правилам, (удаляемый снап объединяется с предыдущим состоянием). При удалении последнего снапа в боковой ветке - он просто удаляется без объединения с предыдущим.
Для вас это значит следующее: у вас есть цепочка снапов: snap '2' -> snap '3' -> snap '4'.
1. делаете реверт на снап '2'. При этом снапы 3 и 4 образуют боковое ответвление от снапа 2, т.к. снап 2 оканчивается тепер последним (актуальным) состоянием.
2. удаляете снап '4'. Снап 4 будет удален без объединения с предыдущим, как последний в боковой ветке.
3. удаляете снап '3'. Снап 3 будет удален без объединения с предыдущим, как последний в боковой ветке.
4. конец.
если пункты 2 и 3 поменят местами, то при удалении снапа 3, произойдет объединение снапов 3 и 4 (4 коммитится в 3) и этот процесс займет много дольше времени.
Цитата: Все прочитал и хорошо подготовился, но боюсь напортачить...
Не подготовились. Потому и боитесь. Немного тестов на тестовых же ВМ и все тайны становятся простыми, как яичница.
Цитата: облажаться никак нельзя...
Дрожите? Бэкапы же... А то, вдруг, я тут вам наплел всякого. Оно на правду похоже, а как на самом деле - вы и не знаете.