2010-02-07 13 views

Odpowiedz

2

Więc bez lepszej odpowiedzi, oto najlepszy mechanizm Mam wymyślić:

# file was added 
touch a 
svn add a 
svn ci 

# file was moved without versioning 
mv a b 

# file versioning is added 
mv b a 
svn mv a b 

pamiętając nie można svn cp a b, jak svn będzie wprost odmówić skopiować do celu, chyba że istnieje to jest katalog.

+3

Nigdy nie przestaje mnie zadziwiać, jak SVN nie radzi sobie z takimi podstawowymi przypadkami użycia. –

2

Nie można tego nagrać.

Co można zrobić, to ponownie wykonać kopię i zastąpić stary cel kopiowania.

+0

co masz na myśli przez "stary cel kopiowania"? –

+0

Powiedziałeś, że operacja już nastąpiła. W "starym celu kopiowania" wskazuję miejsce docelowe tej operacji kopiowania. – tangens

+0

Czy myślisz, że możesz dodać kilka rzeczy z linii poleceń, aby wyjaśnić, co masz na myśli? Afaict to najlepsza odpowiedź, ale bardzo niejednoznaczna. –

0

Subversion obsługuje tylko zapis łączy po fakcie, nie kopie i/lub przesuwa ...

0

wprost, nie, nie ma sposobu, aby to zrobić w Subversion. Zakładając, że nie wprowadziłeś żadnych innych zmian, prawdopodobnie chcesz zrobić to svn revert, a następnie wykonać svn copy, aby Subversion wiedziało, że skopiowałeś plik. Lub jeśli naprawdę nie interesuje Cię historia dla skopiowanego pliku, tylko nowa lokalizacja to svn add.

Powiązane problemy