2015-01-22 3 views
0

Похоже, что ShelveExtension только пополняет ваши измененные файлы, оставляя без следа или удаленные.Mercurial: Невозможно снять сложенные изменения

Я новичок в Mercurial и исходя из git, поэтому для меня этого не ожидается.

Еще большая проблема Я не могу hg unshelve с тем, что я предполагаю, является сообщением об ошибке.

Смотрите ниже:

unshelving изменения 'главный'

временно совершает в ожидании изменений (восстановление с 'рт.ст. unshelve --abort')

перебазирования отложенных изменений

прерывания: незавершенные изменения

Это ожидаемое поведение, и я просто что-то пропустил?

Как я могу удалить мои измененные файлы без восстановления/фиксации/и т. Д.?

Есть ли расширение, которое ведет себя точно так же, как git stash?

Шаги для воспроизведения:

enter image description here

среды:

ОС: Windows 8

Mercurial: Mercurial Распределенная SCM (версия 3.0.1). Установлен как cygwin/usr/bin/hg (Tortoisehg не установлен, Windows hg установлен, но не используется)

Расширение: ShelveExtension.

ответ

2

Это ожидаемое поведение, и я просто что-то пропустил?

Да, это нормальное поведение. Вы должны сделать hg addremove (или вручную hg add и hg rm отдельных файлов), если вы хотите, чтобы Mercurial отслеживал создание и удаление файлов. Переименование должно выполняться с помощью hg mv. Это смутно похоже на git add, за исключением того, что вам не нужно делать это для измененных файлов.

Когда вы используете, ваш рабочий каталог должен быть чистым. По крайней мере, у него не должно быть недостающих файлов (с префиксом ! в hg st), а также никаких измененных файлов (с префиксом M). Вы всегда можете сделать временную фиксацию и hg strip позже.

Как я могу удалить мои измененные файлы без восстановления/фиксации/и т. Д.?

В общем случае нет разумного способа сделать это.Что делать, если полка содержит изменения в файле, который больше не существует? Если удаление файла было совершено, вы можете создать конфликт патча, и это то, что делает Mercurial. Но без конфликта с ними нет явного ответа на эту ситуацию.

Есть ли расширение, которое ведет себя точно так же, как git stash?

Насколько мне известно, но это выходит за рамки StackOverflow.

+0

Я понял, что если я хочу, чтобы я не имел дело с недостающими и необработанными файлами. –