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?

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.


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



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


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.



1

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


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.



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 !!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.