Как эмулировать 'притон мерзавца' в окаменелости, bzr?

Действительно ли возможно эмулировать поведение 'притона мерзавца' при использовании fossil/bzr?

В основном я интересуюсь обработкой следующего рабочего процесса:

  • в какой-то момент дерево исходного кода имеет состояние X, оно фиксируется
  • Я продолжаю двигаться к написанию нового кода, я пишу это некоторое время, и я вижу возможность рефакторинга
  • Я не могу фиксировать в этой точке, потому что изменение, которое я начал вносить, не завершается, это еще не атомарное
  • в этой точке я сделал бы 'притон мерзавца', сохраню текущую работу и возвратился бы для утверждения X
  • Я сделал бы рефакторинг и фиксацию, исходный код теперь имеет состояние Y
  • Я объединил бы исходный код в состоянии Y с кодом в притоне, завершил бы изменение для создания этого атомарным, затем фиксировал бы еще раз, продвигая исходный код указать Z

Я думаю, что обычно возможно эмулировать этот сценарий при использовании другого SCM путем ветвления кода в состоянии X вместо того, чтобы делать 'притон мерзавца', делая рефакторинг в том ответвлении, затем объединяя ответвление назад в основное. Но я знаю, что ветвление является не всегда дешевой операцией. Так есть ли какие-либо лучшие конкретные подходы, которые в конечном счете полагаются на определенные функции fossil/bzr?

14
задан SQB 24 June 2015 в 07:29
поделиться

2 ответа

Используйте команды bzr shelve и bzr unshelve .

27
ответ дан 1 December 2019 в 06:28
поделиться

Вы можете использовать команду patch вашей системы.

  • Сначала вы создаете «тайник», сохраняя сгенерированный diff как файл .patch:

    $ scmtool diff> working.patch

  • затем сбросьте ваш рабочий каталог.

  • позже примените патч с помощью:

    patch -p1 --dry-run

  • , а затем это сработает, удалите - пробный прогон для реального применения патча.

12
ответ дан 1 December 2019 в 06:28
поделиться
Другие вопросы по тегам:

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