#tortoisehg
#tortoisehg
Вопрос:
Я на ветке A, и у меня есть изменения в ней, которые, как я понимаю, должны быть в другой ветке. Я хочу обновить другую ветку без исчезновения моих изменений, но я не хочу, чтобы эти изменения оставались в ветке A. Я хочу сделать это без тайника или отложения. Могу ли я просто скопировать изменения в репозитории? Например, если у меня есть репозиторий A, я могу просто скопировать и вставить в репозиторий B, а затем, когда я переключаю ветки, я думаю, что репозиторий B остается тем же, но изменяется репозиторий A, или это неправильно?
Комментарии:
1. Почему вы не хотите использовать эти утилиты? Они эффективно разработаны для выполнения того, что вы описываете. Есть ли особая причина, по которой вы не хотите использовать эти функции? Как вы думаете, чего достигнет копирование и вставка, чего не достигнет тайник? Я не пытаюсь быть грубым, но это все равно, что сказать, что я хочу добраться до точки B, но я не хочу идти по прямой. Могут быть законные причины, но я думаю, что вашему вопросу были бы полезны некоторые дополнительные детали.
2. @zero298 Это больше похоже на то, что мне сказали не делать этого из-за проблем, которые могут возникнуть, и что было бы проще просто скопировать репозиторий
3. Ну, я бы сказал, что это нужно делать на полке. Но я бы использовал командную строку hg shelve, а не (другую) полку, встроенную в THG
4. Я обнаружил, что, имея разные репозитории, я могу передавать любые изменения в них на удаленный сервер и при необходимости извлекать из другого репозитория.
Ответ №1:
Одним из способов добиться этого будет выполнение
hg update <other branch> --merge
Это попытается обновить вас до другой ветки и перенести ваши незафиксированные изменения вместе. Это может привести к конфликтам слияния, которые вам затем придется разрешать.
Кроме того, я не уверен, почему вы не хотите достичь этого с помощью shelve. Использование shelve в таких случаях абсолютно нормально, и проблем возникнуть не должно. Если вы хотите сделать это отложенным способом, это будет выглядеть:
hg shelve
hg update <other-branch>
hg unshelve
unshelve
Шаг может привести к конфликтам слияния.