Tải bản đầy đủ
Phụ lục C. Các Lời Khuyên Hữu Ích Cho Các Quản Trị

Phụ lục C. Các Lời Khuyên Hữu Ích Cho Các Quản Trị

Tải bản đầy đủ

Các Lời Khuyên Hữu Ích Cho Các Quản Trị
1.4.1.6000
Một phiên bản mới của TortoiseSVN hiện có sẵn để bạn có thể tải về!
http://192.168.2.1/downloads/TortoiseSVN-1.4.1.6000-svn-1.4.0.msi
Dòng đầu tiên trong tập tin đó là một chuỗi phiên bản. Bạn phải chắc chắn rằng nó phù hợp với chuỗi phiên bản
chính xác của gói cài đặt TortoiseSVN. Dòng thứ hai là một văn bản tùy chỉnh, được hiển thị trong hộp thoại cam
kết. Bạn có thể viết bất cứ điều gì bạn muốn. Chỉ cần lưu ý rằng không gian trong hộp thoại cam kết là hạn chế.
Thông điệp quá dài sẽ được cắt ngắn! Dòng thứ ba là URL đến gói cài đặt mới. URL này được mở ra khi người
dùng nhấp vào nhãn thông báo tùy chỉnh trong hộp thoại cam kết. Bạn cũng có thể chỉ người dùng đến một trang
web thay vì các tập tin MSI trực tiếp. URL được mở ra với trình duyệt web mặc định, vì vậy nếu bạn chỉ định
một trang web, trang đó được mở ra và hiển thị cho người dùng. Nếu bạn chỉ định các gói MSI, trình duyệt sẽ yêu
cầu người dùng lưu các tập tin MSI tại địa phương.

C.3. Thiết lập biến môi trường SVN_ASP_DOT_NET_HACK
Kể từ phiên bản 1.4.0 và sau đó, trình cài đặt TortoiseSVN không cung cấp cho người sử dụng các tùy chọn để
thiết lập biến môi trường SVN_ASP_DOT_NET_HACK nữa, bởi vì nó gây ra nhiều vấn đề và gây nhầm lẫn cho
những người dùng mà luôn luôn cài đặt tất cả mọi thứ bất kể cho dù họ có biết nó là cho cái gì hay không.
Nhưng tùy chọn đó là ẩn cho người sử dụng. Bạn vẫn có thể ép buộc trình cài đặt TortoiseSVN thiết lập biến
môi trường đó bằng cách thiết lập thuộc tính ASPDOTNETHACK thành TRUE. Ví dụ, bạn có thể bắt đầu trình
cài đặt như thế này:
msiexec /i TortoiseSVN-1.4.0.msi ASPDOTNETHACK=TRUE

Quan trọng
Xin lưu ý rằng mánh này là chỉ cần thiết nếu bạn vẫn còn sử dụng VS.NET2002. Tất cả các phiên
bản sau của Visual Studio không yêu cầu mánh này để được kích hoạt! Vì vậy, trừ khi bạn đang sử
dụng công cụ cổ xưa đó, ĐỪNG SỬ DỤNG CÁI NÀY!

C.4. Vô hiệu hoá các mục trình đơn ngữ cảnh
Phiên bản 1.5.0 và sau đó, TortoiseSVN cho phép bạn vô hiệu hóa (trên thực tế, ẩn) các mục trình đơn ngữ cảnh.
Vì đây là một tính năng mà không nên được sử dụng nhẹ nhưng chỉ nếu có một lý do thuyết phục, không có giao
diện đồ họa cho nó và nó phải được thực hiện trực tiếp trong registry. Điều này có thể được sử dụng để vô hiệu
hóa các lệnh nhất định cho người dùng không nên sử dụng chúng. Nhưng xin lưu ý rằng chỉ các mục trình đơn
ngữ cảnh trong explorer được ẩn, và các lệnh vẫn dùng được thông qua các phương tiện khác, ví dụ như dòng
lệnh hoặc thậm chí các hộp thoại khác trong bản thân TortoiseSVN!
Các khóa registry giữ thông tin mà các trình đơn ngữ cảnh được hiển thị là HKEY_CURRENT_USER\Software
\TortoiseSVN\ContextMenuEntriesMaskLow và
HKEY_CURRENT_USER\Software
\TortoiseSVN\ContextMenuEntriesMaskHigh .
Mỗi mục trong các mục registry này là một giá trị DWORD , với mỗi bit tương ứng với một mục trình đơn cụ
thể. Một bit được bật có nghĩa là mục trình đơn tương ứng bị vô hiệu hoá.
Giá trị

Mục trình đơn

0x0000000000000001

Kiểm xuất

Bảng C.1. Các mục trong trình đơn và các giá trị của chúng
Ví dụ: để vô hiệu hóa “Di dời” các mục trình đơn “Xóa các mục không phiên bản” và “Các thiết lập”, thêm các
giá trị được gán cho các mục như thế này:

