2012-04-02 2 views
1

Я работаю с Mercurial репозиторий, который имеет следующую структуру:Как вы заменяете подпорок Mercurial на папку?

-- Root 
    -- .hgsub 
    -- SubDir 
     -- SubSubDir 
     -- SubRepo 

.hgsub файл объявляющий SubRepo следующим образом:

SubDir/SubRepo = ssh://server//subcomponent 

мне нужно, чтобы избавиться от subrepo и заменить его фактическая папка в репо под названием SubRepo, поэтому я сделал то, что сказал hg documentation, удалив файл .hgsub и совершив. Затем я поместил свой собственный материал в SubRepo и совершил его, оставив меня:

-- Root 
    -- SubDir 
     -- SubSubDir 
     -- SubRepo 

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

Есть ли лучший способ заменить субрепозитор? Или есть что-то умное, что я должен сделать, чтобы сделать эту работу лучше, например, использовать опцию потянуть или временно изменить мой .hgsub, чтобы указать на новую папку, а не на ее удаление?

+0

Прочтите внимательно «2.1. Пуск» о тривиальных относительных дорожках и ** используйте subrepo ** с относительным путем –

ответ

2

Вы сделали это правильно. Как только вы вытащите из репозиториев, которые все еще есть .hgsub, вам нужно объединить свою голову (которая не имеет .hgsub) с их (что делает), и когда вы удалите файл как часть этого слияния/фиксации, вы закончите только с одной головой, у которой нет .hgsub, и все будет в этом мире. Пока вы не обновляете «hg update» до их удаленной головки, у которой все еще есть .hgsub, все должно быть хорошо.

+0

Aha! Этот ответ дал мне уверенность в том, чтобы ударить по нему еще немного. Оказывается, что проблемы, с которыми я столкнулся, были побочными эффектами использования fetch (и, вероятно, его использования в черепахе). Если я делаю прямое притяжение и слияние, у меня нет таких же проблем. Благодаря! =) –

+0

Нет проблем. Лично я полностью избегаю. Вытягивание, обновление и слияние - это полностью логически различные действия в DVCS и объединение трех приводит к боли, недоразумениям и дерьмовым сообщениям о совершении ваших слияний. :) –

Смежные вопросы