Jak przenieść plik?


219

Używam TortoiseSVN przeciwko repozytorium SVN SourceForge. Chciałbym przenieść plik z jednego folderu do drugiego, aby zachować historię zmian. czy to możliwe? Jeśli tak, jak to zrobić?

(Moja obecna strategia polega na skopiowaniu pliku do nowego folderu i wpisaniu go, a następnie usunięciu pliku z bieżącego folderu).

Odpowiedzi:


95

Subversion ma natywną obsługę przenoszenia plików.

svn move SOURCE DESTINATION

Aby uzyskać więcej informacji, zobacz pomoc online (pomoc SVN Move).


Lub inaczej: svn move <current path/filename> <destination path/filename>
Joe

313

Sprawdź sekcję 5.14.2. Przenoszenie plików i folderów (lub sprawdź „przenieś” w Indeksie pomocy) pomocy TortoiseSVN. Wykonujesz ruch poprzez przeciągnięcie w prawo. Wspomina również, że musisz zatwierdzić z folderu nadrzędnego, aby była to „jedna” wersja. Działa to w celu wykonania zmiany w kopii roboczej.

(Pamiętaj, że elementy SVN na poniższym obrazie pojawią się tylko wtedy, gdy folder docelowy został już dodany do repozytorium).

menu ruch żółwia

Możesz także wykonać ruch za pomocą przeglądarki Repo (sekcja 5.23. Przeglądarka repozytorium pomocy).


Kiedy podświetliłem wszystkie moje pliki, przeciągając prawym przyciskiem myszy, pojawiło się zwykłe menu Eksploratora Windows. Pozwoliło mi to wybrać „przenieś”, ale nie była to opcja SVN, więc nie jestem pewien, czy coś się nawet wydarzyło. Kiedy sprawdziłem, czy są jakieś modyfikacje, powiedział 300 plików usuniętych i 300 nie wersji. Nie wydaje się, żeby działało poprawnie. Obawiam się zobowiązać go, nie wiedząc, czy jest to sposób to miało pracy lub nie
Joe Phillips

48
Właśnie sobie sprawę, że prawdopodobnie nie działa, bo nie dodał / popełnił nowy katalog jeszcze
Joe Phillips

Wiem, że to lata później - ale komentarz Joe jest ważny. też z tym walczyłem - przeoczyłem tę małą notatkę w odpowiedzi. Docelowy folder musi być pod kontrolą SVN, w przeciwnym razie to nie zadziała. Na szczęście SVN pozwala dodawać puste foldery. Po umieszczeniu folderu pod kontrolą SVN przeciągnięcie prawym przyciskiem myszy będzie działać jak opisano powyżej. W przeciwnym razie zostanie wyświetlone ogólne menu systemu Windows „Kopiuj tutaj / przenieś tutaj / anuluj” (tzn. Brakuje opcji SVN).
ripvlan,

To było idealne. Miałem pewne problemy z przenoszeniem ponad 1500 plików za jednym razem. Przeniesienie ich o jeden katalog na raz zdawało się jednak pozbyć tego problemu.
Michael Murphy

80

Dzięki TortoiseSVN po prostu przenoszę plik na dysk.

Kiedy przychodzę, aby zatwierdzić moje zmiany, wybieram brakujący plik i nowy i wybieram „ Napraw ruch ” z menu po kliknięciu prawym przyciskiem myszy:

wprowadź opis zdjęcia tutaj

Oznacza to, że mogę pozwolić mojemu IDE przemieszczać się po plikach i używać go do refaktoryzacji bez utraty historii.


3
To jest mój preferowany sposób przenoszenia plików teraz. Jedno ostrzeżenie; wykonuj tylko <20 plików naraz między zatwierdzeniami, w przeciwnym razie znalezienie plików, które są ze sobą powiązane, może być bardzo czasochłonne.
DarrenMB,

@DarrenMB ma rację: zamierzam przeprowadzić migrację projektu Android z Eclipse do Android Studio. Wszystkie pliki muszą zostać przeniesione. To podejście nie jest tym, którego chcę tutaj użyć.
Bondax

