Tải bản đầy đủ
Phụ lục E. Tham Chiếu Chéo Giao Diện Dòng Lệnh

Phụ lục E. Tham Chiếu Chéo Giao Diện Dòng Lệnh

Tải bản đầy đủ

Tham Chiếu Chéo Giao Diện Dòng Lệnh
Nếu chỉ một mục được lựa chọn để cập nhật hoặc các mục đã chọn không phải tất cả từ cùng một kho lưu trữ,
TortoiseSVN chỉ cập nhật vào CHÍNH.
Không có tùy chọn dòng lệnh được sử dụng ở đây. Cập nhật đến bản sửa đổi cũng thực hiện các lệnh cập
nhật, nhưng cung cấp nhiều lựa chọn hơn.

E.2.3. Cập nhật đến bản sửa đổi
svn info URL_of_WC
svn update [-r rev] [-depth ARG] [--ignore-externals] PATH
Các mục của hộp combo cho chiều sâu liên quan đến thông số -depth .
Nếu Bỏ qua các phần bên ngoài được chọn, sử dụng chuyển đổi --ignore-externals .

E.2.4. Cam kết
Trong TortoiseSVN, hộp thoại cam kết sử dụng nhiều lệnh Subversion. Giai đoạn đầu tiên là kiểm tra tình trạng
mà quyết định các mục trong bản sao làm việc của bạn có khả năng có thể được cam kết. Bạn có thể xem danh
sách, tìm khác biệt các tập tin đối với CƠ SỞ và chọn các mục bạn muốn được bao gồm trong cam kết.
svn status -v PATH
Nếu Hiển thị các tập tin không phiên bản được chọn, TortoiseSVN cũng sẽ hiển thị tất cả các tập tin và thư
mục không phiên bản trong hệ thống phân cấp bản sao làm việc, có tính đến các quy tắc bỏ qua. Tính năng này
đặc biệt không có tương đương trực tiếp trong Subversion, vì lệnh tình trạng svn không đi xuống vào
các thư mục không phiên bản.
Nếu bạn chọn bất kỳ tập tin và thư mục không phiên bản, những mục đó trước hết sẽ được thêm vào bản sao
làm việc của bạn.
svn add PATH...
Khi bạn click vào OK, cam kết Subversion diễn ra. Nếu bạn để tất cả các hộp kiểm tra lựa chọn tập tin trong trạng
thái mặc định của chúng, TortoiseSVN sử dụng một cam kết đệ quy của bản sao làm việc. Nếu bạn bỏ chọn một
số tập tin, thì một cam kết không đệ quy ( -N ) phải được sử dụng, và mỗi đường dẫn phải được xác định
một cách riêng lẻ trên dòng lệnh cam kết.
svn commit -m "LogMessage" [-depth ARG] [--no-unlock] PATH...
LogMessage ở đây đại diện cho nội dung của hộp biên tập thông điệp tường trình. Cái này có thể được để trống.
Nếu Giữ khóa được duyệt, sử dụng chuyển đổi --no-unlock.

E.2.5. Tìm Khác Biệt
svn diff PATH
Nếu bạn sử dụng Tìm Khác Biệt từ trình đơn ngữ cảnh chính, bạn đang tìm khác biệt một tập tin thay đổi so với
sửa đổi CƠ SỞ của nó. Kết quả của lệnh CLI ở trên cũng thực hiện điều này và tạo ra kết quả trong định dạng
khác biệt-thống nhất. Tuy nhiên, đây không phải là những gì TortoiseSVN đang sử dụng. TortoiseSVN sử dụng
TortoiseMerge (hoặc một chương trình khác theo lựa chọn của bạn) để hiển thị sự khác biệt trực quan giữa các tập
tin văn bản đầy đủ, vì vậy không có CLI tương đương trực tiếp.
Bạn cũng có thể tìm khác biệt 2 tập tin bất kỳ bằng cách sử dụng TortoiseSVN, dù có hoặc không có phiên bản.
TortoiseSVN chỉ cấp dữ liệu hai tập tin vào chương trình tìm khác biệt được lựa chọn và để nó tìm ra các khác biệt.
189

Tham Chiếu Chéo Giao Diện Dòng Lệnh

