Mã kết quả trong SVN có nghĩa là gì?


300

Mã kết quả trong SVN có nghĩa là gì? Tôi cần một tài liệu tham khảo nhanh.

Câu trả lời:


518

Để biết thêm chi tiết, xem SVNBook: "Trạng thái của các tệp và thư mục sao chép đang hoạt động" .

Các trạng thái phổ biến:

U : Tập tin làm việc đã được cập nhật

G : Thay đổi trên repo đã được tự động hợp nhất vào bản sao làm việc

M : Bản sao làm việc được sửa đổi

C : Tập tin này xung đột với phiên bản trong repo

? : Tập tin này không thuộc kiểm soát phiên bản

! : Tệp này nằm dưới sự kiểm soát phiên bản nhưng thiếu hoặc không đầy đủ

A : Tập tin này sẽ được thêm vào kiểm soát phiên bản (sau khi xác nhận)

A + : Tập tin này sẽ được di chuyển (sau khi cam kết)

D : Tập tin này sẽ bị xóa (sau khi cam kết)

S : Điều này biểu thị rằng tệp hoặc thư mục đã được chuyển từ đường dẫn của phần còn lại của bản sao làm việc (sử dụng chuyển đổi svn) sang một nhánh

Tôi : Bỏ qua

X : Định nghĩa bên ngoài

~ : Loại đã thay đổi

R : Mục đã được thay thế trong bản sao làm việc của bạn. Điều này có nghĩa là tệp đã được lên lịch để xóa và sau đó một tệp mới có cùng tên đã được lên lịch để bổ sung vào vị trí của nó.

L : Mục bị khóa

E : Mục tồn tại, như nó đã được tạo, bởi một bản cập nhật svn.


12
"R": Tập tin này đã được thay thế
tệp kê khai

8
Thế còn E? Tất cả các tài liệu nói là "Tồn tại", không hữu ích.
Pops

2
+1, nhưng "G: Thay đổi trên repo đã được tự động hợp nhất vào bản sao làm việc" không có trong nguồn được cung cấp (còn nữa không?)
Julian

86

Cũng lưu ý rằng mã kết quả trong cột thứ hai đề cập đến các thuộc tính của tệp. Ví dụ:

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

tên tệp.1: tệp đã được cập nhật
tên tệp.2: thuộc tính hoặc thuộc tính trên tệp (chẳng hạn như svn: Keywords) đã được cập nhật
tên tệp.3: cả tệp và thuộc tính của tệp đã được cập nhật


36

Bạn luôn có thể nhận được một danh sách bằng cách chạy:

svn status --help

19

Tôi muốn nói điều gì đó về trạng thái "G",

G: Thay đổi trên repo đã được tự động hợp nhất vào bản sao làm việc

Tôi nghĩ định nghĩa trên không rõ ràng, nó có thể tạo ra một chút nhầm lẫn, bởi vì tất cả các tệp được tự động hợp nhất vào bản sao làm việc, một trong những chính xác nên là:

U = item (U) được chỉnh sửa thành phiên bản kho lưu trữ

Thay đổi cục bộ của G = item mer (G) ed với kho lưu trữ

Các thay đổi cục bộ của C = item (C) được cài đặt sẵn với kho lưu trữ

D = item (D) bị xóa khỏi bản sao làm việc

A = item (A) nhúng vào bản sao làm việc


Về trạng thái 'G'. Tôi đã có 2 bản sao của các thay đổi trong 2 thư mục thanh toán khác nhau. Tôi đã cam kết các thay đổi từ một thanh toán-dir và khi tôi cập nhật thư mục thanh toán khác, nó hiển thị trạng thái 'G' chỉ ra rằng các thay đổi trong thư mục cục bộ đã được merGed với kho lưu trữ.
Giáo sư

18

Ngoài ra còn có trạng thái 'E'

E = Tệp tồn tại trước khi cập nhật

Điều này có thể xảy ra nếu bạn đã tạo thủ công một thư mục sẽ được tạo bằng cách thực hiện cập nhật.


13

Tôi thường sử dụng svn thông qua một gui, IDE của tôi hoặc khách hàng. Do đó, tôi không bao giờ có thể nhớ các mã khi tôi phải dùng đến dòng lệnh.

Tôi thấy bảng cheat này rất hữu ích: Subversion Cheat Sheet


1
Nó không liệt kê trạng thái G.
Ark-kun

13

Cột trạng thái SVN

$ svn status
L index.html

Đầu ra của lệnh được chia thành sáu cột, nhưng điều đó không rõ ràng vì đôi khi các cột trống. Có lẽ sẽ có ý nghĩa hơn khi chỉ ra các cột trống bằng dấu gạch ngang, theo cách ls -lnày, thay vì không có gì. Sau đó, ví dụ, L index.htmlsẽ trông như--L--- index.html , điều này làm cho rõ ràng thông tin duy nhất chúng ta có trong cột thứ ba là thông tin về khóa. Dù sao, một khi bạn biết rằng nó bắt đầu có ý nghĩa hơn.

