2012-03-13 3 views
29

Я хочу вернуться в историю своего базара (сменить рабочее дерево), чтобы найти фиксацию, введшую определенную ошибку.Вернитесь к старой редакции на базаре

Я не хочу удалять какие-либо коммиты, просто измените рабочее дерево, пока не найду ошибку, а затем я хочу вернуться к последней версии, над которой нужно работать.

Какие две команды для этого (возвращаясь к ранее совершить, а затем проверяя последняя редакция снова)?

Заранее спасибо.

+0

Я никогда не использовал Bazaar, но в SVN вы называете «обновление до версии» и «обновление до головы». fyi, если соответствующие команды на базаре используют аналогичный язык. – jhocking

ответ

21

Возврат рабочего дерева к определенной ревизии N:

bzr revert -rN 

Чтобы вернуть рабочее дерево до последней ревизии в отрасли:

bzr revert 
+0

Это заставляет bzr учитывать, что ваше рабочее дерево имеет локальные изменения, а 'bzr blame' не делает то, что я ожидал. 'bzr update -r ' от ответа Дона сделал то, что я хотел лучше, это была чистая археология в виде «найти коммит, который ввел определенную ошибку». Использование 'bzr update -r ' и отслеживание с использованием 'bzr-вины' следуют лучше всего отслеживать переименования и рефакторинг. –

4

Чтобы изменить рабочее дерево государства, которое он имел в предыдущей ревизии N

bzr revert -r N 

Чтобы обновить вашу рабочую копию в состояние, имеет в последней редакции:

bzr up 

Bazaar Quick Reference Card

13

Есть два способа, чтобы принять ваше рабочее дерево назад во время пересмотра N. Первым была упомянут другими ответами здесь :

bzr revert -rN 

это изменит все файлы, необходимые, чтобы сделать ваше рабочее дерево соответствует содержимому ревизии N. При запуске bzr status он будет показывать все эти файлы в измененном виде. Если запустить bzr commit тогда все эти обратные изменения будут получать совершенные и ваша ГОЛОВНАЯ ревизия будет выглядеть как ревизии N.

Чтобы вернуться к последней версии в вашей отрасли:

bzr revert 

Вы также можете запустить bzr update , но это может привести к некоторым новым изменениям, если ваша ветка - это проверка.

Другой вариант для возвращения во времени заключается в следующем:

bzr update -rN 

Разница между ними состоит в том, что bzr update делает вид, что никаких изменений не было сделано. Просто ваше рабочее дерево устарело.

Чтобы вернуться к последней версии в вашей отрасли:

bzr update 
+0

'bzr update' именно то, что я искал –

4

Другие комментаторам, которые ответили с bzr revert -rN, безусловно, правы в том смысле, что это является прямым ответом на вопрос, как он был задан вопрос, тем не менее, если у вас есть большое количество поручений для проверки, чтобы проверить наличие ошибки, гораздо эффективнее использовать деление пополам.Однажды мне представилась ошибка, в которой последнее известное-хорошее совершение было 300 коммитов назад, а делая пополам обнаружила виновное совершение всего за 8 проходов (я имею в виду, что мне нужно было проверить только 8 коммитов из 300, чтобы найти один который ввел ошибку).

http://doc.bazaar.canonical.com/plugins/en/bisect-plugin.html

Если вы чувствуете перегружены числом возможных обязывает вам нужно проверить, это должно уменьшить количество усилий значительно вовлечены!

0

вы можете использовать BZR войти --forward, чтобы увидеть предыдущую версию с DESC сортировки

и вы можете использовать BZR вернуться -r для изменения вашей версии к

, если вы хотите, чтобы вернуться к последнему version just do bzr revert