2012-03-13 14 views
29

Chcę wrócić do historii mojego bazaru (zmienić działanie drzewa), aby znaleźć commit, który wprowadził pewien błąd.Wracam do starej wersji w Bazarze

Nie chcę usuwać żadnych zatwierdzeń, po prostu zmieniaj moje robocze drzewo, dopóki nie znalazłem błędu, a następnie chcę wrócić do najnowszej wersji do pracy.

Jakie są dwa polecenia za to (wracając do wcześniej popełnić a potem wymeldowania się najnowsza wersja znowu)?

Z góry dziękuję.

+0

Nigdy nie korzystałem z Bazaru, ale w SVN operacje, do których się odnosisz, to "aktualizacja do wersji" i "aktualizacja do głowy". fyi na wypadek, gdyby odpowiednie polecenia w Bazarze używały podobnego języka. – jhocking

Odpowiedz

21

Aby przywrócić działające drzewo z powrotem do określonej wersji N:

bzr revert -rN 

Aby przywrócić drzewo roboczą do najnowszej wersji w branży:

bzr revert 
+0

Powoduje to, że bzr uważa, że ​​twoje drzewo robocze ma lokalne zmiany, i 'bzr winien' wtedy nie robi tego, czego się spodziewałem. 'bzr update -r ' z odpowiedzi Dona zrobiłem to, co chciałem lepiej, co było czystą archeologią w postaci "znajdź commit, który wprowadził pewien błąd". Użycie 'bzr update -r ' i śledzenie z powrotem za pomocą 'bzr blame' following działa lepiej, aby śledzić zmiany nazw i refaktoryzacji. –

4

Aby zmienić drzewa roboczy do stanu, że mieliśmy w poprzedniej rewizji N

bzr revert -r N 

Aby zaktualizować swoją kopię roboczą do stanu, w jakim ma w najnowszej wersji:

bzr up 

Bazaar Quick Reference Card

13

Istnieją dwa sposoby, aby zabrać swoje drzewo roboczą w czasie do zmiany N. Pierwszy zostało wymienione tutaj przez innych odpowiedzi :

bzr revert -rN 

to zmodyfikuje wszystkie pliki niezbędne do pracy drzewo dopasować zawartość rewizyjnej N. Jeśli prowadzisz bzr status pokaże wszystkie te pliki jak zmieniło. Jeśli prowadzisz bzr commit następnie wszystkie te zacofane zmiany dostanie zaangażowana a wersja HEAD będzie teraz wyglądać rewizyjnej N.

Aby powrócić do najnowszej wersji w swojej branży:

bzr revert 

Można również uruchomić bzr update , ale to może przynieść kilka nowszych wersji, jeśli twój oddział jest kasą.

Inną opcją dla cofając się w czasie, to:

bzr update -rN 

Różnica między nimi jest, że bzr update sprawia, że ​​wygląda tak, jakby żadne zmiany zostały dokonane. Chodzi o to, że twoje drzewo robocze jest nieaktualne.

Aby powrócić do najnowszej wersji w swojej branży:

bzr update 
+0

'Aktualizacja bzr' jest dokładnie tym, czego szukałem –

4

Inne komentujących, którzy odpowiedzieli z bzr revert -rN pewnością są poprawne w tym sensie, że jest bezpośrednią odpowiedzią na pytanie, jak to pytano, jednak jeśli masz dużą liczbę zatwierdzeń do sprawdzenia w celu przetestowania obecności błędu, znacznie wydajniej jest używać bisekcji.Pewnego razu przedstawiono mi błąd, w którym ostatnie znane dobre zatwierdzenie popełniono 300 razy, a bisekcja uznała winę za popełnienie błędu tylko w 8 przejściach (to znaczy, musiałem tylko sprawdzić 8 commitów na 300, aby znaleźć tę jedną który wprowadził błąd).

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

Jeśli czujesz się przytłoczony przez liczbę możliwe zobowiązuje trzeba sprawdzić, powinno to zmniejszyć ilość wysiłku związanego znacznie!

0

można użyć bzr zalogować --forward aby zobaczyć swoje poprzednie wersje z DESC sortowania

i można użyć bzr przywrócić -r zmian wersję do

jeśli chcesz powrócić do ostatniego wersja po prostu bzr rewers