| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > УП: Инструменты > hg (mercurial). пересекающиеся ветки |
| Автор: Alchimik 12.8.2013, 09:11 |
| Помогите пожалуйста разобраться с тем как работает hg. Есть две головы и некоторые незафиксированные изменению, которые надо закоммитить не на текущую ветку, а на соседнюю. А потом надо замержить. hg stat ~~ список изменённых файлов ~~ $ hg glog -l 4 @ набор изменений: 1365:267e9df0967f | метка: tip | o набор изменений: 1364:5456e408b0ef | родитель: 1362:3ab2aeed2158 | | o набор изменений: 1363:45957ac8ab92 |/| родитель: 1362:3ab2aeed2158 | | родитель: 1361:f3a4cc61b342 | | o | набор изменений: 1362:3ab2aeed2158 | | родитель: 1355:c41e275d35ae | | $ hg up -r 1363 прервано: пересекающиеся ветки (слейте ветки или используйте --clean чтобы отбросить изменения) Просто апнуться на соседнюю ветку не получается. 1) Что значить "пересекающиеся ветки" ? Пробую сначала замержить $ hg merge -r 1363 прервано: исходящие незафиксированные изменения (используйте 'hg status' чтобы посмотреть изменения) 2) Что значит "исходящие незафиксированные изменения" ? Ну раз напрямую апнуться не получилось, попробую дойти до нужной головы через общего предка $ hg up -r 1362 3 файлов обновлено, 0 слито, 0 удалено, 0 c конфликтами $ hg up -r 1363 5 файлов обновлено, 0 слито, 0 удалено, 0 c конфликтами $ hg glog -l 5 o набор изменений: 1365:267e9df0967f | метка: tip | o набор изменений: 1364:5456e408b0ef | родитель: 1362:3ab2aeed2158 | | @ набор изменений: 1363:45957ac8ab92 |/| родитель: 1362:3ab2aeed2158 | | родитель: 1361:f3a4cc61b342 | | o | набор изменений: 1362:3ab2aeed2158 | | родитель: 1355:c41e275d35ae | | Сработало. 3) Почему это сработало и почему тогда hg не хотел переходить сразу к 1363? дальше коммит, мерж, никаких- проблем. Но хотелось бы понять, как всё же hg работает. |