Есть ли для него способы повредить историю? Проблемы со сложными merge, команды, результаты работы которых нельзя отменить и т. п? Хочу заранее спрогнозировать, что можно встретить.
> Проблемы со сложными merge, команды, результаты работы которых нельзя отменить и т. п?
Пока ты не сделал push в общий репозиторий, комбинация clone -r и strip позволит выпутаться из любой фигни. И даже когда сделал, проверка blacklist в хуке довольно неплохо выкручивает руки товарищам :)
Как видно, один changeset бесследно исчез. Но поскольку rollback может откатывать только одну транзакцию, с ним сильно не разгонишься.
А вот если бы были команды помощнее...
Речь просто о возможности "отстрелить себе ногу". Пример "безопасной" команды - backout, просто добавляет новый changeset с изменениями, не удаляя ничего из истории. То, что редактирование не нужно, не утверждаю. >Они приведены выше.
Да, упустил. Спасибо.
он не исчез, ты его удалил. сделай hg ci и он вернётся. Тут речь не о том как запороть репозиторий насильственно (mq, кстати, подходит гораздо лучше для того что ты сделал), а о том есть ли грабли в меркуриал на которые можно _случайно_ наступить.
>Что за такая "проверка blacklist"? А то хочется кое-кому руки повыкручивать...
В hook'ах можно сделать проверки и запретить, например, делать pull из репозитария unstable в stable.