Phụ lục F. Thông tin chi tiết Thực hiện

Mục lục

Biểu tượng Lớp phủ

Phụ lục này chứa một thảo luận chi tiết hơn về việc thực hiện một số tính năng TortoiseSVN.

Biểu tượng Lớp phủ

Mỗi tập tin và thư mục có một giá trị trạng thái Subversion như theo báo cáo của các thư viện Subversion. Trong các máy khách dòng lệnh, những cái này đại diện bởi các mã chữ cái, nhưng trong TortoiseSVN chúng được hiển thị bằng đồ họa bằng cách sử dụng lớp phủ biểu tượng. Bởi vì số lượng của lớp phủ là rất hạn chế, mỗi lớp phủ có thể đại diện cho một trong nhiều giá trị trạng thái.

Các Lớp phủ mâu thuẫn được sử dụng để đại diện cho trạng thái mâu thuẫn , nơi một cập nhật hoặc chuyển đổi cho kết quả là các cuộc xung đột giữa các thay đổi địa phương và thay đổi tải về từ kho. Nó cũng được sử dụng để chỉ ra tình trạng tắc nghẽn , mà có thể xảy ra khi một thao tác không thể hoàn thành được.

Lớp phủ Thay đổi đại diện cho trạng thái sửa đổi , nơi bạn đã thực hiện các thay đổi địa phương, trạng thái sáp nhập , nơi thay đổi từ kho lưu trữ đã được sáp nhập với những thay đổi địa phương, và trạng thái thay thế , nơi một tập tin đã bị xóa và được thay thế bởi một tập tin khác cùng tên.

Lớp phủ Đã bị xóa đại diện cho trạng thái xóa , nơi một mục được lên kế hoạch để xóa, hoặc trạngt thái thiếu mất , nơi một mục không có mặt. Đương nhiên một mục thiếu mất không có thể có một lớp phủ riêng của mình, nhưng các thư mục mẹ có thể được đánh dấu nếu một trong các mục con của nó bị thiếu mất.

Lớp phủ Thêm chỉ đơn giản là được sử dụng để đại diện cho trạng thái thêm khi một mục đã 0được thêm vào kiểm soát phiên bản.

Lớp phủ Trong Subversion được sử dụng để đại diện cho một mục trong trạng thái bình thường , hoặc một mục có phiên bản mà trạng thái vẫn chưa được biết. Bởi vì TortoiseSVN sử dụng một quá trình ngầm lưu bộ nhớ đệm để thu thập trạng thái, nó có thể mất một vài giây trước khi các lớp phủ được cập nhật.

Lớp phủ Cần Khóa được sử dụng để chỉ ra khi một tập tin có thuộc tính svn:needs-lock được thiết lập.

Lớp phủ Đã bị khoá được sử dụng khi bản sao làm việc địa phương giữ một khóa cho tập tin đó.

Lớp phủ Bỏ qua được sử dụng để đại diện cho một mục trong trạng thái bỏ qua , hoặc là do một mô hình bỏ qua toàn cục, hoặc do thuộc tính svn:ignore của thư mục mẹ. Lớp phủ này là tùy chọn.

Lớp phủ Không phiên bản được sử dụng để đại diện cho một mục trong trạng thái không phiên bản . Đây là một mục trong một thư mục được phiên bản, nhưng bản thân nó không thuộc kiểm soát phiên bản. Lớp phủ này là tùy chọn.

Nếu một mục có trạng thái Subversion là khôngliteral> (mBnhKhnh

Một mục chỉ có thể có một giá trị tình trạng Subversion. Ví dụ một tập tin có thể được thay đổi tại địa phương và nó có thể được đánh dấu để xóa cùng một lúc. Subversion trả về một giá trị tình trạng đơn lẻ - trong trường hợp này là được xóa . Những ưu tiên được xác định trong bản thân Subversion.

Khi TortoiseSVN hiển thị trạng thái một cách đệ quy (thiết lập mặc định), mỗi thư mục sẽ hiển thị một lớp phủ phản ánh trạng thái của mình và tình trạng của tất cả các con của nó. Để hiển thị một lớp phủ tóm tắt , chúng tôi sử dụng thứ tự ưu tiên hiển thị ở trên để xác định lớp phủ để sử dụng, với lớp phủ Mâu thuẫn được ưu tiên cao nhất.

Trong thực tế, bạn có thể thấy rằng không phải tất cả các biểu tượng này được sử dụng trên hệ thống của bạn. Điều này là do số lượng các lớp phủ cho phép Windows được giới hạn đến 15. Windows sử dụng 4 cái, và còn lại 11 có thể được sử dụng bởi các ứng dụng khác. Nếu không có lô lớp phủ sẵn đủ, TortoiseSVN cố gắng là một Công dân tốt (TM) và giới hạn sử dụng lớp phủ để dành cơ hội cho các ứng dụng khác.

Kể từ khi có các trình khách Tortoise có sẵn cho các hệ thống kiểm soát phiên bản khác, chúng tôi đã tạo ra một thành phần chia sẻ chịu trách nhiệm cho việc hiển thị các biểu tượng lớp phủ. Các chi tiết kỹ thuật không quan trọng ở đây, tất cả những gì bạn cần phải biết là thành phần chia sẻ này cho phép tất cả các trình khách Tortoise sử dụng các lớp phủ tương tự và do đó giới hạn của 11 lố có sẵn không được sử dụng hết bằng cách cài đặt nhiều hơn một trình khách Tortoise. Tất nhiên có một nhược điểm nhỏ: tất cả các trình khách Tortoise sử dụng cùng các biểu tượng che phủ, vì vậy bạn không thể nhìn biểu tượng che phủ mà suy ra hệ thống điều khiển phiên bản nào mà một bản sao làm việc đang sử dụng.

  • Bình thường , Được thay đổi Mâu thuẫn luôn luôn được nạp và có thể nhìn thấy.

  • Đã bị xóa được tải nếu có thể, nhưng rơi trở lại Thay đổi nếu không có đủ lô.

  • Chỉ-Đọc được tải nếu có thể, nhưng rơi trở lại Bình thường nếu không đủ lô.

  • Đã bị khoá được tải nếu có thể, nhưng rơi trở lại Bình thường nếu không có đủ lô.

  • Được Thêm được tải nếu có thể, nhưng rơi trở lại Được thay đổi nếu không có đủ lô.