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ć?

Ciro Santilli
źródło

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ń

rogerdpack
źródło
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
pix0r
źródło
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)

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

bahrep
źródło
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://[email protected]/home1/oct/calc/calcFeatures.m@761 calcFeatures.m

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

Eric Leschinski
źródło
6

Uważam, że składnia jest następująca /rev:<revisionNumber>

Dokumentację tego można znaleźć tutaj

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

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

użytkownik1240259
źródło
1

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

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

i

svn help co

daje ci trochę więcej pomocy.

Sebastian Dressler
źródło
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
0

Przejdź do folderu i użyj polecenia:

svn co {url}
jsduniya
źródło