Mercurial filemap exclude include ... разве не делает то, что говорят документы? - PullRequest
2 голосов
/ 06 января 2010

Конвертируя из Subversion, я пользуюсь возможностью, чтобы очистить репо и разделить его на три в основном независимых проекта. Но ... у меня есть файл с надписью

exclude bot
include bot/aobiosbot.py

Который должен включать все, кроме подкаталога «bot», но все же включать файл «aobiosbot.py» в этот каталог. Проблема в том, что конвертированный репо пуст (я тестирую с помощью "hg clone"). Если я добавлю «включить». в строке 1 я получаю все, кроме директории "bot" ... включая "bot / aobiosbot.py". Но я сказал включить этот файл.

(Действительно, документы для файловой карты плохие. Необходимо указать параметры исключения / включения точно . Я нахожу, что склонен согласиться с Джоэлом в отношении спецификаций ... по крайней мере, здесь. Кто бы гром ...)

Ответы [ 2 ]

1 голос
/ 06 января 2010

Хм, я признаю, что не смог понять, почему то, что у вас есть, не работает, но я могу подтвердить, что это не так.

Однако, с моим репозиторием src вроде этого:

src
|-- bot
|   |-- aobiosbot.py
|   `-- excludeme
`-- dir1
    `-- includeme

и такая файловая карта:

include dir1
include bot/aobiosbot.py

В итоге я получаю следующее:

dest
|-- bot
|   `-- aobiosbot.py
`-- dir1
    `-- includeme

Вы можете быстро создать эту карту, выполнив это в корне репо:

for thefile in * .* ; do
     echo include $thefile >> ../filemap
done

Я уверен есть лучший способ использования exclude, но без чтения кода для преобразования я не могу его найти.

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

Я решил это, взяв некоторый код из репозитория dev (файл hgext / convert / filemap.py). Работает намного лучше. : D

...