Jak pobrać konkretną wersję Subversion z wiersza poleceń?


364

Chcę pobrać konkretną wersję folderu w Subversion za pomocą wiersza polecenia.

Nie widzę opcji określania numeru wersji w TortoiseProc.exe,

TortoiseProc.exe /command:checkout <url>

Jak uzyskać poprawkę, której chcę? Czy TortoiseProc.exejest odpowiednie narzędzie do tego, co chcę robić?

Odpowiedzi:


469

Jeśli masz już to wyrejestrowane lokalnie, możesz cdprzejść do miejsca wyewidencjonowania, a następnie użyj następującej składni:

$ svn up -rXXXX

ref: Pobierz konkretną wersję z subversion z wiersza poleceń


Z jakiegoś powodu to nic dla mnie nie robi. Nadal przy starej wersji.
IgorGanapolsky

2
@IgorGanapolsky Czy zmodyfikowałeś lokalnie plik, który próbujesz zaktualizować?

Jak wykonujesz twardy reset? (Ignorujesz konflikty?)
Dilip Raj Baral

313

Zarówno

svn checkout url://repository/path@1234

lub

svn checkout -r 1234 url://repository/path

3
Musiałem usunąć spację po -r, więc „-r1234” zadziałało dla mnie.
Elijah Lofgren,

257

Czy jest jakiś powód, aby używać TortoiseProc zamiast zwykłego wiersza polecenia svn?

Użyłbym:

svn checkout svn://somepath@1234 working-directory

(aby uzyskać wersję 1234)


36

Nigdy nie powinieneś używać TortoiseProc.exe jako wiersza poleceń Subversion! TortoiseProc powinien być wykorzystywany tylko do automatyzacji GUI TortoiseSVN. Zobacz notatkę w Podręczniku TortoiseSVN :

Pamiętaj, że TortoiseSVN jest klientem GUI, a ten przewodnik automatyzacji pokazuje, jak sprawić, by okna dialogowe TortoiseSVN wydawały się zbierać dane od użytkowników. Jeśli chcesz napisać skrypt, który nie wymaga wprowadzania danych, powinieneś użyć oficjalnego klienta wiersza poleceń Subversion.

Użyj klienta svn.exe wiersza polecenia Subversion . Za pomocą klienta wiersza poleceń możesz

Możesz to zauważyć za pomocą svn checkouti svn exportmożesz wprowadzić numer REV jako --revision REVargument i jako końcowy @REVpo URL. Pierwszy nazywa się rewizją operacyjną, a drugi nazywa się rewizją peg. Przeczytaj SVNBook, aby uzyskać więcej informacji na temat koncepcji poprawek kołkowych i operacyjnych .


8

svn kasa do rewizji, gdzie twoje repozytorium znajduje się na innym serwerze

Użyj svn logpolecenia, aby dowiedzieć się, które wersje są dostępne:

svn log

Które wydruki:

------------------------------------------------------------------------
r762 | machines | 2012-12-02 13:00:16 -0500 (Sun, 02 Dec 2012) | 2 lines

------------------------------------------------------------------------
r761 | machines | 2012-12-02 12:59:40 -0500 (Sun, 02 Dec 2012) | 2 lines

Zanotuj numer r761. Oto opis polecenia:

svn export http://url-to-your-file@761 /tmp/filename

Użyłem tego polecenia w szczególności:

svn export svn+ssh://machines@mywebsite.com/home1/oct/calc/calcFeatures.m@761 calcFeatures.m

Co powoduje wypisanie calcFeatures.m wersji 761 do bieżącego katalogu.



3

Możesz spróbować

TortoiseProc.exe /command:checkout /rev:1234

uzyskać wersję 1234.

Nie jestem w 100% pewien, że /revopcja jest kompatybilna checkout, ale wpadłem na pomysł z dokumentacji TortoiseProc .


2

Wygląda na to, że możesz użyć przeglądarki repozytorium. Kliknij przycisk zmiany w prawym górnym rogu i zmień go na żądaną wersję. Następnie kliknij prawym przyciskiem myszy plik w przeglądarce i użyj opcji „Kopiuj do kopii roboczej ...”, ale zmień nazwę pliku, aby sprawdzić, aby uniknąć kolizji.


1

Będziesz musiał użyć svn bezpośrednio:

svn checkout URL[@REV]... [PATH]

i

svn help co

daje ci trochę więcej pomocy.


2
o ile widzę, myślę, że przykład może pomóc. czy zawieracie nawiasy, czy nie? co z 3 okresami? co z przestrzenią po 3 okresach? Które znaki są dosłowne, a które to symbole zastępcze, a które to znaki dodane do symboli zastępczych?
ahnbizcad

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.