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).

Chłopak
źródło

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).

Komandor Jaeger
źródło
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).

crashmstr
źródło
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.

Keith
źródło
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”

RedWolves
źródło
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.


źródło
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.

Jaskółka oknówka
źródło
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).

BornToCode
źródło
4

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

John Boker
źródło
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.

aku
źródło
1

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

DevelopisChris
źródło
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

Anzar Ansari
źródło
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.

Danijel
źródło