Подвижный избирательный подход к выбору изменяется для фиксации

Эта ошибка указывает на то, что вы предоставляете неверное значение для метода входа для подключения к Discord API, если вы используете токен снежинки непосредственно в методе, убедитесь, что он заключен в кавычки, если вы используете что-то например, переменные среды, убедитесь, что они правильно настроены, а затем значения не возвращают нежелательного значения. Если вы исчерпали эти параметры, вернитесь в консоль Discord Developers и убедитесь, что токен правильный.

57
задан Kevin Panko 7 June 2011 в 15:29
поделиться

4 ответа

MQ as Chad mentioned are one way. There's also more lightweight solutions:

  • Record extension which works roughly the same way as darcs record. It's distributed with mercurial.
  • Shelve extension which allows you to "shelve" certain changes, allowing you to commit only a subset of your changes (the ones that are not shelved)
34
ответ дан 24 November 2019 в 19:29
поделиться

Я считаю, что Mercurial Queues выполняет эту роль для Mercurial. Там есть ссылка на неплохое руководство .

3
ответ дан 24 November 2019 в 19:29
поделиться

Учебник Mercurial Queues ужасен для этого варианта использования. Все примеры, которые я видел, предполагают, что вы еще не совершили фиксацию и обновляете один патч. В большинстве случаев это не так, и у вас есть 2 или 3 коммита, которые вы хотите объединить или изменить каким-либо другим способом.

Допустим, у вас есть такая история:

---O---O---A---B---C

Первый пример - это squash фиксирует A, B и C. Сначала инициализирует mq:

$ hg qinit

Теперь нам нужно «импортировать» коммиты A, B и C в очередь исправлений. Предположим, это последние 3 коммита. Мы можем использовать синтаксис ревизии "-N", чтобы импортировать их следующим образом:

$ hg qimport -r -3:-1

Это означает импорт в виде исправлений из 3 исправлений назад до последней фиксации. Вы можете проверить статус этих исправлений с помощью hg qseries . Он должен выглядеть примерно так:

$ hg qseries
101.diff
102.diff
103.diff

Где числа 101, 102 и 103 соответствуют номерам локальных ревизий коммитов A, B и C. Теперь эти исправления применены , что означает, что описываемые ими изменения уже находятся в рабочей копии. Вы можете избавиться от изменений в рабочей копии и удалить их из истории коммитов, сохранив их только в форме патча, используя hg qpop . Вы можете либо сказать hg qpop; hg qpop , чтобы удалить изменения C и B из стека, или укажите патч, который нужно «вытолкнуть». В этом случае это будет примерно так:

$ hg qpop 101.diff
now at: 101.diff

Теперь у вас есть исправления для коммитов B и C в очереди исправлений, но они не применяются (их изменения были «потеряны» - они существуют только в очереди исправлений площадь). Теперь вы можете складывать эти патчи в последний, т.е. мы создаем новый коммит, который является эквивалентом суммы изменений A + B + C.

$ hg qfold -e 102.diff 103.diff

Откроется ваш редактор, и вы сможете изменить сообщение фиксации. По умолчанию сообщение представляет собой объединение сообщений фиксации для изменений A, B и C, разделенных звездочками. Приятно то, что hg qfold завершит исправления с помощью табуляции, если вы используете bash и у вас есть исходный код сценария hg-completion. Это оставляет историю в таком виде, где A + B + C - это один коммит, который представляет собой комбинацию 3 патчей, которые нас интересуют:

---O---O---A+B+C

Другой вариант использования - если у нас такая же история, как и раньше, но мы хотим удалить патч B и объединить A + C. На самом деле это очень похоже на вышеизложенное. Когда вы дойдете до шага qfold, вы просто сбросите последнюю фиксацию, а не последние 2 фиксации:

$ hg qfold -e 103.diff

