2010-10-06 12 views
33

Mam kilka poprawek, które zrobiłem na oddziale, które chcę scalić z powrotem do bagażnika. Nie chcę scalić całej gałęzi w bagażnik, tylko kilka testów, które zrobiłem. Jaka jest prawidłowa składnia tego działania?SVN scala poszczególne wersje plików z gałęzi do pnia

TY, Fred

+0

Czy odpowiedź była ważna? Mam ten sam problem, ale ponieważ nie zaakceptowałeś, nie jestem pewien, czy powinienem spróbować, czy nie. – Nenotlep

Odpowiedz

35

Nie jestem pewien, co dokładnie pytasz jak tytuł mówi o łączenie pojedynczych plików, ale tekst zapytania rozmów o pojedynczych zmian. W przypadku łączenia pojedynczych poprawek trzeba: (do scalić zmiany popełnione w wersjach 100, 105, 115)

cd trunk 
svn merge -c 100 -c 105 -c 115 http://..../branches/mybranch . 

Jeśli chcesz połączyć tylko część rewizji 100, który wpływa file.cpp:

cd trunk/path/to/file.cpp 
svn merge -c 100 http://../branches/mybranch/path/to/file.cpp file.cpp 
1

Chcesz scalić cały oddział. Począwszy od wersji 1.5 informacje o tym, co zostało scalone, są przechowywane w repozytorium - w usłudze svn:mergeinfo. Po scaleniu pojedynczego pliku svn:mergeinfo zostanie ustawiony głęboko w drzewie. Gdy ktoś próbuje wykonać scalenie od początku projektu, svn:mergeinfo nie będzie istniał i będzie musiał podjąć decyzję o wzięciu tego zestawu zmian. Jeśli naprawdę nie chcesz, aby zostało scalone, powinieneś połączyć się ze szczytem projektu, a następnie zatwierdzić tylko katalog najwyższego poziomu (svn:mergeinfo będzie jedyną zmianą) i żądany plik.

Way more than anyone ever wanted to know about mergeinfo

+0

Aby zrozumieć, co jest tu tłumaczone, przejdź tutaj, aby uzyskać jeszcze lepsze wyjaśnienie: https://stackoverflow.com/a/12732085/1420441 –

Powiązane problemy