Bagaimana cara checkout revisi Subversion tertentu dari baris perintah?

364

Saya ingin checkout revisi tertentu dari folder di Subversion menggunakan baris perintah.

Saya tidak melihat opsi untuk menentukan nomor revisi di TortoiseProc.exe,

TortoiseProc.exe /command:checkout <url>

Bagaimana saya mendapatkan revisi yang saya inginkan? Apakah TortoiseProc.exealat yang tepat untuk apa yang ingin saya lakukan?

Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
sumber

Jawaban:

469

Jika Anda sudah memeriksanya secara lokal maka Anda bisa cdke tempat itu diperiksa, lalu gunakan sintaks ini:

$ svn up -rXXXX

ref: Memeriksa revisi spesifik dari subversi dari baris perintah

rogerdpack
sumber
Untuk beberapa alasan ini tidak ada artinya bagi saya. Masih di revisi lama.
IgorGanapolsky
2
@IgorGanapolsky Sudahkah Anda memodifikasi file yang Anda coba perbarui secara lokal?
Bagaimana Anda melakukan reset keras? (Mengabaikan konflik?)
Dilip Raj Baral
313

Antara

svn checkout url://repository/path@1234

atau

svn checkout -r 1234 url://repository/path
pix0r
sumber
3
Saya harus menghapus ruang setelah -r jadi "-r1234" bekerja untuk saya.
Elijah Lofgren
257

Adakah alasan untuk menggunakan TortoiseProc alih-alih hanya baris perintah svn yang normal?

Saya akan menggunakan:

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

(untuk mendapatkan revisi 1234)

Jon Skeet
sumber
36

Anda seharusnya tidak pernah menggunakan TortoiseProc.exe sebagai klien Subversion baris perintah! TortoiseProc harus digunakan hanya untuk mengotomatisasi GUI TortoiseSVN. Lihat catatan di Manual TortoiseSVN :

Ingat bahwa TortoiseSVN adalah klien GUI, dan panduan otomasi ini menunjukkan kepada Anda cara membuat dialog TortoiseSVN muncul untuk mengumpulkan input pengguna. Jika Anda ingin menulis skrip yang tidak memerlukan input, Anda harus menggunakan klien baris perintah Subversion resmi sebagai gantinya.

Gunakan klien baris perintah Subversion svn.exe . Dengan klien baris perintah, Anda bisa

Anda mungkin memperhatikan bahwa dengan svn checkoutdan svn exportAnda dapat memasukkan nomor REV sebagai --revision REVargumen dan sebagai trailing @REVsetelah URL. Yang pertama disebut revisi operatif, dan yang kedua disebut revisi pasak. Baca SVNBook untuk informasi lebih lanjut tentang konsep revisi pasak dan operasi .

bahrep
sumber
8

svn checkout untuk merevisi di mana repositori Anda berada di server lain

Gunakan svn logperintah untuk mencari tahu revisi mana yang tersedia:

svn log

Yang mencetak:

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

Catat angkanya r761. Berikut ini adalah deskripsi perintah:

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

Saya menggunakan perintah ini secara khusus:

svn export svn+ssh://[email protected]/home1/oct/calc/calcFeatures.m@761 calcFeatures.m

Yang menyebabkan revisi calcFeatures.m 761 diperiksa ke direktori saat ini.

Eric Leschinski
sumber
6

Saya percaya sintaks untuk ini /rev:<revisionNumber>

Dokumentasi untuk ini dapat ditemukan di sini

Stuart Thompson
sumber
3

Kamu bisa mencoba

TortoiseProc.exe /command:checkout /rev:1234

untuk mendapatkan revisi 1234.

Saya tidak 100% yakin /revopsi ini kompatibel dengan checkout, tetapi saya mendapat ide dari beberapa dokumentasi TortoiseProc .

sistem PAUSE
sumber
2

Tampaknya Anda dapat menggunakan browser repositori. Klik tombol revisi di kanan atas dan ubah ke revisi yang Anda inginkan. Kemudian klik kanan file Anda di browser dan gunakan 'Salin ke copy pekerjaan ...' tetapi ubah nama file yang akan diperiksa, untuk menghindari bentrokan.

pengguna1240259
sumber
1

Anda harus menggunakan svn secara langsung:

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

dan

svn help co

memberi Anda sedikit lebih banyak bantuan.

Sebastian Dressler
sumber
2
Sejauh yang saya lihat, saya pikir contoh dapat membantu. apakah Anda menyertakan atau tidak memasukkan tanda kurung? bagaimana dengan 3 periode? bagaimana dengan ruang setelah 3 periode? Karakter mana yang literal, dan mana yang merupakan penampung, dan mana yang ditambahkan karakter untuk penampung?
ahnbizcad
0

Buka folder dan gunakan perintah:

svn co {url}
jsduniya
sumber