Jak przenieść plik (lub folder) z jednego folderu do drugiego w TortoiseSVN?

247

Chciałbym przenieść plik lub folder z jednego miejsca do drugiego w tym samym repozytorium bez konieczności korzystania z przeglądarki Repo Browser i bez tworzenia dwóch niezależnych operacji dodawania / usuwania. Korzystanie z przeglądarki Repo działa dobrze, z tym wyjątkiem, że kod będzie zawieszony w stanie zepsutym, dopóki nie zostaną później zarejestrowane żadne obsługiwane zmiany (na przykład plik .csproj).

Aktualizacja: ludzie sugerowali „przenieś” z wiersza poleceń. Czy istnieje odpowiednik TortoiseSVN?

jeremcc
źródło

Odpowiedzi:

448

Aby przenieść plik lub zestaw plików za pomocą Tortoise SVN, kliknij prawym przyciskiem myszy i przeciągnij pliki docelowe do ich miejsca docelowego i zwolnij prawy przycisk myszy. Menu podręczne będzie miało SVN move versioned files hereopcję.

Pamiętaj, że folder docelowy musi być już dodany do repozytorium, SVN move versioned files hereaby pojawiła się opcja.

Mark Embling
źródło
32
Musiałem zrobić to samo i to działało idealnie. Nigdy nie wiedziałem o tej opcji. Wielkie dzięki!
DavGarcia
4
Dziękuję Ci! Uwaga: Następnie pokazuje w dzienniku zmian kilka usuniętych i dodanych plików i katalogów, ale historia zmian podąża za tymi plikami. :)
Yoh Suzuki,
1
Co mam zrobić, jeśli plik został już przeniesiony, ale svn nadal uważa, że ​​znajduje się on w innym katalogu?
Shawn Mclean
4
Musisz także (oczywiście w wersji 1.7.6) upewnić się, że katalog, do którego przenosisz pliki, jest już dodany do subversion
icc97
Legendarna odpowiedź sprawiła, że ​​mój dzień, ty!
Cyril Gandon
22

W Eksploratorze Windows prawym przyciskiem myszy kliknij i przeciągnij plik z miejsca, w którym ma być, do żądanego miejsca. Po zwolnieniu prawego przycisku myszy zobaczysz menu kontekstowe z opcjami, takimi jak „SVN Przenieś plik wersji tutaj”.

http://tortoisesvn.net/most-forgotten-feature

yknott
źródło
5

Jeśli chcesz przenosić pliki i aktualizować pliki csproj, najprostszym sposobem jest użycie wtyczki Visual Studio, takiej jak AnkhSVN . Spowoduje to automatyczne zatwierdzenie zarówno akcji przenoszenia (jako usunięcia + dodania z historią, ponieważ tak działa Subversion), jak i zmiany w .csproj

Sander Rijken
źródło
4

W wierszu polecenia możesz pisać svn mv path1 path2. Spowoduje to utworzenie operacji dodawania i usuwania, ale tak naprawdę nie ma sposobu na obejście tego - o ile mi wiadomo - w Subversion.

Clinton N. Dreisbach
źródło
1

Użyj polecenia RENAME Tortoise i wpisz ścieżkę względną („folder / plik.ext”).

WhyNotHugo
źródło
0

Jak wspomniano wcześniej, utworzysz polecenia dodawania i usuwania. Możesz użyć svn move zarówno na kopii roboczej, jak i adresie repozytorium. Jeśli użyjesz kopii roboczej, zmiany nie zostaną zatwierdzone - musisz zatwierdzić w osobnej operacji.

Jeśli przeniesiesz adres URL, musisz podać - wiadomość, a zmiany zostaną natychmiast odzwierciedlone w repozytorium.

dwilkins
źródło
0

Użyj svn movepolecenia, aby przenieść plik / folder.

acemtp
źródło
0

Musisz przeciągnąć plik prawym przyciskiem myszy. W momencie zwolnienia pliku do nowego miejsca docelowego zobaczysz opcję:

SVN przenieś tutaj wersje plików.

Po prostu wybierz tę opcję i gotowe !!

Manish Singhal
źródło