Есть ли встроенная или расширенная версия Mercurial для удаления всех "не-Mercurial" файлов из корневого каталога репозитория?
Мне бы хотелось, чтобы все файлы находились в корневой папке репозитория, кроме.hg/, .hgignore, .hgtags и т. Д. Есть ли встроенное или существующее расширение Mercurial для этого?
Я реализовал скрипт не-hg с жестким кодом "ртутные файлы", но мне нужен программный метод исключения ртутных файлов.
Я пытаюсь отразить сервер управления некоммерческими конфигурациями (Starteam), периодически удаляя все файлы, выполняя чистую проверку из Starteam, а затем запускаю hg addremove, затем регистрируюсь.
3 ответа
Это не совсем то, что вы ищете, но hg update -r null
Относится к ревизии до первой ревизии, которая, очевидно, не содержит файлов. Это оставит ваш.hg на месте, но.hgtags и.hgignore исчезнут. Тем не менее, они отслеживаются файлы, поэтому они вернутся с hg update
так же, как и любые другие файлы.
Скопируйте весь материал Starteam в подпапку корневой папки вашего репо.
Как это:
/MyRepo/
/MyRepo/.hg
/MyRepo/.hgignore
/MyRepo/Starteam/
/MyRepo/Starteam/Starteam file 1
etc.
Таким образом, вам нужно только удалить эту единственную папку "Starteam", без необходимости явно игнорировать определенные файлы Mercurial.
Для каждой версии, которую вы извлекаете из Starteam, я бы предложил создать новый каталог.
В этом каталоге выполните hg clone -U
из вашего предыдущего каталога. Это клонирует репозиторий, но не извлекает какие-либо файлы. После этого скопируйте ваши файлы Starteam, а затем выполните hg addremove
,