E.2.6. Hiện Tường Trình
svn log -v -r 0:N --limit 100 [--stop-on-copy] PATH
or
svn log -v -r M:N [--stop-on-copy] PATH
Theo mặc định, TortoiseSVN cố gắng để lấy 100 thông điệp tường trình bằng cách sử dụng phương pháp --limit.
Nếu các thiết lập hướng dẫn sử dụng các API cũ, thì hình thức thứ hai được sử dụng để nạp các thông điệp tường
trình cho 100 sửa đổi kho lưu trữ.
Nếu Dừng trên bản sao/đổi tên được duyệt, sử dụng chuyển đổi --stop-on-copy .

E.2.7. Kiểm tra xem có sửa đổi
svn status -v PATH
or
svn status -u -v PATH
Kiểm tra tình trạng ban đầu chỉ nhìn vào bản sao làm việc của bạn. Nếu bạn bấm vào Kiểm tra kho lưu trữ
thì kho lưu trữ cũng được kiểm tra để xem tập tin sẽ được thay đổi bằng một lệnh cập nhật, trong đó yêu cầu
các chuyển đổi -u .
Nếu Hiển thị các tập tin không phiên bản được chọn, TortoiseSVN cũng sẽ hiển thị tất cả các tập tin và thư
mục không phiên bản trong hệ thống phân cấp bản sao làm việc, có tính đến các quy tắc bỏ qua. Tính năng này
đặc biệt không có tương đương trực tiếp trong Subversion, vì lệnh tình trạng svn không đi xuống vào
các thư mục không phiên bản.

E.2.8. Đồ Thị Sửa Đổi
Đồ thị sửa đổi là một tính năng chỉ của TortoiseSVN. Không có tương đương trong máy khách dòng lệnh.
Những gì TortoiseSVN làm là một
svn info URL_of_WC
svn log -v URL
nơi URL là kho lưu trữ root và phân tích dữ liệu được trả về.

E.2.9. Trình Duyệt Kho Lưu Trữ
svn info URL_of_WC
svn list [-r rev] -v URL
Bạn có thể sử dụng thông tin svn để xác định gốc kho, đó là cấp cao nhất được hiển thị trong trình duyệt
kho lưu trữ. Bạn không thể định hướng lên Trên quá mức này. Ngoài ra, lệnh này trả về tất cả các thông tin
khóa được hiển thị trong trình duyệt kho.
Việc gọi danh sách svn sẽ liệt kê các nội dung của một thư mục, đưa ra một URL và sửa đổi.

E.2.10. Chỉnh sửa xung đột
Lệnh này không có tương đương trong CLI. Nó gọi TortoiseMerge hoặc một công cụ tìm khác biệt/hợp nhất theo
3-cách bên ngoài để nhìn vào các tập tin có liên quan trong cuộc xung đột và phân loại các dòng để sử dụng.

E.2.11. Đã giải quyết

190

Tham Chiếu Chéo Giao Diện Dòng Lệnh
svn resolved PATH

E.2.12. Đổi tên
svn rename CURR_PATH NEW_PATH

E.2.13. Xóa
svn delete PATH

E.2.14. Hoàn nguyên
svn status -v PATH
Giai đoạn đầu tiên là kiểm tra tình trạng mà quyết định các mục trong bản sao làm việc của bạn có khả năng có
thể được hoàn nguyên. Bạn có thể xem lại danh sách, tìm khác biệt các tập tin đối với CƠ SỞ và chọn các mục
bạn muốn được bao gồm trong việc hoàn nguyên.
Khi bạn click vào OK, Subversion hoàn nguyên diễn ra. Nếu bạn để tất cả các hộp kiểm lựa chọn tập tin trong
trạng thái mặc định của chúng, TortoiseSVN sử dụng một lệnh hoàn nguyên đệ quy duy nhất ( -R ) trên bản
sao làm việc. Nếu bạn bỏ chọn một số tập tin, thì mọi đường dẫn phải được xác định một cách riêng lẻ trên dòng
lệnh hoàn nguyên.
svn revert [-R] PATH...

E.2.15. Dọn sạch
svn cleanup PATH

E.2.16. Nhận Khóa
svn status -v PATH
Giai đoạn đầu tiên là kiểm tra tình trạng mà quyết định các tập tin trong bản sao làm việc của bạn có khả năng có
thể bị khóa. Bạn có thể chọn các mục bạn muốn được khóa.
svn lock -m "LockMessage" [--force] PATH...
LockMessage ở đây đại diện cho các nội dung của hộp biên tập khóa thông điệp. Điều này có thể được để trống.
Nếu Ăn cắp các ổ khóa được duyệt, sử dụng chuyển đổi --force.

