2012-11-01 27 views
5
  1. utworzyć oddział,
  2. Potem dodać nowy folder, a nowy plik w tym folderze (czyli gałęzi),
  3. Potem preform svn add i svn commit.

Potem robię svn merge z powrotem do mojego bagażnika. Kiedy następnie svn commit do mojego pnia, nowy folder zostanie "dodany", ale plik wewnątrz folderu otrzyma akcję "Zastępowanie".Subversion "Wymiana" Akcja

Dlaczego otrzymuję status Zamień na tym pliku?

+1

Czy przed scaleniem miałeś plik o tej samej nazwie w bagażniku? – SomeWittyUsername

Odpowiedz

2

Według TortoiseSVN Manualzastąpiony stan oznacza:

Oryginalny element został usunięty, a nowy element o tej samej nazwie zastępuje go.

Oczywiście należy dokładnie sprawdzić wykonane czynności. Czy masz starsze wersje z tym samym folderem i plikami (mam na myśli ich nazwy)?

0

Czy masz jakieś foldery/pliki w lokalnej kopii, które zostały usunięte (lokalnie) i nie zostały zatwierdzone? Jeśli w folderze głównym został usunięty folder/plik, który został usunięty lokalnie, to usunięcie musi zostać zatwierdzone w repozytorium.

Twoja sytuacja brzmi, jakbyś nie posiadał jednocześnie lokalnej kopii. Na przykład, możesz usunąć folder/plik w swojej lokalnej kopii i nie zatwierdzić go. Następnie, podczas próby scalenia oddziału z lokalną kopią, lokalnie usunięty folder/plik (który został oznaczony do usunięcia, ale nie zatwierdzony) jest zastępowany przez folder oddziału o tej samej nazwie. Ponieważ usunięcie folderu/pliku nie zostało wcześniej zatwierdzone, oficjalny stan zostaje "zastąpiony".

+0

Chodzi o to, że nie ma usuwania zdarzeń. Po prostu dodajemy \ dostarczanie nowego folderu i pliku do mojego oddziału, a następnie łączenie \ comitting z powrotem do trunk. Folder i plik nigdy wcześniej nie istniał w bagażniku lub filii? – user1790682