2009-09-02 10 views
9

Mam wiele projektów w zależności od siebie w bagażniku. Zrobiłem kilka zobowiązań , co doprowadziło do problemów z zależnościami.
I tagged/trunk do/tags/trunk-experimental i teraz chcę "przywrócić" ostatnie N zmian (które doprowadziły do ​​problemów), więc , że mój/trunk jest znowu dobry.Subversion: Czy trunk może zostać zresetowany do poprzedniej wersji po rozgałęzieniu/tagowaniu?

Czy można to zrobić w prosty sposób?

Starałem się po prostu sprawdzić z pewnej rewizji, ale to jest zły, ponieważ aktualizacja zmienia wszystko z powrotem do najnowszej wersji (który zawiera problemy z zależnościami)

Oto oś czasu, aby zrozumieć moje pytanie lepiej:

  • wersja 1000 (dobrze)
  • dokonał kilku zmian, które prowadzą do problemów z zależnościami,
    Severa l zobowiązuje, teraz w rewizji 1050 (złe)
  • skopiowany/trunk/tags/na pniu-eksperymentalnej (rewizja 1051)
  • nie wiem, co zrobić z pnia do "przywrócić" go z powrotem do rewizji 1000

Odpowiedz

19

Wystarczy zrobić odwrotny merge:

svn merge -r1051:1000 . 

i zobowiązać się jak zwykle.

+1

Mam denerwujący zwyczaj używania opcji "--dry-run" do "svn merge", zanim zrobię to naprawdę ... po prostu dla szybkiego sprawdzenia poprawności w zakresie operacji. Ale nie jestem Jon Skeet! –

+0

Dzięki! Zadziałało. Najpierw musi zaktualizować wszystkie projekty. –

+3

@ivan_ivanovich_ivonoff należy oznaczyć to jako odpowiedź, a następnie –

Powiązane problemy