Apa arti kode hasil dalam SVN?

300

Apa arti kode hasil dalam SVN? Saya perlu referensi cepat.

Polsonby
sumber

Jawaban:

518

Untuk detail tambahan, lihat SVNBook: "Status file copy dan direktori yang berfungsi" .

Status umum:

U : File yang berfungsi telah diperbarui

G : Perubahan pada repo secara otomatis digabungkan ke dalam copy pekerjaan

M : Copy pekerjaan dimodifikasi

C : File ini bertentangan dengan versi di repo

? : File ini tidak di bawah kontrol versi

! : File ini di bawah kontrol versi tetapi tidak ada atau tidak lengkap

A : File ini akan ditambahkan ke kontrol versi (setelah komit)

A + : File ini akan dipindahkan (setelah komit)

D : File ini akan dihapus (setelah komit)

S : Ini menandakan bahwa file atau direktori telah dipindahkan dari jalur sisa dari copy pekerjaan (menggunakan svn switch) ke cabang

I : Diabaikan

X : Definisi eksternal

~ : Ketik berubah

R : Item telah diganti dalam copy pekerjaan Anda. Ini berarti file dijadwalkan untuk dihapus, dan kemudian file baru dengan nama yang sama dijadwalkan untuk ditambahkan sebagai gantinya.

L : Item terkunci

E : Item ada, karena akan dibuat, oleh pembaruan svn.

Polsonby
sumber
12
"R": File ini diganti
manifes
8
Bagaimana dengan E? Semua dokumentasi mengatakan "Ada", yang tidak membantu.
Pops
2
+1, tetapi "G: Perubahan pada repo secara otomatis digabungkan ke dalam copy pekerjaan" tidak dalam sumber yang diberikan (lagi?)
Julian
86

Perhatikan juga bahwa kode hasil di kolom kedua merujuk ke properti file. Sebagai contoh:

U   filename.1
 U  filename.2  
UU  filename.3

filename.1: file diperbarui
filename.2: properti atau properti pada file (seperti svn: kata kunci) diperbarui
filename.3: file dan propertinya diperbarui

Matt Miller
sumber
36

Anda selalu bisa mendapatkan daftar dengan menjalankan:

svn status --help
Taryn East
sumber
19

Saya ingin mengatakan sesuatu tentang status "G",

G: Perubahan pada repo secara otomatis digabungkan ke dalam copy pekerjaan

Saya pikir definisi di atas tidak jelas, dapat menimbulkan sedikit kebingungan, karena semua file secara otomatis digabungkan ke dalam copy pekerjaan, yang benar seharusnya:

U = item (U) yang ditambahkan ke versi repositori

G = perubahan lokal item dig (G) dengan repositori

C = perubahan lokal item (C) onflicted with repository

D = item (D) dihapus dari copy pekerjaan

A = item (A) ditabuh untuk copy pekerjaan

Elie Xu
sumber
Tentang status 'G'. Saya memiliki 2 salinan perubahan di 2 direktori check-out yang berbeda. Saya melakukan perubahan-perubahan dari satu checkout-dir dan ketika saya memperbarui-checkoutout-dir lainnya itu menunjukkan status 'G' yang menunjukkan bahwa perubahan dalam direktori lokal telah digabung dengan repositori.
GuruM
18

Ada juga status 'E'

E = File ada sebelum pembaruan

Ini bisa terjadi jika Anda secara manual membuat folder yang akan dibuat dengan melakukan pembaruan.

Jono D
sumber
13

Saya biasanya menggunakan svn melalui gui, baik IDE saya atau klien. Karena itu, saya tidak pernah dapat mengingat kode ketika saya harus beralih ke baris perintah.

Saya menemukan lembar contekan ini sangat membantu: Subversion Cheat Sheet

UberAlex
sumber
1
Itu tidak mencantumkan status G.
Ark-kun
13

Kolom status SVN

$ svn status
L index.html

Output dari perintah dibagi menjadi enam kolom, tetapi itu tidak jelas karena kadang-kadang kolom kosong. Mungkin akan lebih masuk akal untuk menunjukkan kolom kosong dengan tanda hubung, caranya ls -l, bukan apa-apa. Kemudian, misalnya, L index.htmlakan terlihat seperti --L--- index.html, yang membuatnya jelas satu-satunya informasi yang kita miliki adalah di kolom ketiga tentang penguncian. Bagaimanapun, begitu Anda tahu bahwa itu mulai lebih masuk akal.