@Bondax tak, w przypadku migracji całych projektów lepiej jest przenieść się z SVN - to powinno być coś, co robisz bardzo okazjonalnie. Znalazłem to lepszy sposób dla większości ruchów plików wykonywanych przez większość programistów podczas projektu.
Keith,

1
Nie mam też Ruchu Naprawczego, używając żółwia SVN 1.9.4
Mark Patterson

@Mark Patterson: Widzę opcję i korzystam również z wersji 1.9.4 (TortoiseSVN 1.9.4, kompilacja 27285 i Subversion 1.9.4, -release). Nie sądzę, że twój problem dotyczy wersji ... Oto oficjalna dokumentacja tej funkcji: tortoisesvn.net/repairmoves.html
Yosko

37

W TortoiseSVN kliknij gdzieś prawym przyciskiem myszy i wybierz TortoiseSVN> Repo Browser otwórz repozytorium.

Następnie wystarczy przeciągnąć i upuścić plik z jednego folderu do żądanego miejsca. Zostaniesz poproszony o dodanie komunikatu zatwierdzenia i domyślnie zostanie ustawiony na „Zdalnie przeniesiony plik / folder”


22

Używając TortoiseSVN Po prostu klikam prawym przyciskiem myszy i przeciągam folder z jednej lokalizacji do drugiej. Po zwolnieniu kliknięcia prawym przyciskiem myszy pojawi się opcja „SVN Move Version File”. Uważam jednak, że SVN nie robi nic „wymyślnego”, ale po prostu usuwa plik z poprzedniej lokalizacji i dodaje go do nowej lokalizacji.


18

W przypadku klienta TortoiseSVN:

  1. Wybierz pliki, które chcesz przenieść,
  2. Kliknij prawym przyciskiem myszy i przeciągnij pliki do folderu, do którego chcesz je przenieść,
  3. Okno wyskakuje po zwolnieniu przeciągania i upuszczania folderu. Kliknij „SVN Przenieś wersjonowane elementy tutaj” ,
  4. Po kliknięciu powyższego pojawi się okno zatwierdzenia. Wpisz wiadomość i prześlij.

Teraz skończone.


8

Wytnij plik za pomocą menu kontekstowego systemu operacyjnego, jak zwykle, a następnie zamiast zwykłego wklejania, kliknij prawym przyciskiem myszy, aby wyświetlić menu kontekstowe, a następnie wybierz TortoiseSVN -> Paste(upewnij się, że zatwierdzasz od roota, aby dołączyć zarówno stare, jak i nowe pliki do zatwierdzenia).


4

myślę, że w przeglądarce svn w tortoisesvn możesz po prostu przeciągnąć go z jednego miejsca do drugiego.



1

Jeśli się nie mylę, począwszy od wersji 1.5 SVN może śledzić przeniesione pliki \ foldery. W TortoiseSVN użycie może przenosić plik poprzez przeciąganie i upuszczanie.


1

Może być również nazywany „zmiana nazwy” przez żółwia, ale svn move to polecenie klienta barebones svn.


najprostsza i najdokładniejsza odpowiedź to ta! Używanie TortoiseSVN do przenoszenia plików odbywa się poprzez kliknięcie prawym przyciskiem myszy> zmiana nazwy. Otóż ​​to.
RoeeK,

1

Przesyłanie pliku za pomocą TortoiseSVN:

Krok: 1 Wybierz pliki, które chcesz przenieść, kliknij prawym przyciskiem myszy i przeciągnij pliki do folderu, do którego chcesz je przenieść, pojawi się okno po wykonaniu poniższej instrukcji

Opcja SVN

Krok 2: Po kliknięciu powyższego zatwierdzenia plik, jak poniżej, wspomina

SVN Commit


0

Jeśli przenosisz foldery za pomocą przeglądarki repozytorium, nie ma opcji Przenieś po kliknięciu prawym przyciskiem myszy; jedynym sposobem jest przeciąganie i upuszczanie.

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.