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).
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ế.
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"
.
There's a special command that does not require the parameter /command:abcd
but, if nothing is specified on the command line, starts the project monitor instead. If /tray
is specified, the project monitor starts hidden and only adds its icon to the system tray.
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ự *
.
You can also specify a file which contains a list of paths, separated by newlines. The file must be in UTF-16 format, without a BOM. If you pass such a file, use /pathfile
instead of /path
. To have TortoiseProc delete that file after the command is finished, you can pass the parameter /deletepathfile
. If you don't pass /deletepathfile
, you have to delete the file yourself or the file gets left behind.
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
. Đ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.
Bảng D.1. Danh sách các lệnh có thể dùng và các tùy chọn
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. |
:log |
Opens the log dialog. The
An svn date revision can be in one of the following formats:
|
:checkout |
Opens the checkout dialog. The If you specify |
:import | Mở hộp thoại nhập khẩu. Các /path quy định cụ thể thư mục với dữ liệu để nhập khẩu. Bạn cũng có thể chỉ định /logmsg chuyển đổi để truyền vào một thông điệp tường trình được định nghĩa trước vào hộp thoại nhập khẩu. Hoặc, nếu bạn không muốn truyền vào thông báo tường tình trên dòng lệnh, sử dụng /logmsgfile:path , nơi đường dẫn chỉ vào một tập tin có chứa thông điệp tường trình. |
:update | Updates the working copy in /path to HEAD. If the option /rev is given then a dialog is shown to ask the user to which revision the update should go. To avoid the dialog specify a revision number /rev:1234 . Other options are /nonrecursive , /ignoreexternals and /includeexternals . The /stickydepth indicates that the specified depth should be sticky, creating a sparse checkout. The /skipprechecks can be set to skip all checks that are done before an update. If this is specified, then the Hiện tường trình button is disabled, and the context menu to show diffs is also disabled after the update. |
:commit | Mở hộp thoại cam kết. Các /path xác định thư mục đích hay danh sách các tập tin để cam kết. Bạn cũng có thể chỉ định /logmsg chuyển đổi để truyền vào một thông điệp tường trình được xác định trước vào hộp thoại cam kết. Hoặc, nếu bạn không muốn truyền vào thông điệp tường trình trên dòng lệnh, sử dụng /logmsgfile:path , nơi đường dẫn chỉ vào một tập tin có chứa thông điệp tường trình. Để trước khi điền vào hộp ID lỗi (trong trường hợp bạn đã thiết lập tích hợp với bộ theo dõi lỗi đúng cách), bạn có thể sử dụng /bugid:"id lỗi ở đây" để làm điều đó. |
:add | Thêm các tập tin trong /path vào kiểm soát phiên bản. |
:revert | Hoàn nguyên các thay đổi địa phương một bản sao làm việc. Các /path cho biết các mục để hoàn nguyên. |
:cleanup | Cleans up interrupted or aborted operations and unlocks the working copy in /path . You also have to pass the /cleanup to actually do the cleanup. Use /noui to prevent the result dialog from popping up (either telling about the cleanup being finished or showing an error message). /noprogressui also disables the progress dialog. /nodlg disables showing the cleanup dialog where the user can choose what exactly should be done in the cleanup. The available actions can be specified with the options /cleanup for status cleanup, /breaklocks to break all locks, /revert to revert uncommitted changes, /delunversioned , /delignored , /refreshshell , /externals , /fixtimestamps and /vacuum . |
:resolve | Đánh dấu một tập tin mâu thuẫn được chỉ ra tại /path như đã được giải quyết. Nếu /noquestion được đưa ra, thì việc giải quyết được thực hiện mà không cần yêu cầu người sử dụng trước nếu nó thực sự nên được thực hiện. |
:repocreate | Tạo ra một kho lưu trữ trong /path |
:switch | Mở hộp thoại chuyển. Mục /path chỉ ra thư mục đích và /url là URL để chuyển đến. |
:export | Xuất khẩu bản sao làm việc trong /path vào một thư mục khác. Nếu /path chỉ đến một thư mục không phiên bản, một hộp thoại sẽ yêu cầu một URL để xuất khẩu sang các thư mục trong /path . Nếu bạn chỉ định phím /blockpathadjustments , điều chỉnh đường dẫn xuất khẩu tự động sẽ bị chặn. |
:dropexport | Xuất khẩu các bản sao làm việc trong /path vào thư mục quy định tại /droptarget . Việc xuất khẩu này không sử dụng hộp thoại xuất khẩu mà thực hiện trực tiếp. /overwrite Tùy chọn xác định rằng các tập tin có sẵn được ghi đè mà không cần xác nhận của người sử dụng, và tùy chọn /autorename xác định rằng nếu các tập tin đã tồn tại, các tập tin được xuất khẩu được tự động đổi tên để tránh ghi đè lên chúng. Tùy chọn /extended có thể chỉ định một trong localchanges để chỉ xuất khẩu các tập tin đã thay đổi cục bộ, hoặc unversioned để xuất khẩu tất cả các mục không được phiên bản. |
:dropvendor | Copies the folder in /path recursively to the directory specified in /droptarget . New files are added automatically, and missing files get removed in the target working copy, basically ensuring that source and destination are exactly the same. Specify /noui to skip the confirmation dialog, and /noprogressui to also disable showing the progress dialog. |
:merge | Opens the merge dialog. The /path specifies the target directory. For merging a revision range, the following options are available: /fromurl:URL , /revrange:string . For merging two repository trees, the following options are available: /fromurl:URL , /tourl:URL , /fromrev:xxx and /torev:xxx . |
:mergeall | Mở hộp thoại kết hợp tất cả. Các /path xác định thư mục đích. |
:copy | Brings up the branch/tag dialog. The /path is the working copy to branch/tag from. And the /url is the target URL. If the urls starts with a ^ it is assumed to be relative to the repository root. To already check the option Chuyển bản sao làm việc sang nhánh/thẻ mới you can pass the /switchaftercopy switch. To check the option Tạo các thư mục trung gian pass the /makeparents switch. You can also specify the /logmsg switch to pass a predefined log message to the branch/tag dialog. Or, if you don't want to pass the log message on the command line, use /logmsgfile:path , where đường dẫn points to a file containing the log message. |
:settings | Mở hộp thoại thiết lập. |
:remove | Loại bỏ các tập tin trong /path khỏi kiểm soát phiên bản. |
:rename | Đổi tên tập tin trong /path . Các tên mới cho tập tin đó được yêu cầu với một hộp thoại. Để tránh câu hỏi về đổi tên tập tin tương tự trong một bước, chuyển qua /noquestion . |
:diff | Starts the external diff program specified in the TortoiseSVN settings. The /path specifies the first file. If the option /path2 is set, then the diff program is started with those two files. If /path2 is omitted, then the diff is done between the file in /path and its BASE. If the specified file also has property modifications, the external diff tool is also started for each modified property. To prevent that, pass the option /ignoreprops . To explicitly set the revision numbers use /startrev:xxx and /endrev:xxx , and for the optional peg revision use /pegrevision:xxx . If /blame is set and /path2 is not set, then the diff is done by first blaming the files with the given revisions. The parameter /line:xxx specifies the line to jump to when the diff is shown. |
:shelve | Shelves the specified paths in a new shelf. The option /shelfname:name specifies the name of the shelf. An optional log message can be specified with /logmsg:message . If option /checkpoint is passed, the modifications of the files are kept. |
:unshelve | Applies the shelf with the name /shelfname:name to the working copy path. By default the last version of the shelf is applied, but you can specify a version with /version:X . |
:showcompare |
Tùy thuộc vào các URL và các phiên bản để so sánh, việc này hoặc cho thấy một khác biệt thống nhất (nếu tùy chọn Các tùy chọn If the specified url also has property modifications, the external diff tool is also started for each modified property. To prevent that, pass the option If a unified diff is requested, an optional |
:conflicteditor | Bắt đầu trình soạn thảo xung đột quy định trong các thiết lập TortoiseSVN với các tập tin đúng cho tập tin mâu thuẫn trong /path . |
:relocate | Mở hộp thoại di dời. Các /path quy định cụ thể đường dẫn bản sao làm việc để di dời. |
:help | Mở tập tin trợ giúp. |
:repostatus | Mở hộp thoại kiểm tra-cho-sửa đổi. Các /path quy định cụ thể thư mục bản sao làm việc. Nếu /remote được chỉ định, hộp thoại liên lạc kho lưu trữ ngay lập tức khi khởi động, nếu người dùng nhấp vào nút Kiểm tra kho lưu trữ. |
:repobrowser |
Bắt đầu hộp thoại trình duyệt kho lưu trữ, chỉ vào URL của bản sao làm việc được đưa ra trong Một tùy chọn bổ sung Nếu Nếu |
:ignore | Thêm tất cả các mục tiêu ở /path vào danh sách bỏ qua, tức là bổ sung thêm svn:ignore thuộc tính cho các tập tin. |
:blame |
Mở hộp thoại đổ lỗi cho tập tin quy định tại Nếu các tùy chọn Nếu tùy chọn Các tùy chọn |
:cat | Lưu một tập tin từ một đường dẫn URL hoặc bản sao làm việc được đưa ra trong /path đến vị trí được đưa ra trong /savepath:path . Bản sửa đổi này được đưa ra trong /revision:xxx . Điều này có thể được sử dụng để lấy một tập tin với một phiên bản cụ thể. |
:createpatch | Creates a patch file for the path given in /path . To skip the file Save-As dialog you can pass /savepath:path to specify the path where to save the patch file to directly. To prevent the unified diff viewer from being started showing the patch file, pass /noview . If a unified diff is requested, an optional prettyprint option can be specified which will show the merge-info properties in a more user readable format. |
:revisiongraph |
Hiển thị đồ thị sửa đổi cho các đường dẫn được đưa ra trong Để tạo một tập tin ảnh của đồ thị sửa đổi cho một đường dẫn cụ thể, nhưng không hiển thị cửa sổ đồ thị, truyền vào ở vì đồ thị sửa đổi có nhiều lựa chọn có ảnh hưởng đến cách nó được hiển thị như thế nào, bạn cũng có thể thiết lập các tùy chọn để sử dụng khi tạo ra các tập tin hình ảnh đầu ra. Truyền vào những lựa chọn với |
:lock | Khóa một hoặc tất cả các tập tin trong một thư mục được cho bởi /path . Hộp thoại 'khóa' được hiển thị để người dùng có thể nhập một bình luận cho khóa. |
:unlock | Mở khóa một hoặc tất cả các tập tin trong một thư mục được cho trong /path . |
:rebuildiconcache | Xây dựng lại bộ nhớ cache biểu tượng cửa sổ. Chỉ sử dụng trong trường hợp các biểu tượng cửa sổ bị hỏng. Một tác dụng phụ của việc này (không có thể tránh được) là các biểu tượng trên máy tính để bàn được sắp xếp lại. Để ngăn chặn các hộp thông báo, truyền vào /noquestion . |
:properties |
Hiển thị hộp thoại thuộc tính cho đường dẫn cho bởi Để làm việc với các thuộc tính được đánh phiên bản lệnh này đòi hỏi một bản sao làm việc. Các thuộc tính của bản chỉnh sửa có thể được xem/thay đổi nếu Để mở hộp thoại thuộc tính trực tiếp cho một thuộc tính cụ thể, truyền vào tên thuộc tính dưới dạng |
:sync |
Exports/imports settings, either depending on whether the current settings or the exported settings are newer, or as specified. If a path is passed with The parameter If neither If If The parameter |
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