183

Các Lời Khuyên Hữu Ích Cho Các Quản Trị
0x0000000000080000
+ 0x0000000080000000
+ 0x2000000000000000
= 0x2000000080080000
Giá trị DWORD thấp hơn (0x80080000) phải được lưu trong HKEY_CURRENT_USER\Software
\TortoiseSVN\ContextMenuEntriesMaskLow, giá trị DWORD cao hơn (0x20000000) in
HKEY_CURRENT_USER\Software\TortoiseSVN\ContextMenuEntriesMaskHigh.
Để kích hoạt các mục trình đơn một lần nữa, chỉ đơn giản là xóa các khóa registry.

184

Phụ lục D. Tự động hoá TortoiseSVN
Vì tất cả các lệnh cho TortoiseSVN được kiểm soát thông qua các tham số dòng lệnh, bạn có thể tự động hoá nó
với kịch bản hàng loạt hoặc bắt đầu các lệnh và hộp thoại cụ thể từ các chương trình khác (ví dụ như trình soạn
thảo văn bản yêu thích của bạn).

Quan trọng
Hãy nhớ rằng TortoiseSVN là một trình máy khách giao diện đồ họa, và hướng dẫn tự động này cho
bạn thấy làm thế nào để làm cho các hộp thoại TortoiseSVN xuất hiện để thu thập đầu vào của người
sử dụng. Nếu bạn muốn viết một kịch bản không yêu cầu đầu vào, bạn nên sử dụng dòng lệnh máy
khách Subversion chính thức thay thế.

D.1. Các lệnh TortoiseSVN
Chương trình TortoiseSVN giao diện đồ họa được gọi là TortoiseProc.exe . Tất cả các lệnh được quy
định cụ thể với tham số /command:abcd nơi abcd là tên lệnh được yêu cầu. Hầu hết các lệnh này cần ít
nhất một đối số đường dẫn, được đưa ra với /path: "some\path" . Trong bảng sau lệnh đề cập đến tham
số /command:abcd và đường dẫn liên quan đến tham số /path:"some\path" .
Bởi vì một số lệnh có thể lấy một danh sách các đường dẫn mục tiêu (ví dụ như cam kết một số tập tin cụ thể)
tham số /path có thể lấy một vài đường dẫn, cách nhau bởi ký tự *.
Bạn cũng có thể chỉ định một tập tin, trong đó có một danh sách các đường dẫn, cách nhau bằng ký tự dòng mới.
Các tập tin phải được định dạng UTF-16, mà không có một BOM [http://en.wikipedia.org/wiki/Byte-order_mark]
. Nếu bạn truyền một tập tin như vậy, sử dụng /pathfile thay vì /path . Để TortoiseProc xóa các tập
tin sau khi lệnh này kết thúc, bạn có thể truyền vào tham số /deletepathfile .
Hộp thoại tiến triển được sử dụng cho các cam kết, cập nhật và các lệnh thường vẫn mở sau khi lệnh đã hoàn tất
cho đến khi người dùng nhấn nút OK. Điều này có thể được thay đổi bằng cách kiểm tra các tùy chọn tương ứng
trong hộp thoại thiết lập. Nhưng sử dụng thiết lập đó sẽ đóng hộp thoại tiến triển, bất ể nếu bạn bắt đầu lệnh từ
tập tin hàng loạt của bạn hoặc từ trình đơn ngữ cảnh TortoiseSVN.
Để chỉ định một vị trí khác nhau của tập tin cấu hình, sử dụng các tham số /configdir:"path\to\config
\directory" . Việc này sẽ ghi đè lên đường dẫn mặc định, bao gồm cả bất kỳ thiết lập registry.
Để đóng hộp thoại tiến triển ở cuối một lệnh một cách tự động mà không cần sử dụng các thiết lập vĩnh viễn, bạn
có thể đưa vào tham số /closeonend .
• /closeonend:0 không tự động đóng hộp thoại
• /closeonend:1 tự động đóng nếu không có lỗi
• /closeonend:2 tự động đóng nếu không có lỗi và xung đột
• /closeonend:3 tự động đóng nếu không có lỗi, xung đột và sáp nhập
Để đóng hộp thoại tiến triển cho các hoạt động địa phương nếu không có lỗi hoặc xung đột, đưa vào tham số /
closeforlocal .
Bảng dưới đây liệt kê tất cả các lệnh có thể được truy cập bằng cách sử dụng dòng lệnh TortoiseProc.exe. Như đã
mô tả ở trên, những lệnh này nên được sử dụng dưới hình thức /command:abcd . Trong bảng, tiền tố /
command được bỏ qua để tiết kiệm không gian.
Lệnh

Mô tả

:about

Hiển thị hộp thoại nói về. Cái này cũng được hiển thị nếu lệnh không được đưa ra.

Bảng D.1. Danh sách các lệnh có thể dùng và các tùy chọn
185

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: