2009-10-03 6 views
7

Właśnie zacząłem pracować nad zmianami w bagażniku podczas repozytorium SVN, sądząc, że będą one nieco mniejsze. Teraz zaczynam zdawać sobie sprawę, że prawdopodobnie powinienem właśnie założyć nowy oddział. Zamiast tworzyć gałąź, a następnie przesuwać do niej poszczególne elementy, czy istnieje jakiś sposób utworzenia nowej gałęzi, a następnie zatwierdzenia zmian w jej kopii roboczej?Czy jest jakiś sposób, aby zatwierdzić zmiany dokonane przeze mnie w moim repozytorium SVN trunkingu do gałęzi?

Odpowiedz

13
  1. zrobić nowy oddział z miejsca, gdzie rozpoczęła prace
  2. przełącznik w nowo utworzonym oddziale
  3. popełnienia lokalnych zmian (zobowiąże się do nowego oddziału)

NIE ROBI KAŻDY KASUJ

Robię to z svn 1.6.5, działa bez problemów, ale jeśli jesteś naprawdę paranoikiem, możesz wykonać następujące czynności:

  1. stworzyć łatkę z bieżącej kopii roboczej
  2. utworzyć oddział
  3. przełącznik do niego
  4. zastosować poprawkę
  5. popełnić
+0

Jedynym problemem jest to, że rozgałęzienia z mojej kopii roboczej nigdy nie wydają się działać dobrze dla mnie. Przypuszczam, że powinienem spróbować drugiego zestawu kroków. –

+0

Właściwie rozgałęzienia można wykonywać bez kopii roboczej. Jeśli używasz TortoiseSvn na przykład z przeglądarką repozytorium lub z linii poleceń. – jdehaan

+0

Chciałem opublikować referencje, ale svnbook.red-bean.com wydaje się być nieosiągalny w tej chwili przynajmniej z Europy ... – jdehaan

2

Co o stworzenie patcha z bieżącej pracy z svn diff , a następnie utworzenie nowego oddziału i zastosowanie łaty do oddziału z patch -p0?

2

Możesz bezpośrednio rozgrupować stan kopii roboczej na adres URL za pomocą komendy svn copy. Utworzony oddział będzie zawierał lokalne modyfikacje.

Niektóre pułapek:

  • może pojawić się błędy mówiące coś jak "Plik już istnieje". Jest to spowodowane przez niedopasowanie wersji podstawowych w swojej kopii roboczej, a dokładniej między plikiem i jego folderem nadrzędnym. Jednym możliwym rozwiązaniem jest wykonanie svn update przed próbą rozgałęzienia w ten sposób.
  • po svn copy, działająca kopia pozostanie niezmieniona. Nadal będzie wskazywał na bagażnik. Wyświetli również lokalne modyfikacje w swoim stanie. Ty powinieneś najpierw cofnąć te modyfikacje, czy to , czy nadal używasz kopii roboczej, jak jest, czy też przełączasz ją do nowego oddziału na numer .
Powiązane problemy