Tải bản đầy đủ
Phụ lục D. Tự động hoá TortoiseSVN

Phụ lục D. Tự động hoá TortoiseSVN

Tải bản đầy đủ

Tự động hoá TortoiseSVN
Các ví dụ (nên được nhập vào trên một dòng):
TortoiseProc.exe /command:commit
/path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt"
/logmsg:"test log message" /closeonend:0
TortoiseProc.exe /command:update /path:"c:\svn_wc\" /closeonend:0
TortoiseProc.exe /command:log /path:"c:\svn_wc\file1.txt"
/startrev:50 /endrev:60 /closeonend:0

D.2. xử lý Tsvncmd URL
Sử dụng URL đặc biệt, nó cũng có thể gọi TortoiseProc từ một trang web.
TortoiseSVN đăng ký một giao thức mới tsvncmd: mà có thể được sử dụng để tạo ra các siêu liên kết thực
hiện lệnh TortoiseSVN. Các lệnh và các thông số là tương tự như khi tự động hóa TortoiseSVN từ dòng lệnh.
Định dạng của URL tsvncmd: là như thế này:
tsvncmd:command:cmd?parameter:paramvalue?parameter:paramvalue
với cmd là một trong các lệnh được cho phép, tham số là tên của một tham số như path hoặc
revision , và paramvalue là giá trị được sử dụng cho tham số đó. Danh sách các thông số được cho
phép phụ thuộc vào các lệnh được sử dụng.
Các lệnh sau đây được cho phép với tsvncmd: URL:
• :update
• :commit
• :diff
• :repobrowser
• :checkout
• :export
• :blame
• :repostatus
• :revisiongraph
• :showcompare
• :log
Một URL ví dụ đơn giản có thể trông như thế này:
Update
hoặc trong một trường hợp phức tạp hơn:
compare

D.3. Các lệnh TortoiseIDiff
Công cụ tìm khác biệt hình ảnh có một vài tùy chọn dòng lệnh mà bạn có thể sử dụng để kiểm soát cách mà công
cụ này được bắt đầu. Chương trình này được gọi là TortoiseIDiff.exe .
Bảng dưới đây liệt kê tất cả các tùy chọn có thể được truyền đến công cụ khác biệt hình ảnh trên dòng lệnh.
Tùy chọn

Mô tả

:left

Đường dẫn đến tập tin hiển thị bên trái.

Bảng D.2. Danh sách các tùy chọn có sẵn
Ví dụ (nên được nhập vào trên một dòng):
TortoiseIDiff.exe /left:"c:\images\img1.jpg" /lefttitle:"image 1"
/right:"c:\images\img2.jpg" /righttitle:"image 2"
/fit /overlay

187

Phụ lục E. Tham Chiếu Chéo Giao Diện
Dòng Lệnh
Đôi khi hướng dẫn này đề cập các tài liệu Subversion chính, trong đó mô tả Subversion về Giao Diện Dòng Lệnh
(CLI). Để giúp bạn hiểu những gì TortoiseSVN đang làm đằng sau hậu trường, chúng tôi đã biên soạn một danh
sách hiển thị các lệnh CLI tương đương cho mỗi tác vụ của Giao Diện Người Dùng Đồ Họa TortoiseSVN.

Ghi chú
Mặc dù có các CLI tương đương với những gì TortoiseSVN làm, hãy nhớ rằng TortoiseSVN không
gọi CLI nhưng sử dụng thư viện Subversion trực tiếp.
Nếu bạn nghĩ rằng bạn đã tìm thấy một lỗi trong TortoiseSVN, chúng tôi có thể yêu cầu bạn cố gắng tái tạo nó
bằng cách sử dụng CLI, để chúng tôi có thể phân biệt các vấn đề TortoiseSVN với các vấn đề Subversion. Tham
chiếu này sẽ cho bạn biết lệnh nào để thử.

E.1. Các quy ước và quy tắc cơ bản
Trong các mô tả theo sau đây, URL cho một vị trí kho được thể hiện đơn giản như URL , và một ví dụ có thể
là http://tortoisesvn.googlecode.com/svn/trunk/. Đường dẫn bản sao làm việc được hiển thị
đơn giản là PATH , và một ví dụ có thể là C:\TortoiseSVN\trunk .

Quan trọng
Bởi vì TortoiseSVN là một Windows Shell mở rộng, không thể sử dụng khái niệm về một thư mục
làm việc hiện tại. Tất cả các đường dẫn bản sao làm việc phải được cung cấp bằng cách sử dụng
đường dẫn tuyệt đối, chứ không phải là một đường dẫn tương đối.
Một số mục là tùy chọn, và những cái này những thường được kiểm soát bởi các hộp kiểm tra hoặc nút radio trong
TortoiseSVN. Các tùy chọn này được hiển thị trong [dấu ngoặc vuông] trong định nghĩa dòng lệnh.

E.2. Các lệnh TortoiseSVN
E.2.1. Kiểm xuất
svn checkout [-depth ARG] [--ignore-externals] [-r rev] URL 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 .
Nếu bạn đang kiểm xuất một phiên bản cụ thể, xác định nó sau các URL bằng cách sử dụng chuyển đổi -r .

E.2.2. Cập nhật
svn info URL_of_WC
svn update [-r rev] PATH
Việc cập nhật nhiều mục hiện nay không phải là một hoạt động nguyên tử trong Subversion. Vì vậy, TortoiseSVN
đầu tiên tìm bản sửa đổi CHÍNH của kho, và sau đó cập nhật tất cả các mục với số sửa đổi cụ thể để tránh tạo
ra một bản sao làm việc với hỗn hợp sửa đổi.
188

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