Как я могу сжать ртутный репозиторий, удалив старые ревизии?Удаление наборов изменений или сокращение хранилища Mercurial
ответ
В принципе, вы не можете. Mercurial имеет жесткое и быстрое правило, что набор изменений может существовать только в репозитории, если каждый из его наборов изменений предков также существует в этом репозитории.
Вы можете, однако, создать новый репозиторий, чьи изменения соответствуют подмножеству более поздних наборов изменений в другом репозитории. Они не будут, однако, быть теми же наборами изменений, потому что у них будут разные хеш-узлы, а любые клоны из исходного репо не будут работать с новым («несвязанные репозитории»).
Вы могли бы попытаться создать новый репозиторий, отражающий лишь некоторые из новых ревизий в другом репо с использованием процесса, как это:
hg -R /path/to/bigrepo export 10:tip > latestchanges.patch
hg init newsmallrepo
hg -R newsmallrepo import < latestchanges.patch
Это будет копировать только наборы изменений пронумерованных 10 и затем в новые ревизии с различными хэш в новом репозитории. Это также не будет работать с ошибками.
См. Расширение convert
(прилагается к Mercurial). Простой пример может служить следующее:
hg convert <src> <dest> --config convert.hg.startrev=<rev>
Это создаст новый, не связанный репозиторий, который начинается с ревизией, указанной, сбросив предыдущую историю. Он также будет обрабатывать слияния. Все пользователи должны будут клонировать новую версию репозитория, поскольку изменения хэшей изменений будут меняться.
Включить расширение, добавив следующее mercurial.ini
:
[extensions]
convert =
Run hg help convert
для выбора параметров.
под ** Windows **, добавление/создание всего в *** 'C: \ Users \
Я использую Windows и Mercurial.ini. Оба будут работать. См. [Hgrc docs] (http://www.selenic.com/mercurial/hgrc.5.html). –
- 1. Mercurial: несколько наборов изменений сразу?
- 2. Mercurial revision/revset для неуправляемых наборов изменений
- 3. Mercurial Слияние только определенных наборов изменений
- 4. Mercurial: см. Еще несколько наборов изменений
- 5. Поиск наборов изменений в mercurial путем grepping patch
- 6. Каков наилучший способ отменить несколько наборов изменений в mercurial?
- 7. Mercurial - пересадка наборов изменений из разных ветвей (с использованием TortoiseHg)
- 8. Mercurial - способ получения измененных файлов из набора наборов изменений?
- 9. Ограничение пользователей от нажатия наборов изменений по умолчанию (Mercurial)
- 10. Общее количество наборов изменений для Mercurial и Git
- 11. Объединение вытаскиваемых наборов изменений в филиал функции в Mercurial
- 12. Преобразование фиксированных наборов изменений в незафиксированные изменения в Mercurial
- 13. Редактирование автора для конкретных наборов изменений
- 14. Добавление изменений из одного хранилища Mercurial в другой
- 15. Сокращение/сокращение хранилища Git на Windows
- 16. Mercurial распределенные хранилища
- 17. Могу ли я объединить несколько последовательных наборов изменений в набор изменений в Mercurial
- 18. Резервное копирование локального хранилища Mercurial
- 19. В hg clone, в чем разница между «добавлением наборов изменений», «добавлением манифестов» и «добавлением изменений файла»?
- 20. Сокращение операций записи хранилища данных
- 21. Mercurial: список всех пересаженных наборов изменений для конкретного хэша набора изменений
- 22. Mercurial - хранилища развернутых хранилищ и хранилища
- 23. TFS: сравнение наборов изменений
- 24. Как вытащить следующие k изменений в mercurial
- 25. Изучение одного набора изменений в Mercurial
- 26. mercurial: проверьте, содержит ли ветвь набор изменений
- 27. Вытягивание изменений между двумя отдельными репозиториями Mercurial
- 28. Git Сброс или удаление или удаление сохраняются без изменений
- 29. Mercurial: как удалить строку в файле, для последних 4 наборов изменений (еще не нажал)?
- 30. Mercurial: Предотвращение внесения определенных изменений
Это решение. Я искал эти команды и не нашел. Спасибо Ry4an! –