E.2.17. Thả Khóa
svn unlock PATH

E.2.18. Nhánh/Thẻ
svn copy -m "LogMessage" URL URL
or
svn copy -m "LogMessage" URL@rev URL@rev
or
191

Tham Chiếu Chéo Giao Diện Dòng Lệnh
svn copy -m "LogMessage" PATH URL
Hộp thoại Chi Nhánh/Thẻ thực hiện một sao chép đến kho lưu trữ. Có 3 tùy chọn nút radio:
• bản sửa đổi CHÍNH trong kho
• Sửa đổi cụ thể trong kho
• Bản sao làm việc
tương ứng với 3 biến thể dòng lệnh phía trên.
LogMessage ở đây đại diện cho nội dung của hộp biên tập thông điệp tường trình. Cái này có thể được để trống.

E.2.19. Chuyển
svn info URL_of_WC
svn switch [-r rev] URL PATH

E.2.20. Hợp nhất
svn merge [--dry-run] --force From_URL@revN To_URL@revM PATH
Các Kiểm tra Hợp nhất thực hiện việc hợp nhất cùng với chuyển đổi --dry-run .
svn diff From_URL@revN To_URL@revM
Các Khác biệt thống nhất cho thấy các tác vụ tìm khác biệt sẽ được sử dụng để thực hiện hợp nhất.

E.2.21. Xuất khẩu
svn export [-r rev] [--ignore-externals] URL Export_PATH
Hình thức này được sử dụng khi truy cập từ một thư mục không phiên bản, và thư mục được sử dụng làm điểm đến.
Xuất khẩu một bản sao làm việc đến một vị trí khác được thực hiện mà không cần sử dụng thư viện Subversion,
do đó, không có dòng lệnh tương đương được khớp.
Những gì TortoiseSVN làm là sao chép tất cả tập tin đến vị trí mới trong khi hiển thị cho bạn tiến triển của hoạt
động này. Tập tin /thư mục không phiên bản theo tùy chọn cũng có thể được xuất khẩu.
Trong cả hai trường hợp, nếu Bỏ qua thành phần ngoài được chọn, sử dụng chuyển đổi
externals .

E.2.22. Di dời
svn switch --relocate From_URL To_URL

E.2.23. Tạo Kho Chứa Ở Đây
svnadmin create --fs-type fsfs PATH

E.2.24. Thêm

192

-ignore-

Tham Chiếu Chéo Giao Diện Dòng Lệnh
svn add PATH...
Nếu bạn chọn một thư mục, TortoiseSVN đầu tiên quét nó theo cách đệ quy cho các hạng mục có thể được thêm vào.

E.2.25. Nhập khẩu
svn import -m LogMessage PATH URL
LogMessage ở đây đại diện cho nội dung của hộp biên tập thông điệp tường trình. Cái này có thể được để trống.

E.2.26. Đổ lỗi
svn blame -r N:M -v PATH
svn log -r N:M PATH
Nếu bạn sử dụng TortoiseBlame để xem các thông tin đổ lỗi, tập tin tường trình cũng là cần thiết để hiển thị các
thông báo tường tình vào một tooltip. Nếu bạn xem đổ lỗi như một tập tin văn bản, thông tin này là không cần thiết.

E.2.27. Thêm vào Danh sách Bỏ qua
svn propget svn:ignore PATH > tempfile
{edit new ignore item into tempfile}
svn propset svn:ignore -F tempfile PATH
Bởi vì thuộc tính svn:ignore thường là một giá trị nhiều dòng, nó được hiển thị ở đây như là được thay đổi
thông qua một tập tin văn bản hơn là trực tiếp trên dòng lệnh.

E.2.28. Tạo Bản Vá
svn diff PATH > patch-file
TortoiseSVN tạo ra một tập tin vá lỗi trong định dạng khác biệt thống nhất bằng cách so sánh bản sao làm việc
với phiên bản CƠ SỞ của nó.

E.2.29. Áp dụng Bản vá
Áp dụng các bản vá lỗi là một việc khó khăn, trừ khi các bản vá và bản sao làm việc ở trong cùng một sửa đổi.
May mắn cho bạn, bạn có thể sử dụng TortoiseMerge, mà không có tương đương trực tiếp trong Subversion.

193

Phụ lục F. Thông tin chi tiết Thực hiện
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.

F.1. 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.

194

Thông tin chi tiết Thực hiệ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 và 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ô.

195