Atšaukti tam tikrus „Subversion“ pakeitimus

Tarkime, kad saugyklos aplanke turiu įvykdymų rinkinį ...

 123 (250 new files, 137 changed files, 14 deleted files) 122 (150 changed files) 121 (renamed folder) 120 (90 changed files) 119 (115 changed files, 14 deleted files, 12 added files) 118 (113 changed files) 117 (10 changed files) 

Noriu gauti darbo kopiją, kurioje būtų visi 117 pakeitimo pakeitimai, tačiau NEĮSKAIČIUOTOS į pakeitimus 118 ir 120 pakeitimams.

EDIT. Kad problema taptų aiškesnė, noriu panaikinti 118 ir 120 pakeitimus, išlaikant visus kitus pakeitimus. Aplanke yra tūkstančiai failų šimtuose poaplankių.

Koks yra geriausias būdas tai pasiekti?

Atsakymas , dėka „Bruno“ ir „Bert“, yra komanda (šiuo atveju ištrinti 120 po pilno sujungimo)

 svn merge -c -120 . 

Atkreipkite dėmesį, kad versijos numeris turi būti nurodytas su minus. „-120“ ne „120“

29
24 сент. nustatė Ed Guiness 2008-09-24 13:05 '08 13:05 val. 2008-09-24 13:05
@ 3 atsakymai

Jei norite atšaukti pakeitimus 118 ir 120:

 svn up -r HEAD # get latest revision svn merge -c -120 . # undo revision 120 svn merge -c -118 . # undo revision 118 svn commit # after solving problems (if any) 

Taip pat žr. Aprašymą „ Atšaukti pakeitimus“ .

Atkreipkite dėmesį į -c -120 argumento minusą. --change (arba --change ) --change palaikomas, nes 1.4 versijos „Subversion“ versijos gali naudoti -r 120:119 .

31
24 сент. Atsakymą pateikė Bruno De Fraine . 2008-09-24 13:34 '08, 13:34, 2008-09-24 13:34

Yra lengvesnis būdas, jei naudojate „TortoiseSVN“, „Windows“ klientą „Subversion“. Tiesiog spustelėkite, kad peržiūrėtumėte atnaujintą darbo kopiją, pasirinkite pakeitimus, kuriuos norite atšaukti, dešiniuoju pelės mygtuku spustelėkite ir pasirinkite „Atmesti pakeitimus iš šių pakeitimų“.

Tai saugi operacija, nes pakeitimai taikomi tik jūsų darbo vietoje. Vis tiek turite saugoti savo saugyklą.

Tai yra viena iš geriausių „TortoiseSVN“ savybių. Aš visada buvau komandų eilės vaikinas, tačiau vėžlys pakeitė savo mintis.

7
27 сент. atsakymas pateikiamas 27 sep . 2008-09-27 09:41 '08 at 9:41 am 2008-09-27 09:41

Manau, kad galite sukurti filialą iš 117 peržiūros ir tada sujungti viską, išskyrus 118 ir 120.

 svn copy -r 117 source destination 

Tada patikrinkite šią svnmerge.py merge -r119,120-123 ir iš ten vykdykite svnmerge.py merge -r119,120-123

EDIT: Tai neatšaukia filialo / kamieno pakeitimų. Vietoj to naudokite svn merge .

-2
24 сент. Christian Davén atsakymas rugsėjo 24 d. 2008-09-24 13:14 '08 13:14 pm 2008-09-24 13:14

Kiti klausimai apie žymes arba užduoti klausimą