SVN Status kolom pertama: A, D, M, R, C, X, I,?,!, ~

Kolom pertama menunjukkan bahwa item ditambahkan, dihapus, atau diubah.

      Tidak ada modifikasi.

 A    Item dijadwalkan untuk Penambahan.

 D    Item dijadwalkan untuk Dihapus.

 M    Item telah dimodifikasi.

 R    Item telah diganti dalam copy pekerjaan Anda. Ini berarti file dijadwalkan untuk dihapus, dan kemudian file baru dengan nama yang sama dijadwalkan untuk ditambahkan sebagai gantinya.

 C    Konten (sebagai lawan dari properti) konflik item dengan pembaruan yang diterima dari repositori.

 X    Item terkait dengan definisi eksternal.

 I    Item diabaikan (misalnya dengan properti svn: diabaikan).

 ?    Item tidak di bawah kontrol versi.

 !    Item hilang (mis. Anda memindahkan atau menghapusnya tanpa menggunakan svn). Ini juga menunjukkan bahwa direktori tidak lengkap (checkout atau pembaruan terputus).

 ~    Item diversi versi sebagai satu jenis objek (file, direktori, tautan), tetapi telah digantikan oleh berbagai jenis objek.

Status SVN kolom kedua: M, C

Kolom kedua memberi tahu status properti file atau direktori.

      Tidak ada modifikasi.

 M    Properti untuk item ini telah dimodifikasi.

 C    Properti untuk item ini bertentangan dengan pembaruan properti yang diterima dari repositori.

Status SVN kolom ketiga: L

Kolom ketiga hanya diisi jika direktori copy pekerjaan dikunci (pembersihan svn biasanya cukup untuk menghapusnya)

      Item tidak dikunci.

 L    Item terkunci.

Status SVN kolom keempat: +

Kolom keempat diisi hanya jika item dijadwalkan untuk penambahan-dengan-sejarah.

      Tidak ada riwayat yang dijadwalkan dengan komit.

 +    Sejarah dijadwalkan dengan komit.

SVN Status kolom kelima: S

Kolom kelima diisi hanya jika copy pekerjaan item tersebut relatif terhadap induknya

      Item adalah anak dari direktori induknya.

 S    Item diaktifkan.

SVN Status keenam kolom: K, O, T, B

Kolom keenam diisi dengan informasi kunci.

      Ketika –show-update digunakan, file tidak dikunci. Jika –show-update tidak digunakan, ini hanya berarti bahwa file tersebut tidak dikunci dalam copy pekerjaan ini.

 K    File dikunci dalam copy pekerjaan ini.

 O    File dikunci oleh pengguna lain atau dalam copy pekerjaan lainnya. Ini hanya muncul ketika –show-update digunakan.

 T    File dikunci dalam copy pekerjaan ini, tetapi kunci telah dicuri dan tidak valid. File saat ini terkunci di repositori. Ini hanya muncul ketika –show-update digunakan.-

 B    File dikunci dalam copy pekerjaan ini, tetapi kunci telah rusak dan tidak valid. File tidak lagi terkunci. Ini hanya muncul ketika –show-update digunakan.

Status SVN kolom ketujuh: *

Informasi yang kedaluwarsa muncul di kolom ketujuh (hanya jika Anda melewati sakelar –show-updates). Ini adalah sesuatu yang orang baru untuk SVN mengharapkan perintah untuk dilakukan, tidak menyadarinya hanya membandingkan keadaan file saat ini dengan informasi apa yang diambil dari server pada pembaruan terakhir.

      Item dalam copy pekerjaan Anda mutakhir.

 *    Revisi yang lebih baru dari item ada di server.

Spyryto
sumber
7

Setiap kali Anda tidak memiliki akses ke dokumentasi ( SVNBook ), ketik (Linux):

svn help status | grep \'\?\'
svn help status | grep \'\!\'
svn help status | grep \'\YOUR_SYMBOL_HERE\'

atau masukkan fungsi berikut ke file ~ / .bashrc Anda, seperti:

svncode() {
  symbol=$1
  [ $symbol ] &&  svn help status | grep \'$(echo $symbol)\' || \
  echo "usage: svncode <symbol>"
}

masukkan deskripsi gambar di sini

Alan
sumber
1
IMO, ini bukan "ketika Anda sedang terburu-buru" tetapi "ketika Anda tidak memiliki akses ke dokumentasi" (mis. SVNBook).
bahrep
@bahrep terima kasih, itulah cara untuk melihatnya. Diperbaiki seperti yang disarankan.
Alan