Trạng thái SVN cột đầu tiên: A, D, M, R, C, X, I,?,!, ~

Cột đầu tiên chỉ ra rằng một mục đã được thêm, xóa hoặc thay đổi.

      Không sửa đổi.

 A    Mục được lên lịch để bổ sung.

 D    Mục được lên kế hoạch để xóa.

 M    Mục đã được sửa đổi.

 R    Mục đã được thay thế trong bản sao làm việc của bạn. Điều này có nghĩa là tệp đã được lên lịch để xóa và sau đó một tệp mới có cùng tên đã được lên lịch để bổ sung vào vị trí của nó.

 C    Nội dung (trái ngược với các thuộc tính) của mục xung đột với các cập nhật nhận được từ kho lưu trữ.

 X    Mục có liên quan đến một định nghĩa bên ngoài.

 I    Mục đang bị bỏ qua (ví dụ với svn: bỏ qua thuộc tính).

 ?    Mục không thuộc kiểm soát phiên bản.

 !    Mục bị thiếu (ví dụ: bạn đã di chuyển hoặc xóa nó mà không sử dụng svn). Điều này cũng chỉ ra rằng một thư mục không đầy đủ (việc kiểm tra hoặc cập nhật bị gián đoạn).

 ~    Mục được phiên bản là một loại đối tượng (tệp, thư mục, liên kết), nhưng đã được thay thế bằng loại đối tượng khác.

Trạng thái SVN cột thứ hai: M, C

Cột thứ hai cho biết trạng thái của các thuộc tính của tệp hoặc thư mục.

      Không sửa đổi.

 M    Thuộc tính cho mặt hàng này đã được sửa đổi.

 C    Các thuộc tính cho mục này mâu thuẫn với các cập nhật thuộc tính nhận được từ kho lưu trữ.

Trạng thái SVN cột thứ ba: L

Cột thứ ba chỉ được điền nếu thư mục bản sao đang hoạt động bị khóa (dọn dẹp svn thường là đủ để xóa nó)

      Mục không bị khóa.

 L    Mục bị khóa.

Trạng thái SVN cột thứ tư: +

Cột thứ tư chỉ được điền nếu mục được lên lịch để thêm vào lịch sử.

      Không có lịch sử với lịch trình cam kết.

 +    Lịch sử theo lịch trình với cam kết.

Trạng thái SVN cột thứ năm: S

Cột thứ năm chỉ được điền nếu bản sao làm việc của mặt hàng được chuyển đổi so với cha mẹ của nó

      Mục là một con của thư mục mẹ của nó.

 S    Mục được chuyển đổi.

Trạng thái SVN cột thứ sáu: K, O, T, B

Cột thứ sáu được điền với thông tin khóa.

      Khi các bản cập nhật được sử dụng, tập tin không bị khóa. Nếu các bản cập nhật không được sử dụng, điều này chỉ có nghĩa là tệp không bị khóa trong bản sao làm việc này.

 K    Tập tin bị khóa trong bản sao làm việc này.

 O    Tệp bị khóa bởi người dùng khác hoặc trong một bản sao làm việc khác. Điều này chỉ xuất hiện khi các bản cập nhật được sử dụng.

 T    Tệp đã bị khóa trong bản sao làm việc này, nhưng khóa đã bị đánh cắp và không hợp lệ. Các tập tin hiện đang bị khóa trong kho lưu trữ. Điều này chỉ xuất hiện khi các bản cập nhật được sử dụng.-

 B    Tệp đã bị khóa trong bản sao làm việc này, nhưng khóa đã bị hỏng và không hợp lệ. Tập tin không còn bị khóa Điều này chỉ xuất hiện khi các bản cập nhật được sử dụng.

Trạng thái SVN cột thứ bảy: *

Thông tin lỗi thời xuất hiện trong cột thứ bảy (chỉ khi bạn vượt qua khóa chuyển đổi cập nhật). Đây là điều mà những người mới sử dụng SVN mong đợi lệnh thực hiện, không nhận ra nó chỉ so sánh trạng thái hiện tại của tệp với thông tin mà nó đã tìm nạp từ máy chủ trong bản cập nhật cuối cùng.

      Các mục trong bản sao làm việc của bạn là cập nhật.

 *    Một phiên bản mới hơn của mục tồn tại trên máy chủ.



7

Bất cứ khi nào bạn không có quyền truy cập vào tài liệu ( SVNBook ), hãy nhập (Linux):

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

hoặc chèn hàm sau vào tệp ~ / .bashrc của bạn, như vậy:

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

nhập mô tả hình ảnh ở đây


1
IMO, đó không phải là "khi bạn đang vội" mà là "khi bạn không có quyền truy cập vào tài liệu" (ví dụ: SVNBook).
bahrep

@bahrep cảm ơn, đó là cách để xem xét nó. Sửa chữa theo đề nghị.
Alan
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.