Это оставляет изменение для B в очереди исправлений, но он не применяется к рабочей копии, и его фиксация отсутствует в истории. Вы можете увидеть это, запустив:

$ hg qunapplied
102.diff

История теперь выглядит следующим образом, где A + C - это одна фиксация, которая объединяет изменения A и C:

---O---O---A+C

Последний вариант использования может заключаться в том, что вам нужно применить только фиксацию C. Вы можете сделать это, запустив qimport, как указано выше, и выкинете все патчи, которые вам не нужны:

$ hg qpop -a

Флаг -a означает, что вы удалите все патчи. Теперь вы можете применить только тот, который вам нужен:

$ hg qpush 103.diff

Это оставляет вам эту историю:

---O---O---C

Как только вы закончите со всем этим, вам нужно закончить возиться с очередью. Это можно сделать с помощью:

$ hg qfinish -a

Итак, вот и мы. Теперь вы можете запустить hg push и зафиксировать только то, что вы хотите, или hg email согласованный патч в список рассылки.

где A + C - это отдельная фиксация, которая объединяет изменения A и C:

---O---O---A+C

Последний вариант использования может заключаться в том, что вам нужно применить только фиксацию C. Вы бы сделали это, запустив qimport, как указано выше, и вы бы выскочили все патчи, которые вам не нужны:

$ hg qpop -a

Флаг -a означает удаление всех патчей. Теперь вы можете применить только тот, который вам нужен:

$ hg qpush 103.diff

Это оставляет вам эту историю:

---O---O---C

Как только вы закончите со всем этим, вам нужно закончить возиться с очередью. Это можно сделать с помощью:

$ hg qfinish -a

Итак, вот и мы. Теперь вы можете запустить hg push и зафиксировать только то, что вы хотите, или hg email согласованный патч в список рассылки.

где A + C - это отдельная фиксация, которая объединяет изменения A и C:

---O---O---A+C

Последний вариант использования может заключаться в том, что вам нужно применить только фиксацию C. Вы бы сделали это, запустив qimport, как указано выше, и вы бы выскочили все патчи, которые вам не нужны:

$ hg qpop -a

Флаг -a означает удаление всех патчей. Теперь вы можете применить только тот, который вам нужен:

$ hg qpush 103.diff

Это оставляет вам эту историю:

---O---O---C

Как только вы закончите со всем этим, вам нужно закончить возиться с очередью. Это можно сделать с помощью:

$ hg qfinish -a

Итак, вот и мы. Теперь вы можете запустить hg push и зафиксировать только то, что вы хотите, или hg email согласованный патч в список рассылки.

$ hg qpop -a

Флаг -a означает удаление всех исправлений. Теперь вы можете применить только тот, который вам нужен:

$ hg qpush 103.diff

Это оставляет вам эту историю:

---O---O---C

Как только вы закончите со всем этим, вам нужно закончить возиться с очередью. Это можно сделать с помощью:

$ hg qfinish -a

Итак, вот и мы. Теперь вы можете запустить hg push и зафиксировать только то, что вы хотите, или hg email согласованный патч в список рассылки.

$ hg qpop -a

Флаг -a означает удаление всех исправлений. Теперь вы можете применить только тот, который вам нужен:

$ hg qpush 103.diff

Это оставляет вам эту историю:

---O---O---C

Как только вы закончите со всем этим, вам нужно закончить возиться с очередью. Это можно сделать с помощью:

$ hg qfinish -a

Итак, вот и мы. Теперь вы можете запустить hg push и зафиксировать только то, что вы хотите, или hg email согласованный патч в список рассылки.

16
ответ дан 24 November 2019 в 19:29
поделиться

Попробуйте qct (инструмент Qt Commit). В нем есть функция «выбрать изменения», которая запускает инструмент трехстороннего слияния, чтобы вы могли отменить отдельные изменения. После фиксации те изменения, которые вы "отменили", возвращаются.

2
ответ дан 24 November 2019 в 19:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: