Mam repozytorium subversion, które ma projektktóre zaktualizowałem wcześniej. (zmieniono na .net 4.0 i nowsze studio graficzne), jednak klient nie był gotowy na zmianę, więc sprawdziłem nieco starszą wersję projektu i wprowadziłem kilka zmian.
Subversion nie pozwoli mi zatwierdzić nowych zmian, ponieważ jest nieaktualny. Rozumiem to zachowanie, ale chcę je zastąpić. Jak mogę to zrobić?
Odpowiedzi:
1 dla odpowiedzi № 1Nie jestem pewien, czy „zastąpienie” tego ograniczenia przyniosłoby pożądany rezultat. Myślę, że pojawia się pytanie, co chcesz zrobić ze zmianami między starą wersją a teraz?
Jeśli chcesz się ich pozbyć:
- Odwróć scalanie aż do żądanej wersji.
- Zatwierdź scalenie odwrotne.
- Wprowadź zmiany i stamtąd pracuj.
Jeśli chcesz wysłać je do oddziału:
- Oddział we wcześniejszej wersji.
- Scal zakres zmian od tej wersji do bieżącej wersji w gałęzi i zatwierdź je.
- Wykonaj trzy powyższe kroki.
Jeśli chcesz zachować je w bagażniku jako coś, co musi się wydarzyć, ale po prostu chcesz szybko śledzić nowe zmiany dla klienta do produkcji:
- Oddział we wcześniejszej wersji.
- Dokonaj tam zmian.
- Wdróż z tej wersji oddziału.
- Połącz zakres zmian w oddziale z powrotem w pień i kontynuuj pracę.
Czy to zasadniczo obejmuje to, czego szukaszdo zrobienia? A może gdzieś cię źle zinterpretowałem? Z SVN takie rzeczy mogą być trochę uciążliwe. Ale zaufaj mi, łączenie zmian w taki sposób, jak chce SVN, jest lepsze niż próbowanie oszukać SVN. To ostatnie spowoduje więcej bólów głowy na dłuższą metę.