Как Hg Shelve Добавленные файлы еще не завершены

Я использую Mercurial Расширение Shelve, чтобы отложить изменения из командной строки. Он отлично работает, за исключением случаев, когда изменения, которые мне нравятся в полке, содержат новые добавленные файлы (a) в рабочем каталоге. По сути, он откладывает все, кроме новых добавленных файлов. Я проверил это, посмотрев на сохраненные изменения .hg/shelve.

Как отложить новые добавленные файлы (статус)?

Ответ 1

Я предполагаю, что вы говорите о не прошедших проверку файлах? Вам нужно добавить первый.

Так что просто hg add для ваших новых файлов, а затем hg shelve также отложит их.

Ответ 2

Этот ответ просрочен, но вы можете использовать следующую команду для хранения всех файлов (track/untrack):

hg shelve -A

или же

hg shelve --addremove

Об этой команде в документации сказано:

пометить новые/отсутствующие файлы как добавленные/удаленные перед полкой

Вы должны обратить внимание, используя эту функцию, потому что после хранения ваши старые неотслеживаемые файлы отслеживаются. Эти файлы должны быть зафиксированы в последнем коммите, если в команде hg commit не указаны файлы. Вы должны использовать HG забудь, если ты хочешь снова их не отслеживать.

Ответ 3

Спасибо, Том. Я использую Mac, так что это действительно не сработало. То, что работало еще одним меркурийным расширением "hgattic", о котором вы можете прочитать больше в моем блоге

http://margotskapacs.com/2012/10/shelving-uncommitted-changes-in-mercurial/

(см. раздел "Ошибка - добавленные файлы недействительной полки" )

Ответ 4

Как в основном пользователь Git, я нахожу Atlassian SourceTree самый простой способ справиться с нечетным Mercurial repo, который я должен работайте с. Он имеет стеллажи, встроенные. Цена правильная тоже (бесплатно).

Отказ от ответственности: я работаю для Atlassian

Ответ 5

Если командная строка не является абсолютно необходимой:

то просто введите (в Linux)

thg shelve

Это позволяет вам легко откладывать добавленные (но еще не зафиксированные) файлы.