Есть ли встроенная или расширенная версия Mercurial для удаления всех «не-Mercurial» файлов из корневого каталога репозитория? - PullRequest
3 голосов
/ 14 января 2010

Мне бы хотелось, чтобы все файлы находились в корневой папке репозитория, кроме .hg /, .hgignore, .hgtags и т. Д. Есть ли встроенное или существующее расширение Mercurial для этого?

Я реализовал не-hg скрипт с жестким кодом «mercurial files», но мне нужен программный метод исключения файлов, связанных с mercurial.

Я пытаюсь отразить сервер управления некоммерческими конфигурациями (Starteam), периодически удаляя все файлы, выполняя чистую проверку из Starteam и затем запуская hg addremove, а затем регистрируясь.

Ответы [ 3 ]

3 голосов
/ 14 января 2010

Это не совсем то, что вы ищете, но hg update -r null возвращает вас к ревизии до первой ревизии, которая, очевидно, не содержит файлов. Это оставит ваш .hg на месте, но .hgtags и .hgignore пропадут. Однако они являются отслеживаемыми файлами, поэтому они возвращаются с hg update, как и любые другие файлы.

0 голосов
/ 01 апреля 2011

Скопируйте весь материал Starteam в подпапку корневой папки вашего репо.

Как это:

/MyRepo/
/MyRepo/.hg
/MyRepo/.hgignore
/MyRepo/Starteam/
/MyRepo/Starteam/Starteam file 1
etc.

Таким образом, вам нужно только удалить эту единственную папку «Starteam», без необходимости явно игнорировать определенные файлы Mercurial.

0 голосов
/ 14 января 2010

Для каждой версии, которую вы извлекаете из Starteam, я бы предложил создать новый каталог.

В этом каталоге выполните hg clone -U из предыдущего каталога.Это клонирует репозиторий, но не извлекает какие-либо файлы.После этого скопируйте ваши файлы Starteam и затем выполните hg addremove.

...