Есть ли встроенная или расширенная версия 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,

Другие вопросы по тегам