2012-11-30 17 views
7

Pracuję nad kodem zwykle w bagażniku, ale z powodu ostatnich zmian musiałem zmienić mój obszar roboczy na gałąź.jak dokonać zatwierdzenia do różnych gałęzi svn bez przełączania

Czy można popełnić żadnych zmian w bagażniku pracując w oddziale bez faktycznie włączeniu projektu do tułowia

Zasadniczo chcę, aby dokonać zmian zarówno w bagażniku i gałęzi bez konieczności przełączania iz powrotem ponownie i ponownie

Odpowiedz

6

Krótka odpowiedź: Nie

Dlatego Bóg stworzył w pierwszej kolejności svn switch. Pozwala na zmianę głównej gałęzi katalogu roboczego bez utraty pracy.

myśleć o tym w ten sposób: Ile razy deweloper złamał, bo już coś powiedział do siebie „Hej, nie mam na to przetestować Jest to moll zmiana”?

Nawet jeśli Subversion pozwoli ci robić to, co chcesz, to nadal będzie to zły pomysł. Zasadniczo dokonywałbyś zmian w bazie kodu bez żadnego realnego sposobu upewnienia się, że działają one w pierwszej kolejności. Z tego powodu Subversion wymaga posiadania katalogu roboczego przed wprowadzeniem zmian *. Jak testowałbyś swoje zmiany?

Jeśli nie chcesz używać svn switch bo nie chcą stracić pracy, można wykonać następujące czynności:

  • Skopiuj cały katalog roboczy do innej lokalizacji, a następnie użyć svn switch na jednym zrobić ten bagażnik.
  • Zakończ pracę w swojej branży. Zatwierdź zmiany i zanotuj numer wersji. Teraz albo wykonaj svn co lub svn switch, aby uzyskać kopię roboczą bagażnika. Następnie użyj svn merge -r, aby scalić zmiany w trunk. I, oczywiście, przetestuj swoje zmiany przed ich popełnieniem.

* Subversion zezwala mkdir, cp, mv i rm do pracy bezpośrednio na adres URL, ale to przede wszystkim pozwalają manipulować oddziały bez konieczności tworzenia katalogu roboczego.

+1

Krótka odpowiedź: użyj git – Winter

0

Sprawdź bagażnik w innym folderze.
Wprowadź zmiany w bagażniku i sprawdź je. Następnie połącz je z odgałęzieniem i sprawdź scalenie.

0

Nie można popełnić na ścieżkę poza WC URL (patrz svn info WCROOT)

Powyższa reguła oznacza - jeśli WC korzeń jest na poziomie, który jest wspólny rodzic gałęzi i pnia, można popełnić w obie lokalizacje w tym samym czasie (gałąź i bagażnik będą podkatalogami wewnątrz WC). Wspólna rodzic jest repozytorium root, aby nie kasa cały repo, można grać z --depth i --setdepth opcji popełnić/update

Powiązane problemy