TSVN poChecker

This tool, to be used before committing your work, should help you locate problems in translation files. Please consider it as work-in-progress, as we are still working on it.

First of all, it will help you find missing accelerators - Luebbe's translation status page shows counts but not strings themselves, so the table below will help you fix these problems.

The analysis also includes some other useful lists, it checks for instance for correct new line styles, untranslated strings and spelling mistakes. As we prefer to err on the side of caution, you may find a lot of false positives. Anyway I hope this will help you improve the quality of your translation.

Oto



For new translators

Please follow this link if you think you may help with translation.
-> TortoiseSVN translation


Precommit checker

You can upload file for check before you make actual commit, so you can fix errors in one commit.

Make sure you are going to check translation against proper branch.

Choose a file to upload:



Revision: 20088 of trunk

Last update: September 05 2010 17:08 CET (GMT+1/GMT+2(DST))
Go to STABLE.

Language GUI check DOC Author(s)
Flag PAR!! ACC! NLS UNT FUZ ESC Note
Chinese, simplified zh_CN 4 6 374 335 4 374/335 5 Dongsheng Song, Cecil Sheng, Ken Chew, Cobra Net, Xingyu Wang, Lixinfeng

GUI history graph:


history

TSVN doc history graph:


history

TMerge doc history graph:


history

Revision: 20088

PO Check (zh_CN)

Parameter strings test

This test is necessary to pass or you can expect crashing of TSVN - specially true when you use longer type as is in English like %s instead of %d, %ld instead of %d, etc. Also having more parameters lead to crash TSVN. When TSVN not crash, the information is still wrong. For example number instead of text.

PASS

Missing/Unexpected Key Accelerator test

This is accessibility test. Passing this test is recommended. If you are interesting in more details about accelerator key overlapping I may enable such test for your language, but in fact there not too much to do against it. According Luebbe and Stefan there is no problem about it you just have to use accelerator more time to select element and then use enter or space for activate button.

Index Line English Line Native
1 Consider this scenario: suppose we have two co-workers, Harry and Sally. They each decide to edit the same repository file at the same time. If Harry saves his changes to the repository first, then it's possible that (a few moments later) Sally could accidentally overwrite them with her own new version of the file. While Harry's version of the file won't be lost forever (because the system remembers every change), any changes Harry made <emphasis>won't</emphasis> be present in Sally's newer version of the file, because she never saw Harry's changes to begin with. Harry's work is still effectively lost - or at least missing from the latest version of the file - and probably by accident. This is definitely a situation we want to avoid! 757 考虑这个情景,我们有两个共同工作者,Harry 和 Sally,他们想同时编辑版本库里的同一个文件,如果首先 Harry 保存它的修改,过了一会,Sally 可能凑巧用自己的版本覆盖了这些文件,Harry 的更改不会永远消失(因为系统记录了每次修改),Harry 所有的修改<emphasis>不会</emphasis>出现在 Sally 的文件中,所以 Harry 的工作还是丢失了&mdash;至少是从最新的版本中丢失了&mdash;而且是意外的,这就是我们要明确避免的情况!
2 Subversion, CVS, and other version control systems use a <firstterm>copy-modify-merge</firstterm> model as an alternative to locking. In this model, each user's client reads the repository and creates a personal <firstterm>working copy</firstterm> of the file or project. Users then work in parallel, modifying their private copies. Finally, the private copies are merged together into a new, final version. The version control system often assists with the merging, but ultimately a human being is responsible for making it happen correctly. 796 Subversion,CVS 和一些版本控制系统使用<firstterm>复制-修改-合并</firstterm>模型,在这种模型里,每一个客户读取项目版本库建立一个私有<firstterm>工作副本</firstterm>&mdash;版本库中文件和目录的本地映射。用户并行工作,修改各自的工作副本,最终,各个私有的复制合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误。
3 To include such a link in your own html page, you need to add code which looks something like this: <placeholder-1/> 1588(Fuzzy) 为了在你自己的网页上包含这样一个链接,你需要添加类似下面的代码: <screen>\n
&lt;a href=\"tsvn:https://tortoisesvn.tigris.org/svn/tortoisesvn/trunk\"&gt;&lt;/a&gt;\n
</screen>
4 Of course it would look even better if you included a suitable picture. You can use the <ulink url=\"http://tortoisesvn.tigris.org/images/TortoiseCheckout.png\"><citetitle>TortoiseSVN logo</citetitle></ulink> or you can provide your own image. <placeholder-1/> 1607(Fuzzy) 当然,如果你提供一个合适的图片会更好,你可以使用<ulink url=\"http://tortoisesvn.tigris.org/images/TortoiseCheckout.png\"><citetitle>TortoiseSVN logo</citetitle></ulink>,也可以使用自己的图片。<screen>\n
&lt;a href=\"tsvn:https://tortoisesvn.tigris.org/svn/tortoisesvn/trunk\"&gt;\n
&lt;img src=TortoiseCheckout.png&gt;&lt;/a&gt;\n
</screen>
Note: Line numbers are as in committed file, it may differ when you update to use newer .pot, also edited multi line messages may shift line position.

Total:4

Differences in new line style

This tests if new line style from pot match localized new line style. This test may have false positives when English text has new line style inconsistence. Using more lines for Native when English use just one is also alowed for most of translation even here reported.

Index Line English Line Native
1 To include such a link in your own html page, you need to add code which looks something like this: <placeholder-1/> 1364 为了在你自己的网页上包含这样一个链接,你需要添加类似下面的代码: <screen>\n
&lt;a href=\"tsvn:https://tortoisesvn.tigris.org/svn/tortoisesvn/trunk\"&gt;&lt;/a&gt;\n
</screen>
2 Of course it would look even better if you included a suitable picture. You can use the <ulink url=\"http://tortoisesvn.tigris.org/images/TortoiseCheckout.png\"><citetitle>TortoiseSVN logo</citetitle></ulink> or you can provide your own image. <placeholder-1/> 1373 当然,如果你提供一个合适的图片会更好,你可以使用<ulink url=\"http://tortoisesvn.tigris.org/images/TortoiseCheckout.png\"><citetitle>TortoiseSVN logo</citetitle></ulink>,也可以使用自己的图片。<screen>\n
&lt;a href=\"tsvn:https://tortoisesvn.tigris.org/svn/tortoisesvn/trunk\"&gt;\n
&lt;img src=TortoiseCheckout.png&gt;&lt;/a&gt;\n
</screen>
3 Assuming your repository is located in <filename>c:\\repos\\TestRepo</filename>, and your server is called <filename>localhost</filename>, enter: <screen>\n
svn://localhost/repos/TestRepo\n
</screen> when prompted by the repo browser.
1463 假定你的版本库位于<filename>c:\\repos\\TestRepo</filename>,你的服务器叫做<filename>localhost</filename>,输入: <screen>\n
svn://localhost/repos/TestRepo\n
</screen>当被版本库浏览器提示输入。
4 You can also increase security and save time entering URLs with svnserve by using the --root switch to set the root location and restrict access to a specified directory on the server: <screen>\n
svnserve.exe --daemon --root drive:\\path\\to\\repository\\root\n
</screen> Using the previous test as a guide, svnserve would now run as: <screen>\n
svnserve.exe --daemon --root c:\\repos\n
</screen> And in TortoiseSVN our repo-browser URL is now shortened to: <screen>\n
svn://localhost/TestRepo\n
</screen> Note that the --root switch is also needed if your repository is located on a different partition or drive than the location of svnserve on your server.
1467 你也可以使用 --root 选项设置根位置来限制访问服务器的目录,从而增加安全性和节约输入 svnserve URL 的时间: <screen>\n
svnserve.exe --daemon --root drive:\\path\\to\\repository\\root\n
</screen>以前面的测试为例,svnserve 现在的运行命令为: <screen>\n
svnserve.exe --daemon --root c:\\repos\n
</screen>然后在 TortoiseSVN 中我们的版本库浏览器 URL 缩短为: <screen>\n
svn://localhost/TestRepo\n
</screen>注意,当 svnserve 和版本库位于不同分区或盘符时也需要使用 --root 选项。
5 To install svnserve as a native windows service, execute the following command all on one line to create a service which is automatically started when windows starts. <screen>\n
sc create svnserve binpath= \"c:\\svnserve\\svnserve.exe --service\n
--root c:\\repos\" displayname= \"Subversion\" depend= tcpip\n
start= auto\n
</screen> If any of the paths include spaces, you have to use (escaped) quotes around the path, like this: <screen>\n
sc create svnserve binpath= \"\n
\\\"C:\\Program Files\\Subversion\\bin\\svnserve.exe\\\"\n
--service --root c:\\repos\" displayname= \"Subversion\"\n
depend= tcpip start= auto\n
</screen> You can also add a description after creating the service. This will show up in the Windows Services Manager. <screen>\n
sc description svnserve \"Subversion server (svnserve)\"\n
</screen>
1483 为了将 svnserve 安装为 Windows 服务,在一行内执行下面的命令,创建一个当 Windows 启动后,自动启动的服务。<screen>\n
sc create svnserve binpath= \"c:\\svnserve\\svnserve.exe --service \n
--root c:\\repos\" displayname= \"Subversion\" depend= tcpip start= auto\n
</screen> 如果任一个路径包含空格,你必须使用双引号(逃逸字符)包含路径,例如:<screen>\n
sc create svnserve binpath= \"\\\"C:\\Program Files\\Subversion\\bin\\svnserve.exe\\\"\n
--service --root c:\\repos\" displayname= \"Subversion\" depend= tcpip start= auto\n
</screen> 在创建服务以后,你还可以增加描述。它在 Windows 服务管理器中显示。<screen>\n
sc description svnserve \"Subversion server (svnserve)\"\n
</screen>
6 11583 translator-credits 11583 amo <amosir@gmail.com>, 2006\n
Dongsheng Song <dongsheng.song@gmail.com>, 2006, 2007, 2008, 2009, 2010\n
Garfield Yao <field977@gmail.com>, 2009\n
Jaxx_chen <Jaxx.Chen@gmail.com>, 2006\n
kkeric <kkeric@sina.com>, 2006\n
liuheqi <liuheqi@gmail.com>, 2006\n
lulu2me <lu-liuyun@163.com>, 2006\n
rocksun <daijun@gmail.com>, 2006-2007\n
Stan <thinkernel@yeah.net>, 2006\n
sunjing <sunjingzhi@gmail.com>, 2006\n
Tan Ruyan <try876@gmail.com>, 2006\n
xingyu.wang <xingyu.wang@gmail.com>, 2006\n
yasakya <yasakya@gmail.com>, 2006
Note: Line numbers are as in committed file, it may differ when you update to use newer .pot, also edited multi line messages may shift line position.

Total:6

Not translated strings test

This tests if all strings has been translated. Translated mean that there in native string set. If English and native are same it is not marked as not translated, this just can happen.

Index Line English Line
1 15 @@image: 'images/svn_move.png'; md5=THIS FILE DOESN'T EXIST 72
2 125 When you list the changes to a file or folder, you can click on a revision to see the comments for that commit. You can also see a list of changed files - just double click on a file to see exactly what changed. 185
3 129 The commit dialog lists all the items that will be included in a commit, and each item has a checkbox so you can choose which items you want to include. Unversioned files can also be listed, in case you forgot to add that new file. 189
4 197 TortoiseSVN is an Open Source project developed under the GNU General Public License (GPL). It is free to download and free to use, either personally or commercially, on any number of PCs. 258
5 205 Development 267
6 317 The explains how to install TortoiseSVN on your PC, and how to start using it straight away. 389
7 398 This section is aimed at people who would like to find out what TortoiseSVN is all about and give it a test drive. It explains how to install TortoiseSVN and set up a local repository, and it walks you through the most commonly used operations. 472
8 410 TortoiseSVN runs on Windows XP or higher and is available in both 32-bit and 64-bit flavours. If you are running 64-bit Windows you may want to install both versions. 484
9 434 Language packs are available which translate the TortoiseSVN user interface into many different languages. Please check for more information on how to install these. 510
10 446 Before we get stuck into working with some real files, it is important to get an overview of how subversion works and the terms that are used. 524
11 457 Subversion uses a central database which contains all your version-controlled files with their complete history. This database is referred to as the repository. The repository normally lives on a file server running the Subversion server program, which supplies content to Subversion clients (like TortoiseSVN) on request. If you only back up one thing, back up your repository as it is the definitive master copy of all your data. 535
12 466 This is where you do the real work. Every developer has his own working copy, sometimes known as a sandbox, on his local PC. You can pull down the latest version from the repository, work on it locally without affecting anyone else, then when you are happy with the changes you made commit them back to the repository. 544
13 470 A Subversion working copy does not contain the history of the project, but it does keep a copy of the files as they exist in the repository before you started making changes. This means that it is easy to check exactly what changes you have made. 548
14 479 You also need to know where to find TortoiseSVN because there is not much to see from the Start Menu. This is because TortoiseSVN is a Shell extension, so first of all, start Windows Explorer. Right click on a folder in Explorer and you should see some new entries in the context menu like this: 557
15 483 Go for a Test Drive 561
16 487 This section shows you how to try out some of the most commonly used features on a small test repository. Naturally it doesn't explain everything - this is just the Quick Start Guide after all. Once you are up and running you should take the time to read the rest of this user guide, which takes you through things in much more detail. It also explains more about setting up a proper Subversion server. 565
17 495 For a real project you will have a repository set up somewhere safe and a Subversion server to control it. For the purposes of this tutorial we are going to use Subversion's local repository feature which allows direct access to a repository created on your hard drive without needing a server at all. 574
18 499 First create a new empty directory on your PC. It can go anywhere, but in this tutorial we are going to call it C:\\svn_repos. Now right click on the new folder and from the context menu choose TortoiseSVNCreate Repository here.... The repository is then created inside the folder, ready for you to use. 578
19 503 The local repository feature is very useful for test and evaluation but unless you are working as a sole developer on one PC you should always use a proper Subversion server. It is tempting in a small company to avoid the work of setting up a server and just access your repository on a network share. Don't ever do that. You will lose data. Read to find out why this is a bad idea, and how to set up a server. 582
20 516 Now we have a repository, but it is completely empty at the moment. Let's assume I have a set of files in C:\\Projects\\Widget1 that I would like to add. Navigate to the Widget1 folder in Explorer and right click on it. Now select TortoiseSVNImport... which brings up a dialog A Subversion repository is referred to by URL, which allows us to specify a repository anywhere on the Internet. In this case we need to point to our own local repository which has a URL of file:///c:/svn_repos/Widget1 Note that there are 3 slashes after file: and that the forward slashes are used throughout. 596
21 520 The other important feature of this dialog is the Import Message box which allows you to enter a message describing what you are doing. When you come to look through your project history, these commit messages are a valuable guide to what changes have been made and why. In this case we can say something simple like Import the Widget1 project. Click on OK and the folder is added to your repository. 600
22 528 Now that we have a project in our repository, we need to create a working copy to use for day-to-day work. Note that the act of importing a folder does not automatically turn that folder into a working copy. The Subversion term for creating a fresh working copy is Checkout. We are going to checkout the Widget1 folder of our repository into a development folder on the PC called C:\\Projects\\Widget1-Dev. Create that folder, then right click on it and select TortoiseSVNCheckout.... Enter the URL to checkout, in this case file:///c:/svn_repos/Widget1 and click on OK. Our development folder is then populated with files from the repository. 609
23 532 You will notice that the appearance of this folder is different from our original folder. Every file has a green check mark in the bottom left corner. These are TortoiseSVN's status icons which are only present in a working copy. The green state indicates that the file is unchanged from the version in the repository. 613
24 540 Time to get to work. In the Widget1-Dev we start editing files - let's say we make changes to Widget1.c and ReadMe.txt. Notice that the icon overlays on these files have now changed to red, indicating that changes have been made locally. 622
25 552 OK, so we are happy with the changes, let's update the repository. This action is referred to as a Commit of the changes. Right click on the Widget1-Dev folder and select TortoiseSVNCommit. The commit dialog lists the changed files, each with a checkbox. You might want to choose only a subset of those files, but in this case we are going to commit the changes to both files. Enter up a message to describe what the change is all about and click on OK. The progress dialog shows the files being uploaded to the repository and you're done. 636
26 560 As the project develops you will need to add new files - let's say you add some new features in Extras.c and add a reference in the existing Makefile. Right click on the folder and TortoiseSVNAdd. The Add dialog now shows you all unversioned files and you can select which ones you want to add. Another way of adding files would be to right click on the file itself and select TortoiseSVNAdd. 645
27 564 Now when you go to commit the folder, the new file shows up as Added and the existing file as Modified. Note that you can double click on the modified file to check exactly what changes were made. 649
28 568 Viewing the Project History 653
29 576 One of the most useful features of TortoiseSVN is the Log dialog. This shows you a list of all the commits you made to a file or folder, and shows those detailed commit messages that you entered ;-) OK, so I cheated a little here and used a screenshot from the TortoiseSVN repository. 662
30 580 The top pane shows a list of revisions committed along with the start of the commit message. If you select one of these revisions, the middle pane will show the full log message for that revision and the bottom pane will show a list of changed files and folders. 666
31 584 Each of these panes has a context menu which provides you with lots more ways of using the information. In the bottom pane you can double click on a file to see exactly what changes were made in that revision. Read to get the full story. 670
32 592 One feature of all revision control systems is that they let you undo changes that you made previously. As you would expect, TortoiseSVN makes this easy to access. 679
33 596 If you want to get rid of changes that you have not yet committed and reset your file to the way it was before you started editing, TortoiseSVNRevert is your friend. This discards your changes (to the Recycle bin, just in case) and reverts to the committed version you started with. If you want to get rid of just some of the changes, you can use TortoiseMerge to view the differences and selectively revert changed lines. 683
34 604 Moving On ... 692
35 608 This guide has given you a very quick tour of some of TortoiseSVN's most important and useful features, but of course there is far more that we haven't covered. We strongly recommend that you take the time to read the rest of this manual, especially which gives you a lot more detail on day-to-day operations. 696
36 612 We have taken a lot of trouble to make sure that it is both informative and easy to read, but we recognise that there is a lot of it! Take your time and don't be afraid to try things out on a test repository as you go along. The best way to learn is by using it. 700
37 1115 You will also be asked whether you want to create a directory structure within the repository. Find out about layout options in . 1255
38 1119 TortoiseSVN will set a custom folder icon when it creates a repository so you can identify local repositories more easily. If you create a repository using the official command line client this folder icon is not assigned. 1259
39 1208 Because this layout is so commonly used, when you create a new repository using TortoiseSVN, it will also offer to create the directory structure for you. 1359
40 1327 If a hook script rejects your commit then its decision is final. But you can build an override mechanism into the script itself using the Magic Word technique. If the script wants to reject the operation it first scans the log message for a special pass phrase, either a fixed phrase or perhaps the filename with a prefix. If it finds the magic word then it allows the commit to proceed. If the phrase is not found then it can block the commit with a message like You didn't say the magic word :-) 1545
41 2522 In windows explorer, Right click on the checked out folder, then use TortoiseSVNRepo-Browser to bring up the repository browser. Find the sub-folder you would like to add to your working copy, then use Context menuUpdate item to revision... That menu will only be visible if the selected item does not exist yet in your working copy, but the parent item does exist.
42 2748 Getting the regex just right can be tricky, so to help you sort out a suitable expression there is a test dialog which allows you to enter an expression and then type in filenames to test it against. Start it from the command prompt using the command TortoiseProc.exe /command:autotexttest 3538
43 3280 There are other cases which are labelled as tree conflicts simply because the conflict involves a folder rather than a file. For example if you add a folder with the same name to both trunk and branch and then try to merge you will get a tree conflict. If you want to keep the folder from the merge target, just mark the conflict as resolved. If you want to use the one in the merge source then you need to SVN delete the one in the target first and run the merge again. If you need anything more complicated then you have to resolve manually. 4095
44 4123 Simple sub-string search works in a manner similar to a search engine. Strings to search for are separated by spaces, and all strings must match. You can use a leading - to specify that a particular sub-string is not found (invert matching for that term), and you can use ! at the start of the expression to invert matching for the entire expression. You can use quote marks to surround a string which must contain spaces, and if you want to search for a literal quotation mark you can use two quotation marks together as a self-escaping sequence. Note that the backslash character is not used as an escape character and has no special significance in simple sub-string searches. Examples will make this easier: \n
Alice Bob -Eve\n
searches for strings containing both Alice and Bob but not Eve \n
!Alice Bob\n
searches for strings which do not contain both Alice and Bob \n
!-Alice -Bob\n
do you remember De Morgan's theorem? NOT(NOT Alice AND NOT Bob) reduces to (Alice OR Bob). \n
\"Alice and Bob\"\n
searches for the literal expression Alice and Bob\n
\"\"\n
searches for a double-quote anywhere in the text \n
\"Alice says \"\"hi\"\" to Bob\"\n
searches for the literal expression Alice says \"hi\" to Bob
4945
45 4593 version new files 5430
46 4908 Another way of moving or copying files is to use the Windows copy/cut commands. Select the files you want to copy, right-click and choose Context MenuCopy from the explorer context menu. Then browse to the target folder, right-click and choose TortoiseSVNPaste. For moving files, choose Context MenuCut instead of Context MenuCopy. 5745
47 5226 Edit properties at HEAD revision 6064
48 5230 Because properties are versioned, you cannot edit the properties of previous revisions. If you look at properties from the log dialog, or from a non-HEAD revision in the repository browser, you will see a list of properties and values, but no edit controls. 6068
49 5432 Fetching properties remotely is a slow operation, so some of the features described above will not work in the repository browser as they do in a working copy. 6272
50 5436 When you add a property using the repo browser, only the standard svn: properties are offered in the pre-defined list. Any other property name must be entered manually. 6276
51 5440 Properties cannot be set or deleted recursively using the repo browser. 6280
52 5444 Project properties will not be propagated automatically when a child folder is added using the repo browser. 6284
53 5448 tsvn:autoprops will not set properties on files which are added using the repo browser. 6288
54 5873 If you want to merge changes back out of your working copy, to revert a change which has already been committed, select the revisions to revert and make sure the Reverse merge box is checked. 6765
55 5909 There are some conditions which apply to a reintegrate merge. Firstly, the server must support merge tracking. The working copy must be of depth infinite (no sparse checkouts), and it must not have any local modifications, switched items or items that have been updated to revisions other than HEAD. All changes to trunk made during branch development must have been merged across to the branch (or marked as having been merged). The range of revisions to merge will be calculated automatically. 6804
56 5917 two trees 6812
57 5925 If you are using this method to merge a feature branch back to trunk, you need to start the merge wizard from within a working copy of trunk. 6820
58 5949 This page of the wizard lets you specify advanced options, before starting the merge process. Most of the time you can just use the default settings. 6845
59 5961 You can specify the way that line ending and whitespace changes are handled. These options are described in . The default behaviour is to treat all whitespace and line-end differences as real changes to be merged. 6859
60 5965 The checkbox marked Force the merge is used to avoid a tree conflict where an incoming delete affects a file that is either modified locally or not versioned at all. If the file is deleted then there is no way to recover it, which is why that option is not checked by default. 6863
61 5969 If you are using merge tracking and you want to mark a revision as having been merged, without actually doing the merge here, check the Only record the merge checkbox. There are two possible reasons you might want to do this. It may be that the merge is too complicated for the merge algorithms, so you code the changes by hand, then mark the change as merged so that the merge tracking algorithm is aware of it. Or you might want to prevent a particular revision from being merged. Marking it as already merged will prevent the merge occurring with merge-tracking-aware clients. 6867
62 5977 The merge progress dialog shows each stage of the merge, with the revision ranges involved. This may indicate one more revision than you were expecting. For example if you asked to merge revision 123 the progress dialog will report Merging revisions 122 through 123. To understand this you need to remember that Merge is closely related to Diff. The merge process works by generating a list of differences between two points in the repository, and applying those differences to your working copy. The progress dialog is simply showing the start and end points for the diff. 6876
63 5985 The merge is now complete. It's a good idea to have a look at the merge and see if it's as expected. Merging is usually quite complicated. Conflicts often arise if the branch has drifted far from the trunk. 6884
64 6017 You can avoid the danger of merging the same revision twice (repeated merge problem). Once a revision is marked as having been merged, future merges which include that revision in the range will skip over it. 6919
65 6021 When you merge a branch back into trunk, the log dialog can show you the branch commits as part of the trunk log, giving better traceability of changes. 6923
66 6025 When you show the log dialog from within the merge dialog, revisions already merged are shown in grey. 6927
67 6029 When showing blame information for a file, you can choose to show the original author of merged revisions, rather than the person who did the merge. 6931
68 6033 You can mark revisions as do not merge by including them in the list of merged revisions without actually doing the merge. 6935
69 6041 Merge tracking information is stored in the svn:mergeinfo property by the client when it performs a merge. When the merge is committed the server stores that information in a database, and when you request merge, log or blame information, the server can respond appropriately. For the system to work properly you must ensure that the server, the repository and all clients are upgraded. Earlier clients will not store the svn:mergeinfo property and earlier servers will not provide the information requested by new clients. 6943
70 6061 Merging does not always go smoothly. Sometimes there is a conflict, and if you are merging multiple ranges, you generally want to resolve the conflict before merging of the next range starts. TortoiseSVN helps you through this process by showing the merge conflict callback dialog. 6964
71 6065 Choosing Prefer local will select your local changes in every conflict. Likewise, Prefer repository will select the repository changes in every conflict. This sounds easy, but the conflicts often cover more lines than you think they will and you may get unexpected results. 6968
72 6069 Normally you will want to look at the conflicts and resolve them yourself. In that case, choose the Edit Conflict which will start up your merge tool. When you are satisfied with the result, click Resolved. 6972
73 6073 The last option is to postpone resolution and continue with merging. You can choose to do that for the current conflicted file, or for all files in the rest of the merge. However, if there are further changes in that file, it will not be possible to complete the merge. 6976
74 6077 It is likely that some of the changes will have merged smoothly, while other local changes conflict with changes already committed to the repository. All changes which can be merged are merged. The Merge Conflict Callback dialog gives you three different ways of handling the lines which are in conflict. 6980
75 6081 If you do not want to use this interactive callback, there is a checkbox in the merge progress dialog Merge non-interactive. If this is set for a merge and the merge would result in a conflict, the file is marked as in conflict and the merge goes on. You will have to resolve the conflicts after the whole merge is finished. If it is not set, then before a file is marked as conflicted you get the chance to resolve the conflict during the merge. This has the advantage that if a file gets multiple merges (multiple revisions apply a change to that file), subsequent merges might succeed depending on which lines are affected. But of course you can't walk away to get a coffee while the merge is running ;) 6984
76 6085 Merge a Completed Branch 6988
77 6097 If you want to merge all changes from a feature branch back to trunk, then you can use the TortoiseSVNMerge reintegrate... from the extended context menu (hold down the Shift key while you right click on the file). This dialog is very easy. All you have to do is set the options for the merge, as described in . The rest is done by TortoiseSVN automatically using merge tracking. 7002
78 6101 Feature Branch Maintenance 7006
79 6105 When you develop a new feature on a separate branch it is a good idea to work out a policy for re-integration when the feature is complete. If other work is going on in trunk at the same time you may find that the differences become significant over time, and merging back becomes a nightmare. 7010
80 6109 If the feature is relatively simple and development will not take long then you can adopt a simple approach, which is to keep the branch entirely separate until the feature is complete, then merge the branch changes back into trunk. In the merge wizard this would be a simple Merge a range of revisions, with the revision range being the revision span of the branch. 7014
81 6113 If the feature is going to take longer and you need to account for changes in trunk, then you need to keep the branch synchronised. This simply means that periodically you merge trunk changes into the branch, so that the branch contains all the trunk changes plus the new feature. The synchronisation process uses Merge a range of revisions. When the feature is complete then you can merge it back to trunk using either Reintegrate a branch or Merge two different trees. 7018
82 6413 If you need a better visual indicator of where the oldest and newest changes are, select ViewColor age of lines. This will use a colour gradient to show newer lines in red and older lines in blue. The default colouring is quite light, but you can change it using the TortoiseBlame settings. 7324
83 6417 If you are using Merge Tracking, where lines have changed as a result of merging from another path, TortoiseBlame will show the revision and author of the last change in the original file rather than the revision where the merge took place. These lines are indicated by showing the revision and author in italics. If you do not want merged lines shown in this way, uncheck the Include merge info checkbox. 7328
84 6514 View/Edit the file's properties. 7428
85 6638 Added or copied items 7560
86 6658 Renamed items are also shown using an octagon, but the default colour is blue. 7584
87 6666 The graph is normally restricted to showing branch points, but it is often useful to be able to see the respective HEAD revision for each branch too. If you select Show HEAD revisions, each HEAD revision nodes will be shown as an ellipse. Note that HEAD here refers to the last revision committed on that path, not to the HEAD revision of the repository. 7592
88 6674 If you invoked the revision graph from a working copy, you can opt to show the BASE revision on the graph using Show WC revision, which marks the BASE node with a bold outline. 7601
89 6682 If you invoked the revision graph from a working copy, you can opt to show an additional node representing your modified working copy using Show WC modifications. This is an elliptical node with a bold outline in red by default. 7610
90 6694 Each revision graph node represents a revision in the repository where something changed in the tree you are looking at. Different types of node can be distinguished by shape and colour. The shapes are fixed, but colours can be set using TortoiseSVNSettings 7623
91 6702 The default view (grouping off) places the nodes such that their vertical position is in strict revision order, so you have a visual cue for the order in which things were done. Where two nodes are in the same column the order is very obvious. When two nodes are in adjacent columns the offset is much smaller because there is no need to prevent the nodes from overlapping, and as a result the order is a little less obvious. Such optimisations are necessary to keep complex graphs to a reasonable size. Please note that this ordering uses the edge of the node on the older side as a reference, i.e. the bottom edge of the node when the graph is shown with oldest node at the bottom. The reference edge is significant because the node shapes are not all the same height. 7632
92 6706 Changing the View 7636
93 6714 The default behavior (grouping off) has all rows sorted strictly by revision. As a result, long-living branches with sparse commits occupy a whole column for only a few changes and the graph becomes very broad. 7644
94 6718 This mode groups changes by branch, so that there is no global revision ordering: Consecutive revisions on a branch will be shown in (often) consecutive lines. Sub-branches, however, are arranged in such a way that later branches will be shown in the same column above older branches to keep the graph slim. As a result, a given row may contain changes from different revisions. 7648
95 6734 When a graph is broken into several smaller trees, the trees may appear either in natural revision order, or aligned at the bottom of the window, depending on whether you are using the Group Branches option. Use this option to grow all trees down from the top instead. 7665
96 6746 Differential path names 7678
97 6750 Long path names can take a lot of space and make the node boxes very large. Use this option to show only the changed part of a path, replacing the common part with dots. E.g. if you create a branch /branches/1.2.x/doc/html from /trunk/doc/html the branch could be shown in compact form as /branches/1.2.x/.. because the last two levels, doc and html, did not change. 7682
98 6758 This does just what you expect and shows every revision where something (in the tree that you are graphing) has changed. For long histories this can produce a truly huge graph. 7691
99 6774 When a branch/tag is made, the default behaviour is to show the branch as taken from the last node where a change was made. Strictly speaking this is inaccurate since the branches are often made from the current HEAD rather than a specific revision. So it is possible to show the more correct (but less useful) revision that was used to create the copy. Note that this revision may be younger than the HEAD revision of the source branch. 7707
100 6782 When a project has many tags, showing every tag as a separate node on the graph takes a lot of space and obscures the more interesting development branch structure. At the same time you may need to be able to access the tag content easily so that you can compare revisions. This option hides the nodes for tags and shows them instead in the tooltip for the node that they were copied from. A tag icon on the right side of the source node indicates that tags were made. 7715
101 6786 Hide deleted paths 7719
102 6790 Hides paths which are no longer present at the HEAD revision of the repository, e.g. deleted branches. 7723
103 6794 Hide unchanged branches 7727
104 6798 Hides branches where no changes were committed to the respective file or sub-folder. This does not necessarily indicate that the branch was not used, just that no changes were made to this part of it. 7731
105 6806 Marks the revision on the graph which corresponds to the update revision of the item you fetched the graph for. If you have just updated, this will be HEAD, but if others have committed changes since your last update your WC may be a few revisions lower down. The node is marked by giving it a bold outline. 7740
106 6814 If your WC contains local changes, this option draws it as a separate elliptical node, linked back to the node that your WC was last updated to. The default outline colour is red. You may need to refresh the graph using F5 to capture recent changes. 7749
107 6826 Tree stripes 7762
108 6830 Where the graph contains several trees, it is sometimes useful to use alternating colours on the background to help distinguish between trees. 7766
109 6834 Show overview 7770
110 6838 Shows a small picture of the entire graph, with the current view window as a rectangle which you can drag. This allows you to navigate the graph more easily. Note that for very large graphs the overview may become useless due to the extreme zoom factor and will therefore not be shown in such cases. 7774
111 6870 You can also merge changes in the selected revision(s) into a different working copy. A folder selection dialog allows you to choose the working copy to merge into, but after that there is no confirmation dialog, nor any opportunity to try a test merge. It is a good idea to merge into an unmodified working copy so that you can revert the changes if it doesn't work out! This is a useful feature if you want to merge selected revisions from one branch to another. 7807
112 6878 First-time users may be surprised by the fact that the revision graph shows something that does not match the user's mental model. If a revision changes multiple copies or branches of a file or folder, for instance, then there will be multiple nodes for that single revision. It is a good practice to start with the leftmost options in the toolbar and customize the graph step-by-step until it comes close to your mental model. 7816
113 6882 All filter options try lose as little information as possible. That may cause some nodes to change their color, for instance. Whenever the result is unexpected, undo the last filter operation and try to understand what is special about that particular revision or branch. In most cases, the initially expected outcome of the filter operation would either be inaccurate or misleading. 7820
114 6886 If you want to check the server again for newer information, you can simply refresh the view using F5. If you are using the log cache (enabled by default), this will check the repository for newer commits and fetch only the new ones. If the log cache was in offline mode, this will also attempt to go back online. 7824
115 6890 If you are using the log cache and you think the message content or author may have changed, you should use the log dialog to refresh the messages you need. Since the revision graph works from the repository root, we would have to invalidate the entire log cache, and refilling it could take a very long time. 7828
116 6894 Pruning Trees 7832
117 6898 A large tree can be difficult to navigate and sometimes you will want to hide parts of it, or break it down into a forest of smaller trees. If you hover the mouse over the point where a node link enters or leaves the node you will see one or more popup buttons which allow you to do this. 7836
118 6902 Click on the minus button to collapse the attached sub-tree. 7840
119 6906 Click on the plus button to expand a collapsed tree. When a tree has been collapsed, this button remains visible to indicate the hidden sub-tree. 7844
120 6910 Click on the cross button to split the attached sub-tree and show it as a separate tree on the graph. 7848
121 6914 Click on the circle button to reattach a split tree. When a tree has been split away, this button remains visible to indicate that there is a separate sub-tree. 7852
122 6918 Click on the graph background for the main context menu, which offers options to Expand all and Join all. If no branch has been collapsed or split, the context menu will not be shown. 7856
123 6966 The export dialog does not allow exporting single files, even though Subversion can. 7906
124 6970 To export single files with TortoiseSVN, you have to use the repository browser (). Simply drag the file(s) you want to export from the repository browser to where you want them in the explorer, or use the context menu in the repository browser to export the files. 7910
125 6978 If you want to export a copy of your project tree structure but containing only the files which have changed in a particular revision, or between any two revisions, use the compare revisions feature described in . 7919
126 6991 Sometimes you have a working copy which you want to convert back to a normal folder without the .svn directories. What you really need is an export-in-place command, that just removes the control directories rather than generating a new clean directory tree. 7932
127 6995 The answer is surprisingly simple - export the folder to itself! TortoiseSVN detects this special case and asks if you want to make the working copy unversioned. If you answer yes the control directories will be removed and you will have a plain, unversioned directory tree. 7936
128 7031 You may be surprised to find that TortoiseSVN contacts the repository as part of this operation. All it is doing is performing some simple checks to make sure that the new URL really does refer to the same repository as the existing working copy. 7973
129 7120 You can also use relative URLs instead of absolute ones. This is useful when your issue tracker is on the same domain/server as your source repository. In case the domain name ever changes, you don't have to adjust the bugtraq:url property. There are two ways to specify a relative URL: 8065
130 7124 If it begins with the string ^/ it is assumed to be relative to the repository root. For example, ^/../?do=details&amp;id=%BUGID% will resolve to http://tortoisesvn.net/?do=details&amp;id=%BUGID% if your repository is located on http://tortoisesvn.net/svn/trunk/. 8069
131 7128 A URL beginning with the string / is assumed to be relative to the server's hostname. For example /?do=details&amp;id=%BUGID% will resolve to http://tortoisesvn.net/?do=details&amp;id=%BUGID% if your repository is located anywhere on http://tortoisesvn.net. 8073
132 7140 Issue Number in Text Box 8087
133 7164 Issue Numbers Using Regular Expressions 8114
134 7172 If two expressions are set, then the first expression is used as a pre-filter to find expressions which contain bug IDs. The second expression then extracts the bare bug IDs from the result of the first regex. This allows you to use a list of bug IDs and natural language expressions if you wish. e.g. you might fix several bugs and include a string something like this: This change resolves issues #23, #24 and #25 8123
135 7180 The first expression picks out issues #23, #24 and #25 from the surrounding log message. The second regex extracts plain decimal numbers from the output of the first regex, so it will return 23, 24 and 25 to use as bug IDs. 8132
136 7184 Breaking the first regex down a little, it must start with the word issue, possibly capitalised. This is optionally followed by an s (more than one issue) and optionally a colon. This is followed by one or more groups each having zero or more leading whitespace, an optional comma or and and more optional space. Finally there is a mandatory # and a mandatory decimal number. 8136
137 7208 And even if you don't need the links, the issue numbers show up as a separate column in the log dialog, making it easier to find the changes which relate to a particular issue. 8163
138 7222 No Issue Tracker Information from Repository Browser 8178
139 7226 Because the issue tracker integration depends upon accessing subversion properties, you will only see the results when using a checked out working copy. Fetching properties remotely is a slow operation, so you will not see this feature in action from the repo browser unless you started the repo browser from your working copy. If you started the repo browser by entering the URL of the repository you won't see this feature. 8182
140 7231 For the same reason, project properties will not be propagated automatically when a child folder is added using the repo browser. 8187
141 7239 Getting Information from the Issue Tracker 8196
142 7243 The previous section deals with adding issue information to the log messages. But what if you need to get information from the issue tracker? The commit dialog has a COM interface which allows integration an external program that can talk to your tracker. Typically you might want to query the tracker to get a list of open issues assigned to you, so that you can pick the issues that are being addressed in this commit. 8200
143 7247 Any such interface is of course highly specific to your issue tracker system, so we cannot provide this part, and describing how to create such a program is beyond the scope of this manual. The interface definition and sample plugins in C# and C++/ATL can be obtained from the contrib folder in the TortoiseSVN repository. ( explains how to access the repository). A summary of the API is also given in Another (working) example plugin in C# is Gurtle which implements the required COM interface to interact with the Google Code issue tracker. 8204
144 7251 Example issue tracker query dialog 8208
145 7255 For illustration purposes, let's suppose that your system administrator has provided you with an issue tracker plugin which you have installed, and that you have set up some of your working copies to use the plugin in TortoiseSVN's settings dialog. When you open the commit dialog from a working copy to which the plugin has been assigned, you will see a new button at the top of the dialog. In this example you can select one or more open issues. The plugin can then generate specially formatted text which it adds to your log message. 8212
146 7295 You can also use relative URLs instead of absolute ones. This is useful in case your web viewer is on the same domain/server as your source repository. In case the domain name ever changes, you don't have to adjust the webviewer:revision and webviewer:pathrevision property. The format is the same as for the bugtraq:url property. See . 8257
147 7299 Because the repo viewer integration depends upon accessing subversion properties, you will only see the results when using a checked out working copy. Fetching properties remotely is a slow operation, so you will not see this feature in action from the repo browser unless you started the repo browser from your working copy. If you started the repo browser by entering the URL of the repository you won't see this feature. 8261
148 7443 If there are some paths on your computer where you just don't want TortoiseSVN's context menu to appear at all, you can list them in the box at the bottom. 8412
149 7483 Can double-click in log list to compare with previous revision 8453
150 7487 If you frequently find yourself comparing revisions in the top pane of the log dialog, you can use this option to allow that action on double-click. It is not enabled by default because fetching the diff is often a long process, and many people prefer to avoid the wait after an accidental double-click, which is why this option is not enabled by default. 8457
151 7511 Always close dialogs for local operations 8482
152 7515 Local operations like adding files or reverting changes do not need to contact the repository and complete quickly, so the progress dialog is often of little interest. Select this option if you want the progress dialog to close automatically after these operations, unless there are errors. 8486
153 7519 Use recycle bin when reverting 8490
154 7523 When you revert local modifications, your changes are discarded. TortoiseSVN gives you an extra safety net by sending the modified file to the recycle bin before bringing back the pristine copy. If you prefer to skip the recycle bin, uncheck this option. 8494
155 7567 In the Check for Modifications dialog you can opt to see ignored items. If this box is checked then whenever an ignored folder is found, all child items will be shown as well. 8539
156 7603 Note that this setting applies only to messages that you type in on this computer. It has nothing to do with the log cache. 8578
157 7619 The normal behaviour in the commit dialog is for all modified (versioned) items to be selected for commit automatically. If you prefer to start with nothing selected and pick the items for commit manually, uncheck this box. 8594
158 7739 When using filtering in the log dialog, search terms are highlighted in the results using this colour. 8715
159 7751 Classification Patterns 8729
160 7755 The revision graph attempts to show a clearer picture of your repository structure by distinguishing between trunk, branches and tags. As there is no such classification built into Subversion, this information is extracted from the path names. The default settings assume that you use the conventional English names as suggested in the Subversion documentation, but of course your usage may vary. 8733
161 7759 Specify the patterns used to recognise these paths in the three boxes provided. The patterns will be matched case-insensitively, but you must specify them in lower case. Wild cards * and ? will work as usual, and you can use ; to separate multiple patterns. Do not include any extra white space as it will be included in the matching specification. 8737
162 7767 Colors are used in the revision graph to indicate the node type, i.e. whether a node is added, deleted, renamed. In order to help pick out node classifications, you can allow the revision graph to blend colors to give an indication of both node type and classification. If the box is checked, blending is used. If the box is unchecked, color is used to indicate node type only. Use the color selection dialog to allocate the specific colors used. 8746
163 7779 This page allows you to configure the colors used. Note that the color specified here is the solid color. Most nodes are colored using a blend of the node type color, the background color and optionally the classification color. 8760
164 7787 Items which have been deleted and not copied anywhere else in the same revision. 8769
165 7795 Items newly added, or copied (add with history). 8778
166 7803 Items deleted from one location and added in another in the same revision. 8787
167 7811 Simple modifications without any add or delete. 8796
168 7819 May be used to show the revision used as the source of a copy, even when no change (to the item being graphed) took place in that revision. 8805
169 7831 WC Node 8819
170 7835 If you opt to show an extra node for your modified working copy, attached to its last-commit revision on the graph, use this color. 8823
171 7839 WC Node Border 8827
172 7843 If you opt to show whether the working copy is modified, use this color border on the WC node when modifications are found. 8831
173 7847 Tag Nodes 8835
174 7851 Nodes classified as tags may be blended with this color. 8839
175 7855 Trunk Nodes 8843
176 7859 Nodes classified as trunk may be blended with this color. 8847
177 7863 Folded Tag Markers 8851
178 7867 If you use tag folding to save space, tags are marked on the copy source using a block in this color. 8855
179 7875 When you left click on a node to select it, the marker used to indicate selection is a block in this color. 8864
180 7879 Stripes 8868
181 7883 These colors are used when the graph is split into sub-trees and the background is colored in alternating stripes to help pick out the separate trees. 8872
182 7963 Network drives can be very slow, so by default icons are not shown for working copies located on network shares. 8961
183 7975 Any path you specify here is assumed to apply recursively, so none of the child folders will show overlays either. If you want to exclude only the named folder, append ? after the path. 8974
184 7983 Users sometimes ask how these three settings interact. For any given path check the include and exclude lists, seeking upwards through the directory structure until a match is found. When the first match is found, obey that include or exclude rule. If there is a conflict, a single directory spec takes precedence over a recursive spec, then inclusion takes precedence over exclusion. 8982
185 7987 An example will help here: \n
Exclude:\n
C:\n
C:\\develop\\?\n
C:\\develop\\tsvn\\obj\n
C:\\develop\\tsvn\\bin\n
\n
Include:\n
C:\\develop\n
These settings disable icon overlays for the C: drive, except for c:\\develop. All projects below that directory will show overlays, except the c:\\develop folder itself, which is specifically ignored. The high-churn binary folders are also excluded.
8986
186 8003 It is often convenient to use a SUBST drive to access your working copies, e.g. using the command \n
subst T: C:\\TortoiseSVN\\trunk\\doc\n
However this can cause the overlays not to update, as TSVNCache will only receive one notification when a file changes, and that is normally for the original path. This means that your overlays on the subst path may never be updated.
9012
187 8007 An easy way to work around this is to exclude the original path from showing overlays, so that the overlays show up on the subst path instead. 9019
188 8015 As a special exception to this, drives A: and B: are never considered for the Show excluded folders as 'normal' option. This is because Windows is forced to look on the drive, which can result in a delay of several seconds when starting Explorer, even if your PC does have a floppy drive. 9028
189 8031 Enabled Overlay Handlers 9044
190 8039 Because the number of overlays available is severely restricted, you can choose to disable some handlers to ensure that the ones you want will be loaded. Because TortoiseSVN uses the common TortoiseOverlays component which is shared with other Tortoise clients (e.g. TortoiseCVS, TortoiseHG) this setting will affect those clients too. 9053
191 8067 You must specify the full path to the executable. For TortoisePlink.exe this is the standard TortoiseSVN bin directory. Use the Browse button to help locate it. Note that if the path contains spaces, you must enclose it in quotes, e.g. \n
\"C:\\Program Files\\TortoiseSVN\\bin\\TortoisePlink.exe\"\n
9082
192 8075 TortoisePlink does not have any documentation of its own because it is just a minor variant of Plink. Find out about command line parameters from the PuTTY website 9093
193 8079 To avoid being prompted for a password repeatedly, you might also consider using a password caching tool such as Pageant. This is also available for download from the PuTTY website. 9097
194 8083 Finally, setting up SSH on server and clients is a non-trivial process which is beyond the scope of this help file. However, you can find a guide in the TortoiseSVN FAQ listed under Subversion/TortoiseSVN SSH How-To. 9101
195 8249 TortoiseSVN caches log messages fetched by the Show Log dialog to save time when you next show the log. If someone else edits a log message and you already have that message cached, you will not see the change until you clear the cache. Log message caching is enabled on the Log Cache tab. 9316
196 8277 TortoiseSVN keeps a log of everything written to its progress dialogs. This can be useful when, for example, you want to check what happened in a recent update command. 9345
197 8281 The log file is limited in length and when it grows too big the oldest content is discarded. By default 4000 lines are kept, but you can customize that number. 9349
198 8285 From here you can view the log file content, and also clear it. 9353
199 8301 This dialog allows you to configure the log caching feature of TortoiseSVN, which retains a local copy of log messages and changed paths to avoid time-consuming downloads from the server. Using the log cache can dramatically speed up the log dialog and the revision graph. Another useful feature is that the log messages can still be accessed when offline. 9369
200 8309 Enables log caching whenever log data is requested. If checked, data will be retrieved from the cache when available, and any messages not in the cache will be retrieved from the server and added to the cache. 9377
201 8313 If caching is disabled, data will always be retrieved directly from the server and not stored locally. 9381
202 8317 Allow ambiguous URLs 9385
203 8321 Occasionally you may have to connect to a server which uses the same URL for all repositories. Older versions of svnbridge would do this. If you need to access such repositories you will have to check this option. If you don't, leave it unchecked to improve performance. 9389
204 8325 Allow ambiguous UUIDs 9393
205 8329 Some hosting services give all their repositories the same UUID. You may even have done this yourself by copying a repository folder to create a new one. For all sorts of reasons this is a bad idea - a UUID should be unique. However, the log cache will still work in this situation if you check this box. If you don't need it, leave it unchecked to improve performance. 9397
206 8337 If you are working offline, or if the repository server is down, the log cache can still be used to supply log messages already held in the cache. Of course the cache may not be up-to-date, so there are options to allow you to select whether this feature should be used. 9405
207 8341 When log data is being taken from the cache without contacting the server, the dialog using those message will show the offline state in its title bar. 9409
208 8345 Timeout before updating the HEAD revision 9413
209 8349 When you invoke the log dialog you will normally want to contact the server to check for any newer log messages. If the timeout set here is non-zero then the server will only be contacted when the timeout has elapsed since the last time contact. This can reduce server round-trips if you open the log dialog frequently and the server is slow, but the data shown may not be completely up-to-date. If you want to use this feature we suggest using a value of 300 (5 minutes) as a compromise. 9417
210 8353 Days of inactivity until small caches get removed 9421
211 8357 If you browse around a lot of repositories you will accumulate a lot of log caches. If you're not actively using them, the cache will not grow very big, so TortoiseSVN purges them after a set time by default. Use this item to control cache purging. 9425
212 8361 Maximum size of removed inactive caches 9429
213 8365 Larger caches are more expensive to reacquire, so TortoiseSVN only purges small caches. Fine tune the threshold with this value. 9433
214 8369 Maximum number of tool failures before cache removal 9437
215 8373 Occasionally something goes wrong with the caching and causes a crash. If this happens the cache is normally deleted automatically to prevent a recurrence of the problem. If you use the less stable nightly build you may opt to keep the cache anyway. 9441
216 8381 On this page you can see a list of the repositories that are cached locally, and the space used for the cache. If you select one of the repositories you can then use the buttons underneath. 9450
217 8385 Click on the Update to completely refresh the cache and fill in any holes. For a large repository this could be very time consuming, but useful if you are about to go offline and want the best available cache. 9454
218 8389 Click on the Export button to export the entire cache as a set of CSV files. This could be useful if you want to process the log data using an external program, although it is mainly useful to the developers. 9458
219 8393 Click on Delete to remove all cached data for the selected repositories. This does not disable caching for the repository so the next time you request log data, a new cache will be created. 9462
220 8409 The amount of memory required to service this cache. 9478
221 8417 The amount of disk space used for the cache. Data is compressed, so disk usage is generally fairly modest. 9486
222 8425 Shows whether the repository was available last time the cache was used. 9494
223 8437 Last head update 9507
224 8441 The last time we requested the HEAD revision from the server. 9511
225 8449 The number of different authors with messages recorded in the cache. 9519
226 8457 The number of paths listed, as you would see using svn log -v. 9527
227 8461 Skip ranges 9531
228 8465 The number of revision ranges which we have not fetched, simply because they haven't been requested. This is a measure of the number of holes in the cache. 9535
229 8473 The highest revision number stored in the cache. 9543
230 8481 The number of revisions stored in the cache. This is another measure of cache completeness. 9551
231 8485 Click on the Details button to see detailed statistics for a particular cache. Many of the fields shown here are mainly of interest to the developers of TortoiseSVN, so they are not all described in detail. 9555
232 8580 Called before an attempt to contact the repository. Called at most once in five minutes. 9655
233 8644 Path to a file containing the error message. If there was no error, the file will be empty. 9722
234 8648 The current working directory with which the script is run. This is set to the common root directory of all affected paths. 9726
235 8656 Note that although we have given these parameters names for convenience, you do not have to refer to those names in the hook settings. All parameters listed for a particular hook are always passed, whether you want them or not ;-) 9735
236 8672 A small tool is included in the TortoiseSVN installation folder named ConnectVPN.exe. You can use this tool configured as a pre-connect hook to connect automatically to your VPN before TortoiseSVN tries to connect to a repository. Just pass the name of the VPN connection as the first parameter to the tool.
237 8676 Issue Tracker Integration 9753
238 8680 TortoiseSVN can use a COM plugin to query issue trackers when in the commit dialog. The use of such plugins is described in . If your system administrator has provided you with a plugin, which you have already installed and registered, this is the place to specify how it integrates with your working copy. 9757
239 8688 Click on Add... to use the plugin with a particular working copy. Here you can specify the working copy path, choose which plugin to use from a drop down list of all registered issue tracker plugins, and any parameters to pass. The parameters will be specific to the plugin, but might include your user name on the issue tracker so that the plugin can query for issues which are assigned to you. 9766
240 8692 This property specifies the COM UUID of the IBugtraqProvider, for example {91974081-2DC7-4FB1-B3BE-0DE1C8D6CE4E}. (this example is the UUID of the Gurtle bugtraq provider, which is a provider for the Google Code issue tracker). 9770
241 8696 This is the same as bugtraq:provideruuid, but for the 64-bit version of the IBugtraqProvider. 9774
242 8700 This property specifies the parameters passed to the IBugtraqProvider. 9778
243 8704 If you want all users to use the same COM plugin for your project, you can specify the plugin also with the properties bugtraq:provideruuid, bugtraq:provideruuid64 and bugtraq:providerparams. Please check the documentation of your IBugtraqProvider plugin to find out what to specify in these two properties. 9782
244 8760 Note that the bug is fixed in VS2005 and later versions. 9839
245 8780 A few infrequently used settings are available only in the advanced page of the settings dialog. These settings modify the registry directly and you have to know what each of these settings is used for and what it does. Do not modify these settings unless you are sure you need to change them. 9862
246 8788 Set this to true if you want a dialog to pop up for every command showing the command line used to start TortoiseProc.exe 9871
247 8796 This can be useful if you use something other than the windows explorer or if you get problems with the context menu displaying incorrectly. Set this value to false if you don't want TortoiseSVN to show icons for the shell context menu items. Set this value to true to show the icons again. 9880
248 8800 If you don't want TortoiseSVN to show icons for the context menus in its own dialogs, set this value to false. 9884
249 8804 The log dialog shows the revision the working copy path is at in bold. But this requires that the log dialog fetches the status of that path. Since for very big working copies this can take a while, you can set this value to false to deactivate this feature. 9888
250 8808 The status list control which is used in various dialogs (e.g., commit, check-for-modifications, add, revert, ...) uses full row selection (i.e., if you select an entry, the full row is selected, not just the first column). This is fine, but the selected row then also covers the background image on the bottom right, which can look ugly. To disable full row select, set this value to false. 9892
251 8812 The commit and log dialog use styling (e.g. bold, italic) in commit messages (see for details). If you don't want to do this, set the value to false. 9896
252 8816 TortoiseSVN uses accelerators for its explorer context menu entries. Since this can lead to doubled accelerators (e.g. the SVN Commit has the Alt-C accelerator, but so does the Copy entry of explorer). If you don't want or need the accelerators of the TortoiseSVN entries, set this value to false. 9900
253 8820 As with the explorer, TortoiseSVN shows additional commands if the Shift key is pressed while the context menu is opened. To force TortoiseSVN to always show those extended commands, set this value to true. 9904
254 8824 If you don't want the explorer to update the status overlays while another TortoiseSVN command is running (e.g. Update, Commit, ...) then set this value to true. 9908
255 8828 This value contains the URL from which TortoiseSVN tries to download a text file to find out if there are updates available. This might be useful for company admins who don't want their users to update TortoiseSVN until they approve it. 9912
256 8832 The extra columns the TortoiseSVN adds to the details view in Windows Explorer are normally only active in a working copy. If you want those to be accessible everywhere, not just in working copies, set this value to true. Note that the extra columns are only available in XP. Vista and later doesn't support that feature any more. 9916
257 8836 If an update adds a new file from the repository which already exists in the local working copy as an unversioned file, the default action is to keep the local file, showing it as a (possibly) modified version of the new file from the repository. If you would prefer TortoiseSVN to create a conflict in such situations, set this value to false. 9920
258 8840 TortoiseSVN checks whether there's a new version available about once a week. If an updated version is found, the commit dialog shows a link control with that info. If you prefer the old behavior back where a dialog pops up notifying you about the update, set this value to true. 9924
259 8844 TortoiseSVN checks whether there's a new version available about once a week. If you don't want TortoiseSVN to do this check, set this value to false. 9928
260 8848 The auto-completion list shown in the commit message editor displays the names of files listed for commit. To also include these names with extensions removed, set this value to true. 9932
261 8852 When you merge revisions from another branch, and merge tracking information is available, the log messages from the revisions you merge will be collected to make up a commit log message. A pre-defined string is used to separate the individual log messages of the merged revisions. If you prefer, you can set this to a value containing a separator string of your choice. 9936
262 8856 TortoiseSVN allows you to assign an external diff viewer. Most such viewers, however, are not suited for change blaming (), so you might wish to fall back to TortoiseMerge in this case. To do so, set this value to true. 9940
263 8860 By default, TortoiseSVN always runs an update with externals included. This avoids problems with inconsistent working copies. If you have however a lot of externals set, an update can take quite a while. Set this value to false to run the default update with externals excluded. To update with externals included, either run the Update to revision... dialog or set this value to true again. 9944
264 8864 In most dialogs in TortoiseSVN, you can use Ctrl+Enter to dismiss the dialog as if you clicked on the OK button. If you don't want this, set this value to false. 9948
265 8868 Sometimes multiple users use the same account on the same computer. In such situations it's not really wanted to save the authentication data. Setting this value to false disables the save authentication button in the authentication dialog. 9952
266 9097 Replaced with the lock date. Time formatting can be used as described for . 10198
267 9113 Some of these keywords apply to single files rather than to an entire working copy, so it only makes sense to use these when SubWCRev is called to scan a single file. This applies to $WCINSVN$, $WCISLOCKED$, $WCLOCKDATE$, $WCLOCKOWNER$ and $WCLOCKCOMMENT$. 10216
268 9130 After running SubWCRev.exe path\\to\\workingcopy testfile.tmpl testfile.txt, the output file testfile.txt would looks like this: 10263
269 9139 A file like this will be included in the build so you would expect it to be versioned. Be sure to version the template file, not the generated file, otherwise each time you regenerate the version file you need to commit the change, which in turn means the version file needs to be updated. 10303
270 9167 This method traverses the working copy gathering the revision information. Naturally you must call this before you can access the information using the remaining methods. The first parameter is the path. The second parameter should be true if you want to include folder revisions. Equivalent to the command line switch. The third parameter should be true if you want to include svn:externals. Equivalent to the command line switch. 10331
271 9216 True if the item is versioned. 10380
272 9220 True if the item is locked. 10384
273 9224 String representing the date when the lock was created, or an empty string if the item is not locked. 10388
274 9228 String representing the lock owner, or an empty string if the item is not locked. 10392
275 9232 The message entered when the lock was created. 10396
276 9249 \n
using LibSubWCRev;\n
SubWCRev sub = new SubWCRev();\n
sub.GetWCInfo(\"C:\\\\PathToMyFile\\\\MyFile.cc\", true, true);\n
if (sub.IsSvnItem == true)\n
{\n
MessageBox.Show(\"versioned\");\n
}\n
else\n
{\n
MessageBox.Show(\"not versioned\");\n
}\n
10653
277 9266 IBugtraqProvider 10685
278 9358 The parameter bugID contains the content of the bug-ID field (if it is shown, configured with the property bugtraq:message). 10939
279 9362 The return parameter bugIDOut is used to fill the bug-ID field when the method returns. 10943
280 9366 The revPropNames and revPropValues return parameters can contain name/value pairs for revision properties that the commit should set. A plugin must make sure that both arrays have the same size on return! Each property name in revPropNames must also have a corresponding value in revPropValues. If no revision properties are to be set, the plugin must return empty arrays. 10947
281 9370 \n
HRESULT CheckCommit (\n
[in] HWND hParentWnd,\n
[in] BSTR parameters,\n
[in] BSTR commonURL,\n
[in] BSTR commonRoot,\n
[in] SAFEARRAY(BSTR) pathList,\n
[in] BSTR commitMessage,\n
[out, retval] BSTR * errorMessage\n
);\n
10951
282 9375 This method is called right before the commit dialog is closed and the commit begins. A plugin can use this method to validate the selected files/folders for the commit and/or the commit message entered by the user. The parameters are the same as for GetCommitMessage2(), with the difference that commonURL is now the common URL of all checked items, and commonRoot the root path of all checked items. 10966
283 9379 For the branch/tag dialog, the commonURL is the source URL of the copy, and commonRoot is set to the target URL of the copy. 10970
284 9383 The return parameter errorMessage must either contain an error message which TortoiseSVN shows to the user or be empty for the commit to start. If an error message is returned, TortoiseSVN shows the error string in a dialog and keeps the commit dialog open so the user can correct whatever is wrong. A plugin should therefore return an error string which informs the user what is wrong and how to correct it. 10974
285 9387 \n
HRESULT OnCommitFinished (\n
// Parent window for any (error) UI that needs to be displayed.\n
[in] HWND hParentWnd,\n
\n
// The common root of all paths that got committed.\n
[in] BSTR commonRoot,\n
\n
// All the paths that got committed.\n
[in] SAFEARRAY(BSTR) pathList,\n
\n
\n
// The text already present in the commit message.\n
[in] BSTR logMessage,\n
\n
// The revision of the commit.\n
[in] ULONG revision,\n
\n
\n
// An error to show to the user if this function\n
// returns something else than S_OK\n
[out, retval] BSTR * error\n
);\n
10978
286 9392 This method is called after a successful commit. A plugin can use this method to e.g., close the selected issue or add information about the commit to the issue. The parameters are the same as for GetCommitMessage2. 11006
287 9396 \n
HRESULT HasOptions(\n
// Whether the provider provides options\n
[out, retval] VARIANT_BOOL *ret\n
);\n
11010
288 9401 This method is called from the settings dialog where the user can configure the plugins. If a plugin provides its own configuration dialog with ShowOptionsDialog, it must return TRUE here, otherwise it must return FALSE. 11020
289 9405 \n
HRESULT ShowOptionsDialog(\n
// Parent window for the options dialog\n
[in] HWND hParentWnd,\n
\n
// Parameters for your provider.\n
[in] BSTR parameters,\n
\n
// The parameters string\n
[out, retval] BSTR * newparameters\n
);\n
11024
290 9410 This method is called from the settings dialog when the user clicks on the \"Options\" button that is shown if HasOptions returns TRUE. A plugin can show an options dialog to make it easier for the user to configure the plugin. 11040
291 9414 The parameters string contains the plugin parameters string that is already set/entered. 11044
292 9418 The newparameters return parameter must contain the parameters string which the plugin constructed from the info it gathered in its options dialog. That paramameters string is passed to all other IBugtraqProvider and IBugtraqProvider2 methods. 11048
293 9438 users@tortoisesvn.tigris.org is the one to use if you have questions about using TortoiseSVN. 11070
294 9442 If you want to help out with the development of TortoiseSVN, then you should take part in discussions on dev@tortoisesvn.tigris.org. 11074
295 9446 If you want to help with the translation of the TortoiseSVN user interface or the documentation, send an e-mail to translators@tortoisesvn.tigris.org. 11078
296 9450 If you have a question which is not answered anywhere else, the best place to ask it is on one of the mailing lists: 11082
297 9470 reorganize 11102
298 9759 If the files are already in the repository, they have to be deleted from the repository and added to the ignore list. Fortunately TortoiseSVN has a convenient shortcut for doing this. TortoiseSVNUnversion and add to ignore list will first mark the file/folder for deletion from the repository, keeping the local copy. It also adds this item to the ignore list so that it will not be added back into Subversion again by mistake. Once this is done you just need to commit the parent folder. 11438
299 9775 If you have a working copy which you no longer need, how do you get rid of it cleanly? Easy - just delete it in Windows Explorer! Working copies are private local entities, and they are self-contained. 11455
300 9893 As of version 1.5.0 and later, TortoiseSVN allows you to disable (actually, hide) context menu entries. Since this is a feature which should not be used lightly but only if there is a compelling reason, there is no GUI for this and it has to be done directly in the registry. This can be used to disable certain commands for users who should not use them. But please note that only the context menu entries in the explorer are hidden, and the commands are still available through other means, e.g. the command line or even other dialogs in TortoiseSVN itself! 11596
301 10123 You can also specify a file which contains a list of paths, separated by newlines. The file must be in UTF-16 format. If you pass such a file, use instead of . To have TortoiseProc delete that file after the command is finished, you can pass the parameter . 11839
302 10222 /findstring:\"filterstring\" 11941
303 10226 /findtext 11945
304 10230 /findregex 11949
305 10234 /findtype:X 11953
306 10238 filter by everything 11957
307 10242 filter by messages 11961
308 10246 filter by path 11965
309 10250 filter by authors 11969
310 10254 filter by revisions 11973
311 10258 filter by bug ID 11977
312 10262 Opens the log dialog. The specifies the file or folder for which the log should be shown. Six additional options can be set: , , enables the 'stop-on-copy' checkbox, fills in the filter text, forces the filter to use text, not regex, or forces the filter to use regex, not simple text search, and with X being a number between 1 and 7. The numbers correspond to: 11981
313 10338 Cleans up interrupted or aborted operations and unlocks the working copy in . Use to prevent the result dialog from popping up (either telling about the cleanup being finished or showing an error message). 12060
314 10427 Depending on the URLs and revisions to compare, this either shows a unified diff (if the option is set), a dialog with a list of files that have changed or if the URLs point to files starts the diff viewer for those two files. 12154
315 10431 The options , , and must be specified. The options , , and are optional. 12158
316 10536 Tsvncmd URL handler 12291
317 10544 Using special URLs, it is also possible to call TortoiseProc from a web page. 12300
318 10548 TortoiseSVN registers a new protocol tsvncmd: which can be used to create hyperlinks that execute TortoiseSVN commands. The commands and parameters are the same as when automating TortoiseSVN from the command line. 12304
319 10552 The format of the tsvncmd: URL is like this: 12308
320 10556 tsvncmd:command:cmd?parameter:paramvalue?parameter:paramvalue 12312
321 10560 with cmd being one of the allowed commands and with parameter being a parameter like path or revision, depending on the command used. 12316
322 10568 \n
&lt;a href=\"tsvncmd:command:showcompare?\n
url1:https://stexbar.googlecode.com/svn/trunk/StExBar/src/setup/Setup.wxs?\n
url2:https://stexbar.googlecode.com/svn/trunk/StExBar/src/setup/Setup.wxs?\n
revision1:188?revision2:189\"&gt;compare&lt;/a&gt;\n
12325
323 10573 An example URL might look like this: 12335
324 10672 The depth combo box items relate to the -depth argument. 12450
325 11018 Every file and folder has a Subversion status value as reported by the Subversion library. In the command line client, these are represented by single letter codes, but in TortoiseSVN they are shown graphically using the icon overlays. Because the number of overlays is very limited, each overlay may represent one of several status values. 12948
326 11022 The Conflicted overlay is used to represent the conflicted state, where an update or switch results in conflicts between local changes and changes downloaded from the repository. It is also used to indicate the obstructed state, which can occur when an operation is unable to complete. 12952
327 11026 The Modified overlay represents the modified state, where you have made local modifications, the merged state, where changes from the repository have been merged with local changes, and the replaced state, where a file has been deleted and replaced by another different file with the same name. 12956
328 11030 The Deleted overlay represents the deleted state, where an item is scheduled for deletion, or the missing state, where an item is not present. Naturally an item which is missing cannot have an overlay itself, but the parent folder can be marked if one of its child items is missing. 12960
329 11038 The In Subversion overlay is used to represent an item which is in the normal state, or a versioned item whose state is not yet known. Because TortoiseSVN uses a background caching process to gather status, it may take a few seconds before the overlay updates. 12969
330 11042 The Needs Lock overlay is used to indicate when a file has the svn:needs-lock property set. For working copies which were created using Subversion 1.4.0 and later, the svn:needs-lock status is cached locally by Subversion and this is used to determine when to show this overlay. For working copies which are in pre-1.4.x format, TortoiseSVN shows this overlay when the file has read-only status. Note that Subversion automatically upgrades working copies when you update them, although the caching of the svn:needs-lock property may not happen until the file itself is updated. 12973
331 11058 If an item has subversion status none (the item is not within a working copy) then no overlay is shown. If you have chosen to disable the Ignored and Unversioned overlays then no overlay will be shown for those files either. 12991
332 11098 This section provides a step-by-step guide to setting up Subversion and TortoiseSVN to use the svn+ssh protocol. If you already use authenticated SSH connections to login to your server, then you are already there and you can find more detail in the Subversion book. If you are not using SSH but would like to do so to protect your Subversion installation, this guide gives a simple method which does not involve creating a separate SSH user account on the server for every subversion user. 13037
333 11102 In this implementation we create a single SSH user account for all subversion users, and use different authentication keys to differentiate between the real Subversion users. 13041
334 11106 In this appendix we assume that you already have the subversion tools installed, and that you have created a repository as detailed elsewhere in this manual. Note that you should not start svnserve as a service or daemon when used with SSH. 13045
335 11110 Much of the information here comes from a tutorial provided by Marc Logemann, which has been archived at http://tortoisesvn.net/ssh_howto Additional information on setting up a Windows server was provided by Thorsten Müller. Thanks guys! 13049
336 11114 You can also watch a video tutorial created by Maximo Migliari which takes you through all the important steps. Watch it on Vimeo. or YouTube. 13053
337 11122 You need to have SSH enabled on the server, and here we assume that you will be using OpenSSH. On most distributions this will already be installed. To find out, type: \n
ps xa | grep sshd\n
and look for ssh jobs.
13061
338 11126 One point to note is that if you build Subversion from source and do not provide any argument to ./configure, Subversion creates a bin directory under /usr/local and places its binaries there. If you want to use tunneling mode with SSH, you have to be aware that the user logging in via SSH needs to execute the svnserve program and some other binaries. For this reason, either place /usr/local/bin into the PATH variable or create symbolic links of your binaries to the /usr/sbin directory, or to any other directory which is commonly in the PATH. 13068
339 11130 To check that everything is OK, login in as the target user with SSH and type: \n
which svnserve\n
This command should tell you if svnserve is reachable.
13072
340 11134 Create a new user which we will use to access the svn repository: \n
useradd -m svnuser\n
Be sure to give this user full access rights to the repository.
13079
341 11142 Install Cygwin SSH daemon as described here: http://pigtail.net/LRP/printsrv/cygwin-sshd.html 13090
342 11146 Create a new Windows user account svnuser which we will use to access the repository. Be sure to give this user full access rights to the repository. 13094
343 11150 If there is no password file yet then create one from the Cygwin console using: \n
mkpasswd -l &gt; /etc/passwd\n
13098
344 11158 Grab the tools we need for using SSH on the windows client from this site: http://www.chiark.greenend.org.uk/~sgtatham/putty/ Just go to the download section and get Putty, Plink, Pageant and Puttygen. 13109
345 11166 The next step is to create a key pair for authentication. There are two possible ways to create keys. The first is to create the keys with PuTTYgen on the client, upload the public key to your server and use the private key with PuTTY. The other is to create the key pair with the OpenSSH tool ssh-keygen, download the private key to your client and convert the private key to a PuTTY-style private key. 13117
346 11174 Login to the server as root or svnuser and type: \n
ssh-keygen -b 1024 -t dsa -N passphrase -f keyfile\n
substituting a real pass-phrase (which only you know) and key file. We just created a SSH2 DSA key with 1024 bit key-phrase. If you type \n
ls -l keyfile*\n
you will see two files, keyfile and keyfile.pub. As you might guess, the .pub file is the public key file, the other is the private one.
13125
347 11178 Append the public key to those in the .ssh folder within the svnuser home directory: \n
cat keyfile.pub &gt;&gt; /home/svnuser/.ssh/authorized_keys\n
13134
348 11182 In order to use the private key we generated, we have to convert it to a putty format. This is because the private key file format is not specified by a standards body. After you download the private key file to your client PC, start PuTTYgen and use ConversionsImport key. Browse to your file keyfile which you got from the server the passphrase you used when creating the key. Finally click on Save private key and save the file as keyfile.PPK. 13141
349 11190 Use PuTTYgen to generate a public-key/private-key pair and save it. Copy the public key to the server and append it to those in the .ssh folder within the svnuser home directory: \n
cat keyfile.pub &gt;&gt; /home/svnuser/.ssh/authorized_keys\n
13149
350 11198 To test the connection we will use PuTTY. Start the program and on the Session tab set the hostname to the name or IP address of your server, the protocol to SSH and save the session as SvnConnection or whatever name you prefer. On the SSH tab set the preferred SSH protocol version to 2 and from Auth set the full path to the .PPK private key file you converted earlier. Go back to the Sessions tab and hit the Save button. You will now see SvnConnection in the list of saved sessions. 13160
351 11202 Click on Open and you should see a telnet style login prompt. Use svnuser as the user name and if all is well you should connect directly without being prompted for a password. 13164
352 11206 You may need to edit /etc/sshd_config on the server. Edit lines as follows and restart the SSH service afterwards. \n
PubkeyAuthentication yes\n
PasswordAuthentication no\n
PermitEmptyPasswords no\n
ChallengeResponseAuthentication no\n
13168
353 11214 So far we have only tested that you can login using SSH. Now we need to make sure that the SSH connection can actually run svnserve. On the server modify /home/svnuser/.ssh/authorized_keys as follows to allow many subversion authors to use the same system account, svnuser. Note that every subversion author uses the same login but a different authentication key, thus you have to add one line for every author. 13182
354 11218 Note: This is all on one very long line. \n
command=\"svnserve -t -r &lt;ReposRootPath&gt; --tunnel-user=&lt;author&gt;\",\n
no-port-forwarding,no-agent-forwarding,no-X11-forwarding,\n
no-pty ssh-rsa &lt;PublicKey&gt; &lt;Comment&gt;\n
There are several values that you need to set according to your setup.
13186
355 11222 &lt;ReposRootPath&gt; should be replaced with the path to the directory containing your repositories. This avoids the need to specify full server paths within URLs. Note that you must use forward slashes even on a Windows server, e.g. c:/svn/reposroot. In the examples below we assume that you have a repository folder within the repository root called repos. 13195
356 11226 &lt;author&gt; should be replaced with the svn author that you want to be stored on commit. This also allows svnserve to use its own access rights within svnserve.conf. 13199
357 11230 &lt;PublicKey&gt; should be replaced with the public key that you generated earlier. 13203
358 11234 &lt;Comment&gt; can be any comment you like, but it is useful for mapping an svn author name to the person's real name. 13207
359 11238 Right click on any folder in Windows Explorer and select TortoiseSVNRepo-Browser. You will be prompted to enter a URL, so enter one in this form: \n
svn+ssh://svnuser@SvnConnection/repos\n
What does this URL mean? The Schema name is svn+ssh which tells TortoiseSVN how to handle the requests to the server. After the double slash, you specify the user to connect to the server, in our case svnuser. After the @ we supply our PuTTY session name. This session name contains all details like where to find the private key and the server's IP or DNS. Lastly we have to provide the path to the repository, relative to the repository root on the server, as specified in the authorized_keys file.
13211
360 11242 Click on OK and you should be able to browse the repository content. If so you now have a running SSH tunnel in conjunction with TortoiseSVN. 13218
361 11246 Note that by default TortoiseSVN uses its own version of Plink to connect. This avoids a console window popping up for every authentication attempt, but it also means that there is nowhere for error messages to appear. If you receive the error Unable to write to standard output, you can try specifying Plink as the client in TortoiseSVN's network settings. This will allow you to see the real error message generated by Plink. 13222
362 11254 One way to simplify the URL in TortoiseSVN is to set the user inside the PuTTY session. For this you have to load your already defined session SvnConnection in PuTTY and in the Connection tab set Auto login user to the user name, e.g. svnuser. Save your PuTTY session as before and try the following URL inside TortoiseSVN: \n
svn+ssh://SvnConnection/repos\n
This time we only provide the PuTTY session SvnConnection to the SSH client TortoiseSVN uses (TortoisePlink.exe). This client will check the session for all necessary details.
13230
363 11258 At the time of writing PuTTY does not check all saved configurations, so if you have multiple configurations with the same server name, it will pick the first one which matches. Also, if you edit the default configuration and save it, the auto login user name is not saved. 13237
364 11262 Many people like to use Pageant for storing all their keys. Because a PuTTY session is capable of storing a key, you don't always need Pageant. But imagine you want to store keys for several different servers; in that case you would have to edit the PuTTY session over and over again, depending on the server you are trying to connect with. In this situation Pageant makes perfect sense, because when PuTTY, Plink, TortoisePlink or any other PuTTY-based tool is trying to connect to an SSH server, it checks all private keys that Pageant holds to initiate the connection. 13241
365 11266 For this task, simply run Pageant and add the private key. It should be the same private key you defined in the PuTTY session above. If you use Pageant for private key storage, you can delete the reference to the private key file in your saved PuTTY session. You can add more keys for other servers, or other users of course. 13245
366 11270 If you don't want to repeat this procedure after every reboot of your client, you should place Pageant in the auto-start group of your Windows installation. You can append the keys with complete paths as command line arguments to Pageant.exe 13249
367 11274 The last way to connect to an SSH server is simply by using this URL inside TortoiseSVN: \n
svn+ssh://svnuser@100.101.102.103/repos\n
svn+ssh://svnuser@mydomain.com/repos\n
As you can see, we don't use a saved PuTTY session but an IP address (or domain name) as the connection target. We also supply the user, but you might ask how the private key file will be found. Because TortoisePlink.exe is just a modified version of the standard Plink tool from the PuTTY suite, TortoiseSVN will also try all the keys stored in Pageant.
13253
368 11278 If you use this last method, be sure you do not have a default username set in PuTTY. We have had reports of a bug in PuTTY causing connections to close in this case. To remove the default user, simply clear HKEY_CURRENT_USER\\Software\\SimonTatham\\Putty\\Sessions\\Default%20Settings\\HostName 13261
369 11282 Language Packs and Spell Checkers 13265
370 11286 The standard installer has support only for English, but you can download separate language packs and spell check dictionaries separately after installation. 13269
371 11302 The TortoiseSVN user interface has been translated into many different languages, so you may be able to download a language pack to suit your needs. You can find the language packs on our translation status page. And if there is no language pack available, why not join the team and submit your own translation ;-)
372 11306 Each language pack is packaged as a .msi installer. Just run the install program and follow the instructions. After the installation finishes, the translation will be available.
373 11310 The documentation has also been translated into several different languages. You can download translated manuals from the support page on our website. 13293
374 11330 The installer automatically adds the US and UK English dictionaries. If you want other languages, the easiest option is simply to install one of TortoiseSVN's language packs. This will install the appropriate dictionary files as well as the TortoiseSVN local user interface. After the installation finishes, the dictionary will be available too.
Note: Line numbers are as in committed file, it may differ when you update to use newer .pot, also edited multi line messages may shift line position.

Total:374

Fuzzy mark test

String marked as fuzzy is not in final shape.

Index Line English Line Native
1 - TortoiseSVN is a free open-source Windows client for the Subversion version control system. That is, TortoiseSVN manages files and directories over time. Files are stored in a central repository. The repository is much like an ordinary file server, except that it remembers every change ever made to your files and directories. This allows you to recover older versions of your files and examine the history of how and when your data changed, and who changed it. This is why many people think of Subversion and version control systems in general as a sort of time machine. 134 TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种时间机器
2 - TortoiseSVN integrates seamlessly into the Windows shell (i.e. the explorer). This means you can keep working with the tools you're already familiar with. And you do not have to change into a different application each time you need the functions of version control. 163 TortoiseSVN 与Windows 外壳(例如资源管理器)无缝集成,你可以保持在熟悉的工具上工作,不需要在每次使用版本控制功能时切换应用程序。
3 - And you are not limited to using the Windows Explorer; TortoiseSVN's context menus work in many other file managers, and also in the File/Open dialog which is common to most standard Windows applications. You should, however, bear in mind that TortoiseSVN is intentionally developed as an extension for the Windows Explorer. Thus it is possible that in other applications the integration is not as complete and e.g. the icon overlays may not be shown. 168 并且你不一定必须使用 Windows 资源管理器,TortoiseSVN 的右键菜单可以工作在其他文件管理器,以及文件/打开对话框等标准的 Windows 应用程序中。你必须牢记,TortoiseSVN 是有意作为 Windows 资源管理器的扩展开发,因此在其他程序可能集成的并不完整,例如重载图标可能不会显示。
4 - License 253 图标
5 - Although most people just download the installer, you also have full read access to the source code of this program. You can browse it on this link http://code.google.com/p/tortoisesvn/source/browse/. The current development line is located under /trunk/, and the released versions are located under /tags/. 262 TortoiseSVN 是一个开源软件项目。这意味着你可以取得它的全部源代码。你可以访问以下链接得到源代码:http://tortoisesvn.tigris.org/svn/tortoisesvn/。你会被提示输入用户名称和密码。用户名称是 guest,不能填写密码。最新的版本(我们当前正在开发的)放在 /trunk/ ,已发布版本放在 /tags/
6 - Both TortoiseSVN and Subversion are developed by a community of people who are working on those projects. They come from different countries all over the world, working together to create great software. 271 TortoiseSVN 和 Subversion 由工作在这些项目的社区成员开发。他们来自全世界不同的国家,联合起来创造美妙的程序。
7 - In 2002, Tim Kemp found that Subversion was a very good version control system, but it lacked a good GUI client. The idea for a Subversion client as a Windows shell integration was inspired by the similar client for CVS named TortoiseCVS. Tim studied the source code of TortoiseCVS and used it as a base for TortoiseSVN. He then started the project, registered the domain tortoisesvn.org and put the source code online. 280 在2002年,Tim Kemp 发现 Subversion 是一个很好的版本控制系统,但是没有好的图形化客户端,创建一个作为 Windows 外壳集成的 Subversion 客户端的创意来自 TortoiseCVS,一个非常类似的 CVS 客户端。
8 - Around that time, Stefan Küng was looking for a good and free version control system and found Subversion and the source for TortoiseSVN. Since TortoiseSVN was still not ready for use, he joined the project and started programming. He soon rewrote most of the existing code and started adding commands and features, up to a point where nothing of the original code remained. 285 Tim 学习了 TortoiseCVS 的源代码,将其作为 TortoiseSVN 的基础,然后开始这个项目,注册了域名 tortoisesvn.org,并将源代码提交到网上。此时 Stefan Küng 正在寻找一个好的免费版本控制系统,他发现了 Subversion 和 TortoiseSVN,由于 TortoiseSVN 还不能够使用,他加入了这个项目并开始编程。很快他便重写了大多数代码,并且开始添加命令和特性,此时,最初的代码都已经不复存在了。
9 - As Subversion became more stable it attracted more and more users who also started using TortoiseSVN as their Subversion client. The user base grew quickly (and is still growing every day). That's when Lübbe Onken offered to help out with some nice icons and a logo for TortoiseSVN. He now takes care of the website and manages the many translations. 290 随着 Subversion 越来越稳定,吸引了越来越多的用户开始使用 TortoiseSVN 作为他们的 Subversion 客户端。用户群增长迅速(每天都持续增长)。Lübbe Onken 提供了许多漂亮图标和 TortoiseSVN 的 logo,细心照料网站并且管理翻译。
10 - for the hard work to get TortoiseSVN to what it is now, and his leadership of the project 311 TortoiseSVN 的主要开发者
11 - for maintaining the documentation 328 帮助编写文档和跟踪错误
12 - for the log cache and revision graph 337 一个版本分支
13 - for the patches, bug reports and new ideas, and for helping others by answering questions on our mailing list 362 为了那些补丁,问题报告和新创意,以及在邮件列表里通过回答问题帮助别人。
14 - This book is written for computer-literate folk who want to use Subversion to manage their data, but prefer to use a GUI client rather than a command line client. TortoiseSVN is a windows shell extension and it is assumed that the user is familiar with the windows explorer and how to use it. 379 本书面向这样的计算机用户: 希望使用 Subversion 管理数据,但又不愿意使用 Subversion 的命令行客户端。因为 TortoiseSVN 是 Windows 的外壳扩展应用,所以我们假设用户很熟悉 Windows 资源管理器的使用。
15 - This explains what TortoiseSVN is, a little about the TortoiseSVN project and the community of people who work on it, and the licensing conditions for using it and distributing it. 384 里简单介绍了 TortoiseSVN 项目,以及其开发团体,还介绍了使用及分发该软件应遵循的许可证。
16 - User Actions are indicated using a bold font. Alt+A: press the Alt-Key on your keyboard and while holding it down press the A-Key as well. Right-drag: press the right mouse button and while holding it down drag the items to the new location. 441 用户动作使用粗体显示。ALT+A: 按下键盘的ALT键,同时按下A键,右键拖拽: 点击鼠标邮件并保持,将项目拖放到新位置。
17 - Where extreme care has to be taken. Data corruption or other nasty things may occur if these warnings are ignored. 462 需要特别关注的地方,如果忽略这些警告,会导致数据损坏或其他令人讨厌的事情。
18 - Support for Windows 98, Windows ME and Windows NT4 was dropped in version 1.2.0 and Windows 2000 support was dropped in 1.7.0. You can still download and install older versions if you need them. 488 TortoiseSVN 可以运行在 Windows 2000 SP2,Windows XP 或更高的版本。TortoiseSVN 1.2.0 以后不再支持 Windows 98, Windows ME 和 Windows NT4,但是如果需要的话,你仍旧可以下载以前的版本。
19 - TortoiseSVN comes with an easy to use installer. Double click on the installer file and follow the instructions. The installer will take care of the rest. Don't forget to reboot after installation. 501 TortoiseSVN 提供一个容易使用的安装程序。双击安装程序文件并按照提示操作。安装程序将会完成剩余的步骤。
20 - If you encounter any problems during or after installing TortoiseSVN please refer to our online FAQ at http://tortoisesvn.tigris.org/faq.html 514 如果在安装 TortoiseSVN 时发现了任何问题,请首先参考
21 - Basic Concepts 519 基本概念
22 - Creating a Repository 569 在当前位置创建版本库
23 - Importing a Project 586 导入适当的位置
24 - Checking out a Working Copy 604 检出工作副本
25 - Making Changes 617 撤消更改
26 - File Difference Viewer 626 文件差异
27 - But what are the changes? Right click on one of the changed files and select TortoiseSVNDiff. TortoiseSVN's file compare tool starts, showing you exactly which lines have changed. 631 你可以右击父文件夹,选择TortoiseSVN已解决...,使用“已解决”命令来解决多个文件。这个操作会出现一个对话框,列出文件夹下所有有冲突的文件,你可以选择将哪些标记成已解决。
28 - Adding More Files 640 增加属性
29 - The Log Dialog 657 锁定对话框
30 - Undoing Changes 674 撤消更改
31 - If you want to undo the effects of a particular revision, start with the Log dialog and find the offending revision. Select Context MenuRevert changes from this revision and those changes will be undone. 687 如果想要把以前的某个版本变成最新版本,右键点击选中的版本(范围),然后选择右键菜单恢复到此版本。就能够撤销被选中版本后面所有的变更。
32 - Many version control systems use a lock-modify-unlock model to address this problem, which is a very simple solution. In such a system, the repository allows only one person to change a file at a time. First Harry must lock the file before he can begin making changes to it. Locking a file is a lot like borrowing a book from the library; if Harry has locked a file, then Sally cannot make any changes to it. If she tries to lock the file, the repository will deny the request. All she can do is read the file, and wait for Harry to finish his changes and release his lock. After Harry unlocks the file, his turn is over, and now Sally can take her turn by locking and editing. 770 许多版本控制系统使用锁定-修改-解锁这种机制解决这种问题,在这样的模型里,在一个时间段里版本库的一个文件只允许被一个人修改。首先在修改之前,Harry 要“锁定”住这个文件,锁定很像是从图书馆借一本书,如果 Harry 锁住这个文件,Sally 不能做任何修改,如果 Sally 想请求得到一个锁,版本库会拒绝这个请求。在 Harry 结束编辑并且放开这个锁之前,她只可以阅读文件。Harry 解锁后,就要换班了,Sally 得到自己的轮换位置,锁定并且开始编辑这个文件。
33 - Here's an example. Say that Harry and Sally each create working copies of the same project, copied from the repository. They work concurrently, and make changes to the same file A within their copies. Sally saves her changes to the repository first. When Harry attempts to save his changes later, the repository informs him that his file A is out-of-date. In other words, that file A in the repository has somehow changed since he last copied it. So Harry asks his client to merge any new changes from the repository into his working copy of file A. Chances are that Sally's changes don't overlap with his own; so once he has both sets of changes integrated, he saves his working copy back to the repository. 800 这是一个例子,Harry 和 Sally 为同一个项目各自建立了一个工作副本,工作是并行的,修改了同一个文件 A,Sally 首先保存修改到版本库,当 Harry 想去提交修改的时候,版本库提示文件 A 已经过期,换句话说,A 在他上次更新之后已经更改了,所以当他通过客户端请求合并版本库和他的工作副本之后,碰巧 Sally 的修改和他的不冲突,所以一旦他把所有的修改集成到一起,他可以将工作副本保存到版本库。
34 - After you've made some changes to the files in your working copy and verified that they work properly, Subversion provides you with commands to publish your changes to the other people working with you on your project (by writing to the repository). If other people publish their own changes, Subversion provides you with commands to merge those changes into your working directory (by reading from the repository). 858 当你在工作副本作了一些修改并且确认它们工作正常之后,Subversion 提供了一个命令可以“发布”你的修改给项目中的其他人(通过写到版本库),如果别人发布了各自的修改,Subversion 提供了手段可以把这些修改与你的工作目录进行合并(通过读取版本库)。
35 - To get a working copy, you must check out some subtree of the repository. (The term check out may sound like it has something to do with locking or reserving resources, but it doesn't; it simply creates a private copy of the project for you). 883 为了得到一个工作副本,你必须检出版本库的一个子树,(术语“检出”听起来像是锁定或者保留资源,实际上不是,它只是简单的得到一个项目的私有副本)。
36 - For the most part, Subversion's URLs use the standard syntax, allowing for server names and port numbers to be specified as part of the URL. The file:// access method is normally used for local access, although it can be used with UNC paths to a networked host. The URL therefore takes the form file://hostname/path/to/repos. For the local machine, the hostname portion of the URL is required to be either absent or localhost. For this reason, local paths normally appear with three slashes, file:///path/to/repos. 980 大多数情况下,Subversion 的 URL 使用标准语法,允许服务器名称和端口号作为 URL 的一部分。file:访问方法通常用来本地访问,尽管也可以使用 UNC 路径访问网络主机,采用的 URL 形式为 file://hostname/path/to/repos。对于本地主机,主机部分可以为空或者是localhost,因此,本地路径通常出现三个斜线-file:///path/to/repos
37 - Also, users of the file:// scheme on Windows platforms will need to use an unofficially standard syntax for accessing repositories that are on the same machine, but on a different drive than the client's current working drive. Either of the two following URL path syntaxes will work where X is the drive on which the repository resides: 985 另外,在 Windows 平台的 file: 方案有时候需要使用一种非正式的标准协议访问本地但不是程序运行磁盘的版本库,以下两种 URL 路径语法都可以工作,其中的 X 是版本库所在的磁盘:
38 - The file has been changed both in the working directory, and in the repository. A commit of the file will fail with an out-of-date error. The file should be updated first; an update command will attempt to merge the public changes with the local changes. If Subversion can't complete the merge in a plausible way automatically, it leaves it to the user to resolve the conflict. 1154 这个文件在工作副本和版本库都被修改。commit 将会失败,这个文件必须首先更新,update 命令会尝试合并公共和本地修改,如果 Subversion 不能自动完成,将会让用户解决冲突。
39 - You can create a repository with the FSFS backend or with the older Berkeley Database (BDB) format. The FSFS format is generally faster and easier to administer, and it works on network shares and Windows 98 without problems. The BDB format was once considered more stable simply because it has been in use for longer, but since FSFS has now been in use in the field for several years, that argument is now rather weak. Read Choosing a Data Store in the Subversion book for more information. 1195 你可以使用 FSFS 或较老的 Berkeley 数据库(BDB)作为版本库的后端,FSFS 格式通常更快一点,还容易管理,而且可以正常运行在网络共享磁盘上 或 Windows 98 中。BDB 格式曾经简单的被认为更加稳定,因为其经过了更长时间的验证,但是既然 FSFS 已经使用了几年,这个论据已经相当不牢固了。参考 Subversion 手册的 选择数据存储 以获得更多信息。
40 - TortoiseSVN does not support file:// access to BDB repositories due to these compatibility issues, although it will of course always support this repository format when accessed via a server through the svn://, http:// or https:// protocols. 1267 由于这些兼容性问题,将来的 TortoiseSVN 不再支持使用 file:/// 访问 BDB 版本库,尽管我们继续支持使用 svn://http://https:// 协议访问 BDB 版本库。因此,我们强烈建议任何新的必须使用 file:/// 协议访问的版本库使用 FSFS 格式。
41 - Of course we also recommend that you don't use file:// access at all, apart from local testing purposes. Using a server is more secure and more reliable for all but single-developer use. 1272 当然除了本地测试之外,我们也建议你根本不要使用 file:/// 协议访问。除非是单个开发人员,使用服务器模型更为安全可靠。
42 - There are some standard, recommended ways to organize a repository. Most people create a trunk directory to hold the main line of development, a branches directory to contain branch copies, and a tags directory to contain tag copies. If a repository holds only one project, then often people create these top-level directories: 1341 有一些标准的、推荐的方式来组织一个版本库。大多数人建一个trunk目录来存放开发的“主线”、一个branches目录来容纳分支副本、以及一个tags目录来容纳标签复制。如果一个版本库只存放一个项目,人们通常创建三个这样的顶层目录:
43 - import this structure into the repository via a right click on the folder that contains this folder structure and selecting TortoiseSVNImport... In the import dialog enter the URL to your repository and click OK. This will import your temp folder into the repository root to create the basic repository layout. 1437 通过在那个文件夹右键,选择TortoiseSVN导入... 将这个结构导入到版本库中。这将导入临时文件夹到版本库的根目录形成一个基本的版本库布局。
44 - The svnadmin tool is installed automatically when you install the Subversion command line client. If you are installing the command line tools on a Windows PC, the best way is to download the Windows installer version. It is compressed more efficiently than the .zip version, so the download is smaller, and it takes care of setting the paths for you. You can download the latest version of the Subversion command line client from http://subversion.apache.org/getting.html. 1494 svnadmin在安装Subversion命令行客户端时会自动安装,如果你在Windows PC上安装这个命令行工具,最好的方式是下载Windows安装版本,它比.zip版本的压缩效率更好,所以更小,并且小心的为你设定路径。你可以从http://subversion.tigris.org/getting.html下载最新版本的命令行客户端。
45 - A hook script is a program triggered by some repository event, such as the creation of a new revision or the modification of an unversioned property. Each hook is handed enough information to tell what that event is, what target(s) it's operating on, and the username of the person who triggered the event. Depending on the hook's output or return status, the hook program may continue the action, stop it, or suspend it in some way. Please refer to the chapter on Hook Scripts in the Subversion Book for full details about the hooks which are implemented. 1516 钩子脚本是被一些版本库事件触发的程序,例如创建新版本,或修改非版本控制的属性。每种钩子都会被告知事件的足够信息,操作的目标,触发事件的用户名。依赖于钩子的输出或返回状态,钩子程序可以继续执行,停止或以某种方式挂起。请参阅 Subversion 手册的 钩子脚本 部分以获得关于实现钩子的细节。
46 - \n
&lt;a href=\"tsvn:http://project.domain.org/svn/trunk\"&gt;\n
&lt;/a&gt;\n
1577 \n
&lt;a href=\"tsvn:https://tortoisesvn.tigris.org/svn/tortoisesvn/trunk\"&gt;\n
&lt;/a&gt;\n
47 - To include such a link in your own html page, you need to add code which looks something like this: 1588 为了在你自己的网页上包含这样一个链接,你需要添加类似下面的代码: \n
&lt;a href=\"tsvn:https://tortoisesvn.tigris.org/svn/tortoisesvn/trunk\"&gt;&lt;/a&gt;\n
48 - \n
&lt;a href=\"tsvn:http://project.domain.org/svn/trunk\"&gt;\n
&lt;img src=TortoiseCheckout.png&gt;&lt;/a&gt;\n
1596 \n
&lt;a href=\"tsvn:https://tortoisesvn.tigris.org/svn/tortoisesvn/trunk\"&gt;\n
&lt;img src=TortoiseCheckout.png&gt;&lt;/a&gt;\n
49 - Of course it would look even better if you included a suitable picture. You can use the TortoiseSVN logo or you can provide your own image. 1607 当然,如果你提供一个合适的图片会更好,你可以使用TortoiseSVN logo,也可以使用自己的图片。\n
&lt;a href=\"tsvn:https://tortoisesvn.tigris.org/svn/tortoisesvn/trunk\"&gt;\n
&lt;img src=TortoiseCheckout.png&gt;&lt;/a&gt;\n
50 - \n
&lt;a href=\"tsvn:http://project.domain.org/svn/trunk?100\"&gt;\n
&lt;/a&gt;\n
1616 \n
&lt;a href=\"tsvn:https://tortoisesvn.tigris.org/svn/tortoisesvn/trunk?100\"&gt;\n
&lt;/a&gt;\n
51 - Accessing the Repository 1631 本地访问版本库
52 - To use TortoiseSVN (or any other Subversion client), you need a place where your repositories are located. You can either store your repositories locally and access them using the file:// protocol or you can place them on a server and access them with the http:// or svn:// protocols. The two server protocols can also be encrypted. You use https:// or svn+ssh://, or you can use svn:// with SASL. 1636 为了使用TortoiseSVN(或任何其他Subversion客户端),你需要放置你的版本库,你可以将版本库存于本地并使用file://协议访问,也可以放置于服务器,使用http://svn://访问,这两种服务器协议也可以被加密,使用https://svn+ssh://。本章介绍了在Windows主机上设置一个服务器的步骤。
53 - If you don't have a server and you work alone, or if you are just evaluating Subversion and TortoiseSVN in isolation, then local repositories are probably your best choice. Just create a repository on your own PC as described earlier in . You can skip the rest of this chapter and go directly to to find out how to start using it. 1645 如果你没有一个服务器,或者你独自工作,本地版本库会是你的最佳选择,你可以跳过本章,直接到
54 - The next sections are a step-by-step guide on how you can set up such a server on a Windows machine. Of course you can also set up a server on a Linux machine, but that is beyond the scope of this guide. More detailed information on the Subversion server options, and how to choose the best architecture for your situation, can be found in the Subversion book under Server Configuration. 1654 关于 Subversion 服务器选项的详细信息,以及如何根据你的情况选择最好的架构,可以参考 Subversion 手册的服务器配置
55 - In most cases svnserve is easier to setup and runs faster than the Apache based server, although it doesn't have some of the advanced features. And now that SASL support is included it is easy to secure as well. 1672 大多数情况下 svnserve 的设置更加简单,也比 Apache 的服务器更加快。
56 - To install svnserve as a native windows service, execute the following command all on one line to create a service which is automatically started when windows starts. \n
sc create svnserve binpath= \"c:\\svnserve\\svnserve.exe --service\n
--root c:\\repos\" displayname= \"Subversion\" depend= tcpip\n
start= auto\n
If any of the paths include spaces, you have to use (escaped) quotes around the path, like this: \n
sc create svnserve binpath= \"\n
\\\"C:\\Program Files\\Subversion\\bin\\svnserve.exe\\\"\n
--service --root c:\\repos\" displayname= \"Subversion\"\n
depend= tcpip start= auto\n
You can also add a description after creating the service. This will show up in the Windows Services Manager. \n
sc description svnserve \"Subversion server (svnserve)\"\n
1759 为了将 svnserve 安装为 Windows 服务,在一行内执行下面的命令,创建一个当 Windows 启动后,自动启动的服务。\n
sc create svnserve binpath= \"c:\\svnserve\\svnserve.exe --service \n
--root c:\\repos\" displayname= \"Subversion\" depend= tcpip start= auto\n
如果任一个路径包含空格,你必须使用双引号(逃逸字符)包含路径,例如:\n
sc create svnserve binpath= \"\\\"C:\\Program Files\\Subversion\\bin\\svnserve.exe\\\"\n
--service --root c:\\repos\" displayname= \"Subversion\" depend= tcpip start= auto\n
在创建服务以后,你还可以增加描述。它在 Windows 服务管理器中显示。\n
sc description svnserve \"Subversion server (svnserve)\"\n
57 - The default svnserve setup provides anonymous read-only access. This means that you can use an svn:// URL to checkout and update, or use the repo-browser in TortoiseSVN to view the repository, but you won't be able to commit any changes. 1821 缺省的 svnserve 配置提供了匿名的只读访问。这意味着你可以使用 svn:// 的 URL 进行检出和更新,或者使用 TortoiseSVN 的版本库浏览器查看版本库,但是不能提交任何修改。
58 - If you maintain multiple repositories using the same password database, the use of an authentication realm will make life easier for users, as TortoiseSVN can cache your credentials so that you only have to enter them once. More information can be found in the Subversion book, specifically in the sections Create a 'users' file and realm and Client Credentials Caching 1867 如果使用相同的密码数据库维护多个版本库,使用一个认证域将让用户的工作更加简单,因为 TortoiseSVN 可以缓存你的凭证,所以你只需要输入一次,更多的信息可以参考 Subversion 手册的 创建用户文件和域客户端凭证缓存
59 - The Apache based Subversion server uses the WebDAV protocol which is supported by many other programs as well. You could e.g. mount such a repository as a Web folder in the Windows explorer and then access it like any other folder in the file system. 2025 基于 Apache 的 Subversion 服务器使用 WebDAV 协议,许多程序支持这个协议。例如你可以在 Windows 资源管理器中将这样的版本库装载为一个“网络文件夹”,就像访问文件系统的目录一样访问它。
60 - Download the latest version of the Subversion Win32 binaries for Apache. Be sure to get the right version to integrate with your version of Apache, otherwise you will get an obscure error message when you try to restart. If you have Apache 2.2.x go to http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100. 2103 http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91得到最新版本的Subversion。
61 - At the end of the config file add the following lines: \n
&lt;Location /svn&gt;\n
DAV svn\n
SVNListParentPath on\n
SVNParentPath D:\\SVN\n
#SVNIndexXSLT \"/svnindex.xsl\"\n
AuthType Basic\n
AuthName \"Subversion repositories\"\n
AuthUserFile passwd\n
#AuthzSVNAccessFile svnaccessfile\n
Require valid-user\n
&lt;/Location&gt;\n
This configures Apache so that all your Subversion repositories are physically located below D:\\SVN. The repositories are served to the outside world from the URL: http://MyServer/svn/ . Access is restricted to known users/passwords listed in the passwd file.
2151 在配置文件最后添加如下几行: \n
&lt;Location /svn&gt;\n
DAV svn\n
SVNListParentPath on\n
SVNParentPath D:\\SVN\n
#SVNIndexXSLT \"/svnindex.xsl\"\n
AuthType Basic\n
AuthName \"Subversion repositories\"\n
AuthUserFile passwd\n
#AuthzSVNAccessFile svnaccessfile\n
Require valid-user\n
&lt;/Location&gt;\n
这个配置告诉 Apache 你所有的 Subversion 版本库位于 D:\\SVN。这些版本库对外的 URL 是: http://MyServer/svn/。访问被文件 passwd 中的用户/密码限制。
62 - You can get those three files directly from our source repository at http://tortoisesvn.googlecode.com/svn/trunk/contrib/svnindex. ( explains how to access the TortoiseSVN source repository). 2316 你可以直接在我们的代码库http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/contrib/other/svnindex中拿到这三个文件。如果访问这个链接需要认证,输入用户名称 guest,无需密码。
63 - To enable both Windows domain and passwd file authentication, add the following entries within the &lt;Location&gt; block of your Apache config file: \n
AuthBasicAuthoritative Off\n
SSPIAuthoritative Off\n
2555 为了同时启用 Windows 域认证和 passwd 文件认证,在 Apache 配置文件的 &lt;Location&gt; 块中添加如下条目: \n
AuthAuthoritative Off\n
SSPIAuthoritative Off\n
64 - Here is an example of the full Apache configuration for combined Windows domain and passwd file authentication: \n
&lt;Location /svn&gt;\n
DAV svn\n
SVNListParentPath on\n
SVNParentPath D:\\SVN\n
\n
AuthName \"Subversion repositories\"\n
AuthzSVNAccessFile svnaccessfile.txt\n
\n
# NT Domain Logins.\n
AuthType SSPI\n
SSPIAuth On\n
SSPIAuthoritative Off\n
SSPIDomain &lt;domaincontroller&gt;\n
SSPIOfferBasic On\n
\n
# Htpasswd Logins.\n
AuthType Basic\n
AuthBasicAuthoritative Off\n
AuthUserFile passwd\n
\n
Require valid-user\n
&lt;/Location&gt;\n
2568 下面是组合使用 Windows 域认证和 passwd 文件认证的完整配置: \n
&lt;Location /svn&gt;\n
DAV svn\n
SVNListParentPath on\n
SVNParentPath D:\\SVN\n
\n
AuthName \"Subversion repositories\"\n
AuthzSVNAccessFile svnaccessfile.txt\n
\n
# NT Domain Logins.\n
AuthType SSPI\n
SSPIAuth On\n
SSPIAuthoritative Off\n
SSPIDomain &lt;domaincontroller&gt;\n
SSPIOfferBasic On\n
\n
# Htpasswd Logins.\n
AuthType Basic\n
AuthAuthoritative Off\n
AuthUserFile passwd\n
\n
Require valid-user\n
&lt;/Location&gt;\n
65 - Next you need to create an SSL certificate. To do that open a command prompt (DOS-Box) and change to the Apache folder (e.g. C:\\program files\\apache group\\apache2) and type the following command: \n
bin\\openssl req -config conf\\openssl.cnf -new -out my-server.csr\n
You will be asked for a passphrase. Please don't use simple words but whole sentences, e.g. a part of a poem. The longer the phrase the better. Also you have to enter the URL of your server. All other questions are optional but we recommend you fill those in too.
2657 然后你需要创建一个 SSL 证书。为此打开一个命令行窗口,进入 Apache 目录(例如 C:\\program files\\apache group\\apache2),然后输入命令: \n
bin\\openssl req -config bin\\openssl.cnf -new -out my-server.csr\n
你会被询问密句。请不要使用简单的单词,而是使用整段话,例如一段诗,越长越好。你也需要输入服务器的 URL,其他所有问题都是可选的,但是我们建议你输入这些信息。
66 - Normally the privkey.pem file is created automatically, but if it isn't you need to type this command to generate it: \n
bin\\openssl genrsa -out conf\\privkey.pem 2048\n
2668 通常会自动产生privkey.pem文件,但是如果没有,请输入下面的命令生成它: \n
bin\\openssl genrsa -out privkey.pem 2048\n
67 - Next type the commands \n
bin\\openssl rsa -in conf\\privkey.pem -out conf\\server.key\n
and (on one line) \n
bin\\openssl req -new -key conf\\server.key -out conf\\server.csr \\\n
-config conf\\openssl.cnf\n
and then (on one line) \n
bin\\openssl x509 -in conf\\server.csr -out conf\\server.cert\n
-req -signkey conf\\server.key -days 4000\n
This will create a certificate which will expire in 4000 days. And finally enter (on one line): \n
bin\\openssl x509 -in conf\\server.cert -out conf\\server.der.crt\n
-outform DER\n
These commands created some files in the Apache conf folder (server.der.crt, server.csr, server.key, .rnd, privkey.pem, server.cert).
2679 然后输入这个命令\n
bin\\openssl rsa -in privkey.pem -out my-server.key\n
并且输入(在同一行)\n
bin\\openssl x509 -in my-server.csr -out my-server.cert\n
-req -signkey my-server.key -days 4000\n
这样会创建一个在4000天里过期的证书,最后输入: \n
bin\\openssl x509 -in my-server.cert -out my-server.der.crt -outform DER\n
这些命令在Apache目录(my-server.der.crtmy-server.csrmy-server.key.rndprivkey.pemmy-server.cert)里创建了一些文件,复制这些文件到目录conf/ssl(例如C:\\program files\\apache group\\apache2\\conf\\ssl)-如果这个目录不存在,你需要首先创建一个。
68 - An example &lt;Location&gt; block would look like this: \n
&lt;Location /svn&gt;\n
DAV svn\n
SVNParentPath D:\\SVN\n
SSLRequireSSL\n
AuthType Basic\n
AuthName \"Subversion repositories\"\n
AuthUserFile passwd\n
#AuthzSVNAccessFile svnaccessfile\n
Require valid-user\n
&lt;/Location&gt;\n
2754 这是一个 &lt;Location&gt; 实例: \n
&lt;Location /svn&gt;\n
DAV svn\n
SVNParentPath D:\\SVN\n
SSLRequireSSL\n
AuthType Basic\n
AuthName \"Subversion repositories\"\n
AuthUserFile passwd\n
#AuthzSVNAccessFile svnaccessfile\n
Require valid-user\n
&lt;/Location&gt;\n
69 - To summarise, the relevant lines of the Apache configuration are: \n
SSLVerifyClient Optional\n
\n
### Virtual host configuration for the PUBLIC host\n
### (not requiring a certificate)\n
\n
&lt;VirtualHost 127.0.0.1:443&gt;\n
&lt;Directory \"pathtopublicfileroot\"&gt;\n
&lt;/Directory&gt;\n
&lt;/VirtualHost&gt;\n
\n
### Virtual host configuration for SUBVERSION\n
### (requiring a client certificate)\n
&lt;VirtualHost 127.0.0.1:443&gt;\n
&lt;Directory \"subversion host root path\"&gt;\n
SSLRequire %{SSL_CLIENT_VERIFY} eq \"SUCCESS\"\n
&lt;/Directory&gt;\n
\n
&lt;Location /svn&gt;\n
DAV svn\n
SVNParentPath /pathtorepository\n
&lt;/Location&gt;\n
&lt;/VirtualHost&gt;\n
2809 总之,Apache 配置文件中的相关内容就是这样的: \n
SSLVerifyClient Optional\n
\n
### 公共访问虚拟主机 \n
### (不需要客户端证书)\n
\n
&lt;VirtualHost 127.0.0.1:443&gt;\n
&lt;Directory \"pathtopublicfileroot\"&gt;\n
&lt;/Directory&gt;\n
&lt;/VirtualHost&gt;\n
\n
### SUBVERSION 虚拟主机\n
### (需要客户端证书)\n
&lt;VirtualHost 127.0.0.1:443&gt;\n
&lt;Directory \"subversion host root path\"&gt;\n
SSLRequire %{SSL_CLIENT_VERIFY} eq \"SUCCESS\"\n
&lt;/Directory&gt;\n
\n
&lt;Location /svn&gt;\n
DAV svn\n
SVNParentPath /pathtorepository\n
&lt;/Location&gt;\n
&lt;/VirtualHost&gt;\n
70 - authentication cache 3019 认证
71 - If you are importing into an existing repository which already contains some projects, then the repository structure will already have been decided. If you are importing data into a new repository, then it is worth taking the time to think about how it will be organised. Read for further advice. 3103 如果你要将数据导入到已经包括一些项目的版本库中,那么版本库的结构应该已经确定了。如果你要将数据导入到一个新的版本库中,那么应该花点时间确定版本库的组织结构。阅读 以获得更多的建议。
72 - In the repository browser, Right click on the checked out folder, then use TortoiseSVNRepo-Browser to bring up the repository browser. Find the sub-folder you would like to add to your working copy, then use Context menuUpdate item to revision... That menu will only be visible if the selected item does not exist yet in your working copy, but the parent item does exist. 3304 如果希望比较某个文件的两个历史版本,比如同一个文件修订版本100和200,可以用TortoiseSVN显示日志列出这个文件的历史版本纪录,选择希望比较的两个版本,然后使用右键菜单比较版本差异
73 - This feature is very useful when you only want to checkout parts of a large tree, but you want the convenience of updating a single working copy. Suppose you have a large tree which has sub-folders Project01 to Project99, and you only want to checkout Project03, Project25 and Project76/SubProj. Use these steps: 3313 当你想要检出一个很大的目录结构中的一部分时这个功能非常有用,你可以利用更新单独的工作副本这一便利方法。假设有一个很大的目录结构,它包含有子文件夹 Project01Project99,你只想检出 Project03Project25Project76/SubProj。按下面的步骤操作:
74 - Select the new folder and use TortoiseSVNRepo browser to display the repository content. 3322 选择新的文件夹,并使用 TortoiseSVN版本库浏览器来显示版本库的内容。
75 - If Omit externals is checked, or if you wish to increase the depth value, you will have to perform updates to your working copy using TortoiseSVNUpdate to Revision... instead of TortoiseSVNUpdate. The standard update will include all externals and keep the existing depth. 3359 如果这两个选项的任何一个选中了,你应该使用TortoiseSVN更新至版本...来更新你的工作副本而不是使用TortoiseSVN更新。标准的更新将会包含所有的子文件夹和外部引用。
76 - You can select or deselect items by clicking on the checkbox to the left of the item. For directories you can use Shift-select to make the action recursive. 3449 你可以点击项目左边的检查框,来选定或者取消。对于目录,你可以用 SHIFT-Select 来执行递归操作。
77 - Repairing External Copies 3481 修复外部改名
78 - If you made a copy of a file but forgot to use the Subversion command to do so, you can repair that copy so the new file doesn't lose its history. Simply select both the old name (normal or modified) and the new name (unversioned) and use Context MenuRepair Copy to pair the two files as a copy. 3487 有时候文件不是用Subversion改名,于是它们在文件列表中作为丢失和未版本控制的文件出现。为了避免丢失历史,你需要通知Subversion。简单的选择老名称(丢失)和新名称(未版本控制),然后使用右键菜单修复移动来指明这两个文件是改名关系。
79 - The log message window also includes a filename and function auto-completion facility. This uses regular expressions to extract class and function names from the (text) files you are committing, as well as the filenames themselves. If a word you are typing matches anything in the list (after you have typed at least 3 characters, or pressed Ctrl+Space), a drop-down appears allowing you to select the full name. The regular expressions supplied with TortoiseSVN are held in the TortoiseSVN installation bin folder. You can also define your own regexes and store them in %APPDATA%\\TortoiseSVN\\autolist.txt. Of course your private autolist will not be overwritten when you update your installation of TortoiseSVN. If you are unfamiliar with regular expressions, take a look at the introduction at http://en.wikipedia.org/wiki/Regular_expression, and the online documentation and tutorial at http://www.regular-expressions.info/. 3533 日志信息窗口还包含一个文件名和函数自动完成的功能。这使用了正则表达式来从你提交的(文本)文件中提取类和函数名,当然包括文件名本身。如果你现在敲入的一个词与列表中的任意一个匹配(在你输入至少3个字符后),就会出现一个下拉列表,允许你选择完整的名字。与TortoiseSVN一起提供的正则表达式位于TortoiseSVN安装路径的bin文件夹中。你可以定义自己的正则式并将其存放在%APPDATA%\\TortoiseSVN\\autolist.txt。当然你自定义的自动列表不会在升级安装的时候被覆盖。如果你不熟悉正则表达式,请参考在线文件和教程: http://www.regular-expressions.info/.
80 - If you want to include the checked paths in your log message, you can use the command Context MenuPaste filename list in the edit control. 3550 如果右击一个版本你可以使用右键菜单显示日志 来查看它的历史。
81 - If you have activated the bug tracking system, you can set one or more Issues in the Bug-ID / Issue-Nr: text box. Multiple issues should be comma separated. Alternatively, if you are using regex-based bug tracking support, just add your issue references as part of the log message. Learn more in . 3571 如果你激活了一个缺陷跟踪系统,你可以在Bug-ID / Issue-Nr:文本框中设置一个或多个问题。多个问题应该用逗号分割。另外,如果你使用基于正则表达式的缺陷跟踪支持,只要将你的问题引用作为日志信息的一部分加入就可以了。详情请见
82 - Periodically, you should ensure that changes done by others get incorporated in your local working copy. The process of getting changes from the server to your local copy is known as updating. Updating may be done on single files, a set of selected files, or recursively on entire directory hierarchies. To update, select the files and/or directories you want, right click and select TortoiseSVNUpdate in the explorer context menu. A window will pop up displaying the progress of the update as it runs. Changes done by others will be merged into your files, keeping any changes you may have done to the same files. The repository is not affected by an update. 3654 你应该定期地确保别人作的修改与你的工作副本可以整合。从服务器上获取改动到你本地副本的过程称为更新。更新可以针对一个文件、几个选中的文件或是递归整个目录层次。要进行更新操作,请选择要更新文件和/或路径,右击选择右键菜单中的TortoiseSVN更新。会弹出一个窗口显示更新的进度。别人作的修改将合并到你的文件中,你所做的修改会被保留。版本库更新操作的影响。
83 - If you get any conflicts during an update (this can happen if others changed the same lines in the same file as you did and those changes don't match) then the dialog shows those conflicts in red. You can double click on these lines to start the external merge tool to resolve the conflicts. 3693 如果你在更新中遇到了冲突(这是由于别人与你修改了同一个文件的同一行代码,并且两者的修改不匹配),对话框中将冲突显示为红色,你可以双击这些行启动外部合并工具来解决冲突。
84 - When the update is complete, the progress dialog shows a summary of the number of items updated, added, removed, conflicted, etc. below the file list. This summary information can be copied to the clipboard using Ctrl+C. 3698 当更新完成后,进度对话框在文件列表下面显示汇总信息,多少项更新,增加,删除,冲突等。汇总信息可以使用CTRL+C复制到剪贴板。
85 - The standard Update command has no options and just updates your working copy to the HEAD revision of the repository, which is the most common use case. If you want more control over the update process, you should use TortoiseSVNUpdate to Revision... instead. This allows you to update your working copy to a specific revision, not only to the most recent one. Suppose your working copy is at revision 100, but you want it to reflect the state which it had in revision 50 - then simply update to revision 50. In the same dialog you can also choose the depth at which to update the current folder. The terms used are described in . The default depth is Working copy, which preserves the existing depth setting. You can also choose whether to ignore any external projects in the update (i.e. projects referenced using svn:externals). 3703 标准的更新命令没有选项,仅仅是把你的工作副本更新到版本库中的最新版本,这也是最常用的情况。如果你要对更新过程进行更多的控制,就要使用TortoiseSVN更新到版本...。这个操作允许你更新工作副本到一个指定的版本,不仅仅是最新的。假设你的工作副本是在版本100,但你要回顾一下版本50是什么样的——那你只要简单地更新到版本50就可以了。在同一个对话框中你还可以选择不递归更新当前文件夹(就是不更新所有的子文件夹)并且可以选择是否在更新中忽略外部的项目(比如具有属性 svn:externals的被引用的项目).
86 - If you update a file or folder to a specific revision, you should not make changes to those files. You will get out of date error messages when you try to commit them! If you want to undo changes to a file and start afresh from an earlier revision, you can rollback to a previous revision from the revision log dialog. Take a look at for further instructions, and alternative methods. 3708 如果你把一个文件或是文件夹更新到某个特定的版本,你不应该对这些文件做修改。你在提交的时候会得到一个已经过期的错误消息!如果你要取消修改,从一个早前的版本重新开始,你可以通过版本日志对话框回滚到之前的版本。请看以获得详情和其他方法。
87 - Update to Revision can occasionally be useful to see what your project looked like at some earlier point in its history. But in general, updating individual files to an earlier revision is not a good idea as it leaves your working copy in an inconsistent state. If the file you are updating has changed name, you may even find that the file just disappears from your working copy because no file of that name existed in the earlier revision. You should also note that the item will show a normal green overlay, so it is indistinguishable from files which are up-to-date. 3713 更新到版本在你偶尔要看看你的项目在早前某时刻是什么样子的时候很有用。但通常,更新单个文件到之前的版本不是一个好主意,因为这会使你的工作副本处于不一致的状态。如果你要更新的文件已经改了名,你可能甚至发现该文件从你的工作副本中消失了,因为早期的版本中不存在这个名字的文件。如果你只是简单地想要一个旧版本文件的本地副本,最好是在该文件的日志对话框中使用右键菜单另存版本为...命令。
88 - If you simply want a local copy of an old version of a file it is better to use the Context MenuSave revision to... command from the log dialog for that file. 3718 如果右击一个版本你可以使用右键菜单显示日志 来查看它的历史。
89 - A file conflict occurs when two or more developers have changed the same few lines of a file. As Subversion knows nothing of your project, it leaves resolving the conflicts to the developers. Whenever a conflict is reported, you should open the file in question, and search for lines starting with the string &lt;&lt;&lt;&lt;&lt;&lt;&lt;. The conflicting area is marked like this: \n
&lt;&lt;&lt;&lt;&lt;&lt;&lt; filename\n
your changes\n
=======\n
code merged from repository\n
&gt;&gt;&gt;&gt;&gt;&gt;&gt; revision\n
Also, for every conflicted file Subversion places three additional files in your directory:
3807 当两名或更多开发人员修改了同一个文件中相邻或相同的行时就会发生文件冲突。由于 Subversion 不知道你的项目的具体情况,它把解决冲突的工作留给了开发人员。一旦出现冲突,你就应该打开有问题的文件,查找以字符串&lt;&lt;&lt;&lt;&lt;&lt;&lt;开头的行。有冲突的区域用如下的方式标记: \n
\t&lt;&lt;&lt;&lt;&lt;&lt;&lt; 文件名\n
\t\t你的修改\n
\t=======\n
\t\t合并自版本库中的代码\n
\t&gt;&gt;&gt;&gt;&gt;&gt;&gt; 版本\n
对于每个冲突的文件 Subversion 在你的目录下放置了三个文件:
90 - Other tree conflicts 4090 树冲突
91 - If you click on the Check Repository then you can also look for changes in the repository. That way you can check before an update if there's a possible conflict. You can also update selected files from the repository without updating the whole folder. By default, the Check Repository button only fetches the remote status with the checkout depth of the working copy. If you want to see all files and folders in the repository, even those you have not checked out, then you have to hold down the Shift key when you click on the Check Repository button. 4222 如果你点击检查版本库,那你还可以看到版本库里的改动。这样,你就可以在提交之前检查是否有存在冲突的可能。你也可以从版本库中更新选中的文件而用不着更新整个文件夹。另外,检查版本库按钮只获取工作副本中检出深度部分的远程状态。如果你要查看版本库中所有文件和文件夹,即使你没有将它们检出,那么你要在点击检查版本库时按下 Shift 键。
92 - You can also revert changes in individual files. If you have deleted a file accidentally, it will show up as Missing and you can use Revert to recover it. 4259 你还可以对单个文件进行还原(revert)。如果你不小心删除了一个文件,在对话框中会显示为丢失你可以使用还原来恢复它。
93 - At the bottom of the dialog you can see a summary of the range of repository revisions in use in your working copy. These are the commit revisions, not the update revisions; they represent the range of revisions where these files were last committed, not the revisions to which they have been updated. Note that the revision range shown applies only to the items displayed, not to the entire working copy. If you want to see that information for the whole working copy you must check the Show unmodified files checkbox. 4280 在这个对话框的底部,你可以看到工作副本所用版本库版本的范围概要。这些是 提交版本,不是更新版本;它们是这些文件最后提交的版本范围,不是已经更新的版本。注意显示的版本范围针对的是显示的项目,不是整个工作副本。如果你想察看整个工作副本的信息,必须选中检查框显示未修改的文件
94 - Changelists are purely a local client feature. Creating and removing changelists will not affect the repository, nor anyone else's working copy. They are simply a convenient way for you to organise your files. 4353 修改列表是纯本地客户端特性。创建和删除修改列表不会影响到版本库,或任何其它客户端。
95 - Compare with previous revision 4486 与前一版本比较差异
96 - Show changes made in the selected revision for the selected file. 4726 显示选中的单个文件的版本日志。
97 - Click on the search icon to select which information you want to search in, and to choose regex mode. Normally you will only need a simple sub-string search, but if you need to more flexible search terms, you can use regular expressions. If you hover the mouse over the box, a tooltip will give hints on how to use the regex functions, or the sub-string functions. The filter works by checking whether your filter string matches the log entries, and then only those entries which match the filter string are shown. 4940 点击查找图标来选择你要查找信息的类型,并且选择正则表达式模式。一般情况下你只需要简单的文本查找,但是如果你需要更有弹性的查找规则,你就可以使用正则表达式。鼠标指针停留在文版框上面时,会显示如何使用正则表达式功能的的提示。你也可以在这里 http://www.regular-expressions.info/ 查看在线文档和指导。过滤器检查你的过滤字符串是否与日志条目匹配,并且只显示与过滤字符串匹配的条目。
98 - Describing the use of regular expression searches is beyond the scope of this manual, but you can find online documentation and a tutorial at http://www.regular-expressions.info/. 4962 如果你不熟悉正则表达式,可以看一下http://www.regular-expressions.info/上的在线文档和教程。
99 - You can also filter the path names in the bottom pane using the Show only affected paths checkbox. Affected paths are those which contain the path used to display the log. If you fetch the log for a folder, that means anything in that folder or below it. For a file it means just that one file. Normally the path list shows any other paths which are affected by the same commit, but in grey. If the box is checked, those paths are hidden. 4971 你还可以使用隐藏无关的修改路径复选框来过滤底部面板中的路径名称。所谓相关路径,是指那些与日志相关的路径。对于一个文件夹的日志来说,相关路径就是该文件夹以其下的所有内容。对于一个文件的日志来说,相关路径就是与该文件的路径。该复选框是3态的: 可以显示所有的路径,将无关的内容灰色显示,或是完全隐藏无关路径。
100 - clean 5875 清理
101 - When you add new sub-folders to a working copy using TortoiseSVN, any project properties present in the parent folder will automatically be added to the new child folder too. 6261 当你使用 TortoiseSVN 增加新的目录时,任何父目录的项目属性都会被自动增加到子目录。
102 - Limitations Using the Repository Browser 6267 版本库浏览器
103 - If the external project is in the same repository, any changes you make there will be included in the commit list when you commit your main project. 6356 如果一个外部工程位于同一版本库中,当你向主项目提交你的修改时,你对外部工程做的修改也会包含在提交列表中。
104 - mark release 6493 深红
105 - The Merge Wizard - Reintegrate Merge 6789 合并向导 - 树合并
106 - To merge a feature branch back into the trunk you must start the merge wizard from within a working copy of the trunk. 6794 为了将新特性从分支合并到最新版本,你需要进入最新版本的工作副本。在右键菜单选择 TortoiseSVN合并...
107 - In the From URL: field enter the full folder URL of the branch that you want to merge back. You may also click ... to browse the repository. 6799 开始:域输入trunk文件夹的全路径。这听起来好象是错误的,但是切记 trunk 是你想增加分支修改的开始点。也可以点击 ...浏览版本库。
108 - In the From: field enter the full folder URL of the trunk. This may sound wrong, but remember that the trunk is the start point to which you want to add the branch changes. You may also click ... to browse the repository. 6824 开始:域输入trunk文件夹的全路径。这听起来好象是错误的,但是切记 trunk 是你想增加分支修改的开始点。也可以点击 ...浏览版本库。
109 - You can specify the depth to use for the merge, i.e. how far down into your working copy the merge should go. The depth terms used are described in . The default depth is Working copy, which uses the existing depth setting, and is almost always what you want. 6849 你可以指定合并的深度。深度这个术语在 描述。默认深度是工作副本,它使用现有的深度配置。
110 - Most of the time you want merge to take account of the file's history, so that changes relative to a common ancestor are merged. Sometimes you may need to merge files which are perhaps related, but not in your repository. For example you may have imported versions 1 and 2 of a third party library into two separate directories. Although they are logically related, Subversion has no knowledge of this because it only sees the tarballs you imported. If you attempt to merge the difference between these two trees you would see a complete removal followed by a complete add. To make Subversion use only path-based differences rather than history-based differences, check the Ignore ancestry box. Read more about this topic in the Subversion book, Noticing or Ignoring Ancestry 6854 大部分时候,你要合并文件的历史,所以要相对于公共祖先合并。有时你需要合并或许是有关系的文件,但是不在你的版本库中。例如,你已经将一个第三方库的版本1和2导入到两个单独目录。尽管它们逻辑相关,因为Subversion只看到你导入的文件,所以它不知道这些关系。如果你试图合并这两个树的修改,将会看到完全的删除和增加。让Subversion只使用路径差异,不关心历史差异,选中忽略祖先检查框。你可以在《使用 Subversion 进行版本管理》的关心或忽略祖先中阅读此主题的更多信息。
111 - Now everything is set up, all you have to do is click on the Merge button. If you want to preview the results Test Merge simulates the merge operation, but does not modify the working copy at all. It shows you a list of the files that will be changed by a real merge, and notes files where conflicts may occur. Because merge tracking makes the merge process a lot more complicated, there is no guaranteed way to find out in advance whether the merge will complete without conflicts, so files marked as conflicted in a test merge may in fact merge without any problem. 6871 演习运行执行合并操作,但是根本 修改工作副本。它显示在真实的合并中要修改的文件列表,还告诉你哪里会出现冲突。
112 - For Subversion clients and servers prior to 1.5, no merge information is stored and merged revisions have to be tracked manually. When you have tested the changes and come to commit this revision, your commit log message should always include the revision numbers which have been ported in the merge. If you want to apply another merge at a later time you will need to know what you have already merged, as you do not want to port a change more than once. For more information about this, refer to Best Practices for Merging in the Subversion book. 6888 当你已经测试了修改,准备提交时,日志信息应当总是包含这次合并的版本信息。如果你以后需要执行合并,就需要知道已经合并了什么,因为你不想多次合并同一修改。不幸的是,合并信息不会存储在Subversion版本库中。阅读《使用 Subversion 进行版本管理》中的合并的最佳实践章节以获得更多信息。
113 - If you have just merged a feature branch back into the trunk, the trunk now contains all the new feature code, and the branch is obsolete. You can now delete it from the repository if required. 6901 这种情况下,因为新特性已经集成到最新版本,你不再需要这个新特性分支。新特性分支变成多余的,如果需要可以从版本库删除它。
114 - Subversion can't merge a file with a folder and vice versa - only folders to folders and files to files. If you click on a file and open up the merge dialog, then you have to give a path to a file in that dialog. If you select a folder and bring up the dialog, then you must specify a folder URL for the merge. 6906 Subversion不能进行文件与文件夹的合并,反之亦然 - 只能文件夹对文件夹,文件对文件。如果选择了文件,打开合并对话框,那么你必须在对话框中给出文件的路径。如果你选择了文件夹,打开合并对话框,那么你必须给出文件夹的对话框。
115 - Find out more about merge tracking from Subversion's Merge tracking documentation. 6947 http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91下载最新版本的Subversion。
116 - merge reintegrate 6992 复兴
117 - The Merge reintegrate Dialog 6997 合并全部对话框
118 - Your company has always used a locking revision control system in the past and there has been a management decision that locking is best. 7038 你的公司过去经常使用VCS锁定,这是个管理决定,锁定是最好的
119 - Firstly you need to ensure that your Subversion server is upgraded to at least version 1.2. Earlier versions do not support locking at all. If you are using file:// access, then of course only your client needs to be updated. 7047 首先,你需要确保你的Subversion服务器更新到至少1.2版本。早期的版本不支持锁定。如果你使用file:///进行访问,那么当然只要更新你的客户端就可以了。
120 - If you select a folder and then use TortoiseSVNGet Lock... the lock dialog will open with every file in every sub-folder selected for locking. If you really want to lock an entire hierarchy, that is the way to do it, but you could become very unpopular with your co-workers if you lock them out of the whole project. Use with care ... 7092 如果你选择一个文件夹,使用TortoiseSVN获取锁定...锁定对话框将显示所有子文件夹中的所有文件 。如果你真的要锁定整个目录,就这么做,但如果你这么做,可能会很不受你的合作者的欢迎。小心使用...
121 - If you operate a policy where every file has to be locked then you may find it easier to use Subversion's auto-props feature to set the property automatically every time you add new files. Read for further information. 7141 如果你管理的策略要求每个文件都必须被锁定,那么你会发现使用Subversion的auto-props功能,在你每次加入新文件的时候,自动设置属性是很方便的。请阅读
122 - Patch files are applied to your working copy. This should be done from the same folder level as was used to create the patch. If you are not sure what this is, just look at the first line of the patch file. For example, if the first file being worked on was doc/source/english/chapter1.xml and the first line in the patch file is Index: english/chapter1.xml then you need to apply the patch to the doc/source/ folder. However, provided you are in the correct working copy, if you pick the wrong folder level, TortoiseSVN will notice and suggest the correct level. 7218 补丁文件应用于你的工作副本。当你对你的工作副本打补丁的时候,你应当在与创建补丁文件时相同的目录层次上。如果你不能确定在哪个目录层次上,就看一下补丁文件的第一行。例如,如果补丁第一个要处理的文件是doc/source/english/chapter1.xml 并且补丁文件的第一行是Index: english/chapter1.xml说明你必须要对doc/source/目录应用这个补丁文件。尽管如此,倘若你在正确的工作副本上工作,如果你选择了一个错误的目录层次,TSVN会察觉到这个错误,并给出正确的建议。
123 - From the context menu for that folder, click on TortoiseSVNApply Patch... This will bring up a file open dialog allowing you to select the patch file to apply. By default only .patch or .diff files are shown, but you can opt for All files. If you previously saved a patch to the clipboard, you can use Open from clipboard... in the file open dialog. Note that this option only appears if you saved the patch to the clipboard using TortoiseSVNCreate Patch.... Copying a patch to the clipboard from another app will not make the button appear. 7227 从那个目录的上下文菜单,点击TortoiseSVN应用补丁... 系统会弹出一个打开文件的对话框,让你选择要应用的补丁文件。默认情况下只显示.patch或者.diff文件,但是你可以选择\"所有文件\"。如果你以前将补丁保存到了剪贴板,可以使用打开文件对话框的从剪贴板打开...
124 - If you want to see the paths involved in the merge, select ViewMerge paths. 7332 在工作副本上选择TortoiseSVN合并
125 - The settings for TortoiseBlame can be accessed using TortoiseSVNSettings... on the TortoiseBlame tab. Refer to . 7337 你要在同一个版本库中切换一个分支或目录。这么做你可以用TortoiseSVN切换....
126 - Select one revision in the top pane, then pick one file in the bottom pane and select Context menuBlame changes. This will fetch the blame data for the selected revision and the previous revision, then use the diff viewer to compare the two blame files. 7362 在上面的面板里选择一个版本,然后在下面的面板选择一个文件然后选择上下文菜单追溯差异。这会为选定版本及其上一个版本获取追溯数据,然后用差异阅读器比较两份追溯文件。
127 - Make a copy of the folder, either to a different part of the repository, or to a working copy rooted in the same repository. This can also be used to create a branch/tag without the need to have a working copy checked out. 7460 复制这个目录,目的可以是版本库中的其它地方,也可以是同一版本库中的工作副本。
128 - You can use F5 to refresh the view as usual. This will refresh everything which is currently displayed. If you want to pre-fetch or refresh the information for nodes which have not been opened yet, use Ctrl-F5. After that, expanding any node will happen instantly without a network delay while the information is fetched. 7493 你可以使用 F5 刷新视图。它会刷新现在显示的所有信息。你可以使用 CTRL-F5 预取或刷新还没有打开的节点信息。然后,展开任何节点都会立即显示,因为信息已经预取,所以没有网络延迟。
129 - You can also use the repository browser for drag-and-drop operations. If you drag a folder from explorer into the repo-browser, it will be imported into the repository. Note that if you drag multiple items, they will be imported in separate commits. 7498 你也可以在版本库浏览器中使用拖拽的操作。如果你把一个文件夹从资源管理器中拖拽到版本库浏览器中,那就实现该文件夹的导入功能。有一点要注意,在导入多个文件时,必须分开一个一个地拖进去。
130 - If you want to move an item within the repository, just left drag it to the new location. If you want to create a copy rather than moving the item, Ctrl-left drag instead. When copying, the cursor has a plus symbol on it, just as it does in Explorer. 7503 如果要在版本库浏览器中移动一个文件,只用左键拖到它要去的位置。如果你更愿意去复制该文件的话,使用这个按住左键拖 。操作就像在资源管理器中一样,复制时指针 来标记。
131 - If you want to copy/move a file or folder to another location and also give it a new name at the same time, you can right drag or Ctrl-right drag the item instead of using left drag. In that case, a rename dialog is shown where you can enter a new name for the file or folder. 7508 如果你要复制/移动一个文件或文件夹到一个新的位置并重命名,你可以右键拖 或者 按住右键拖这个文件,而不用左键拖。这样,就会显示对话框来为该文件或文件夹重命名。
132 - Sometimes when you try to open a path you will get an error message in place of the item details. This might happen if you specified an invalid URL, or if you don't have access permission, or if there is some other server problem. If you need to copy this message to include it in an email, just right click on it and use Context MenuCopy error message to clipboard, or simply use Ctrl+C. 7517 有时候当你访问一个路径时,会跳出一个错误信息。也许是不可用的URL,也许是你没有访问权限,或者其他的一些原因,如果你要把这些信息发送出去,只用点击它然后右键复制错误信息到剪贴板,或者简单地用CTRL+C
133 - In order to generate the graph, TortoiseSVN must fetch all log messages from the repository root. Needless to say this can take several minutes even with a repository of a few thousand revisions, depending on server speed, network bandwidth, etc. If you try this with something like the Apache project which currently has over 500,000 revisions you could be waiting for some time. 7546 要产生版本分支图,TortoiseSVN必须从版本库中获取所有的日志信息。一个只有上千版本的版本库也会需要几分钟的时间,这个主要由服务器速度,网络带宽等因素决定。对于类似Apache这样的版本号超过500,000的项目,估计要等上比较长的时间了。
134 - The good news is that if you are using log caching, you only have to suffer this delay once. After that, log data is held locally. Log caching is enabled in TortoiseSVN's settings. 7551 好消息是如果你使用日志缓存,你只需要忍受一次耽搁。然后日志保存到本地。日志缓存可以在对话框一启用。
135 - Items which have been added, or created by copying another file/folder are shown using a rounded rectangle. The default colour is green. Tags and trunks are treated as a special case and use a different shade, depending on the TortoiseSVNSettings 7564 已增加或通过复制生成的文件/文件夹以圆圈的方式标记。
136 - Deleted items 7569 删除的节点
137 - Deleted items eg. a branch which is no longer required, are shown using an octagon (rectangle with corners cut off). The default colour is red. 7574 已删除文件,比如说一个不在需要的分支,将显示octagon(rectangle with corners cut off)。
138 - Renamed items 7579 改名文件
139 - Working copy revision 7596 当前工作副本的版本
140 - Modified working copy 7605 工作副本
141 - Normal item 7614 一般的文件/文件夹
142 - Note that by default the graph only shows the points at which items were added, copied or deleted. Showing every revision of a project will generate a very large graph for non-trivial cases. If you really want to see all revisions where changes were made, there is an option to do this in the View menu and on the toolbar. 7627 版本分支图将显示以下内容: 默认的分支信息只会显示那些有增加或删除文件的节点。要显示一个项目的所有版本将会产生一个庞大的毫无价值的版本图。如果你呀看到所有的版本,在视图工具栏里可以找到实现该功能的选项。
143 - Align trees on top 7660 最老的在顶部
144 - If the layout of the graph has produced a lot of crossing lines, use this option to clean it up. This may make the layout columns appear in less logical places, for example in a diagonal line rather than a column, and the graph may require a larger area to draw. 7673 如果图形布局产生许多交叉行,可使用这个选项来清理。它可以让布局列在更少的逻辑位置显示,例如使用斜线而不是列,可能需要少许时间来优化显示。
145 - Show all revisions 7686 显示最新版本
146 - Show WC revision 7735 显示最新版本
147 - Show WC modifications 7744 修改
148 - Sometimes the revision graph contains more revisions than you want to see. This option opens a dialog which allows you to restrict the range of revisions displayed, and to hide particular paths by name. 7757 有时候版本图包含的信息比你想看到的多。视图过滤器打开对话框,允许你限制显示的版本范围,隐藏指定的路径名称模式。
149 - If you select two revisions (Use Ctrl-left click), you can use the context menu to show the differences between these revisions. You can choose to show differences as at the branch creation points, but usually you will want to show the differences at the branch end points, i.e. at the HEAD revision. 7794 选择两个版本(用ctrl+左击),你可以在右键菜单下查看这两个版本的差异。你可以在分支的起始点查看差异,但一般你会在一个分支的结束点来查看,比如,在最新版本。
150 - Learn to Read the Revision Graph 7811 一个版本分支
151 - unversioned 'working copy' 7868 从工作副本删除版本信息
152 - Exporting single files 7901 导出一个Subversion工作副本
153 - Exporting a Change Tree 7914 导出一个Subversion工作副本
154 - If your repository has for some reason changed it's location (IP/URL). Maybe you're even stuck and can't commit and you don't want to checkout your working copy again from the new location and to move all your changed data back into the new working copy, TortoiseSVNRelocate is the command you are looking for. It basically does very little: it scans all entries files in the .svn folder and changes the URL of the entries to the new value. 7968 如果你的版本库因为某些原因而重定位了(IP/URL).也许你不能进行操作,不能提交,不能从新的定位检出副本,也不能将修改的数据提交到新位置的版本库中,TortoiseSVN重新定位也许正是你需要的。它的做法很简单: 查找所有 .svn 文件的接口然后把URL值改为新的版本库地址。
155 - Adding Issue Numbers to Log Messages 8050 默认的日志信息数
156 - You can integrate a bug tracking tool of your choice in TortoiseSVN. To do this, you have to define some properties, which start with bugtraq:. They must be set on Folders: () 8055 你可以在TortoiseSVN中集成bug跟踪工具。为了使用这个特性,你要定义一些以bugtraq:开始的属性,它们只能在文件夹上设置 ()。
157 - Set this property to the URL of your bug tracking tool. It must be properly URI encoded and it has to contain %BUGID%. %BUGID% is replaced with the Issue number you entered. This allows TortoiseSVN to display a link in the log dialog, so when you are looking at the revision log you can jump directly to your bug tracking tool. You do not have to provide this property, but then TortoiseSVN shows only the issue number and not the link to it. e.g the TortoiseSVN project is using http://issues.tortoisesvn.net/?do=details&amp;id=%BUGID% 8060 将这个属性设置为你的bug跟踪工具的地址。它必须编码并且包含%BUGID%%BUGID%用你输入的问题编号替换。它允许TortoiseSVN 在日志对话框中显示链接,于是你可以在察看版本日志时直接进入bug跟踪工具。你可以不提供这个属性,但是这样TortoiseSVN就不能显示链接了,只能显示问题编号。例如TortoiseSVN 使用http://issues.tortoisesvn.net/?do=details&amp;id=%BUGID%
158 - Set this to true, if you want TortoiseSVN to warn you because of an empty issue-number text field. Valid values are true/false. If not defined, false is assumed. 8077 如果你想TortoiseSVN给出空问题编号的警告,就设置为 。有效取值是 真/假如果没有定义,那么假定为
159 - There are two ways to integrate TortoiseSVN with issue trackers. One is based on simple strings, the other is based on regular expressions. The properties used by both approaches are: 8082 有两个方法集成TortoiseSVN 和问题跟踪。一个基于简单字符串,另一个基于正则表达式。它们的用法是:
160 - This property activates the bug tracking system in Input field mode. If this property is set, then TortoiseSVN will prompt you to enter an issue number when you commit your changes. It's used to add a line at the end of the log message. It must contain %BUGID%, which is replaced with the issue number on commit. This ensures that your commit log contains a reference to the issue number which is always in a consistent format and can be parsed by your bug tracking tool to associate the issue number with a particular commit. As an example you might use Issue : %BUGID%, but this depends on your Tool. 8091 这个属性将问题追踪系统激活为输入框模式。 如果设置了这个属性,在拟提交时,TortoiseSVN会提示你输入问题单号码。它通常会在日志信息后面添加一行。必须包含%BUGID%,在提交时会被替换为问题单号。这确保了你的提交日志包含了问题单号,保证了单号可以被问题追踪工具解析,从而与提交关联。例如TortoiseSVN项目使用Issue : %BUGID%,但是这依赖于你的工具。
161 - This text is shown by TortoiseSVN on the commit dialog to label the edit box where you enter the issue number. If it's not set, Bug-ID / Issue-Nr: will be displayed. Keep in mind though that the window will not be resized to fit this label, so keep the size of the label below 20-25 characters. 8100 是TortoiseSVN的提交对话框中用来输入问题单号码的输入项,如果没有设置,将会显示Bug-ID / Issue-Nr:,要记住窗口不会为适应标签而改变大小,所以请保持标签的小于20-25个字符。
162 - If set to true only numbers are allowed in the issue-number text field. An exception is the comma, so you can comma separate several numbers. Valid values are true/false. If not defined, true is assumed. 8105 如果设置为true,问题单号文本框只能输入数字,一个例外是逗号,所以你可以使用逗号分割输入的多个号码。合法的值包括true/false 如果没有设置,默认是true
163 - This property activates the bug tracking system in Regex mode. It contains either a single regular expressions, or two regular expressions separated by a newline. 8118 这个属性会以正则表达式模式激活问题追踪系统。它会包含一个或两个正则表达式,以新行作为分割。
164 - If you want to catch bug IDs as used in the expression above inside a log message, you could use the following regex strings, which are the ones used by the TortoiseSVN project: [Ii]ssues?:?(\\s*(,|and)?\\s*#\\d+)+ and (\\d+) 8127 如果你希望捕获日志中所有形式为\"issue #XXX\"和\"issue #890, #789\"字符串,你可以使用如下的正则表达式: [Ii]ssue #?(\\d+)(,? ?#(\\d+))*,而第二个表达式为(\\d+)
165 - If only one expression is set, then the bare bug IDs must be matched in the groups of the regex string. Example: [Ii]ssue(?:s)? #?(\\d+) This method is required by a few issue trackers, e.g. trac, but it is harder to construct the regex. We recommend that you only use this method if your issue tracker documentation tells you to. 8140 如果只是设置了一个表达式,然后bug ID必须匹配正则表达式的组,例如[Ii]ssue(?:s)? #?(\\d+)
166 - If you are unfamiliar with regular expressions, take a look at the introduction at http://en.wikipedia.org/wiki/Regular_expression, and the online documentation and tutorial at http://www.regular-expressions.info/. 8145 如果你不熟悉正则表达式,可以看一下http://www.regular-expressions.info/上的在线文档和教程。
167 - In the approach with regular expressions, TortoiseSVN doesn't show a separate input field but marks the part of the log message the user enters which is recognized by the issue tracker. This is done while the user writes the log message. This also means that the bug ID can be anywhere inside a log message! This method is much more flexible, and is the one used by the TortoiseSVN project itself. 8150 在使用正则表达式的方法中,TortoiseSVN不会显示一个单独的输入框,而是标记用户输入的日志信息,认为这些标志可以被问题追踪工具识别。这是在用户编写日志信息的时候完成的,这也意味着bug ID可以出现在日志信息的任何位置!这种方法非常灵活,也是TortoiseSVN项目本身使用的方法。
168 - These properties must be set on folders for the system to work. When you commit a file or folder the properties are read from that folder. If the properties are not found there, TortoiseSVN will search upwards through the folder tree to find them until it comes to an unversioned folder, or the tree root (eg. C:\\) is found. If you can be sure that each user checks out only from e.g trunk/ and not some sub-folder, then it's enough if you set the properties on trunk/. If you can't be sure, you should set the properties recursively on each sub-folder. A property setting deeper in the project hierarchy overrides settings on higher levels (closer to trunk/). 8173 为了系统能够工作,这个属性必须设置到文件夹上。当你提交文件或文件夹,属性会从文件夹上读取。如果没有发现属性,TortoiseSVN会向上级查找,直到发现一个没有版本控制的文件夹或根目录(例如C:\\)才会停止,如果你能够确定每个用户只从trunk/检出,而不是其他目录,你可以直接在trunk/上使用这个属性,而不必每个子目录都设置。如果你不能确定,你必须为每个子目录设置这些属性。一个深级目录的设置会覆盖高级目录(离trunk/更近的)。
169 - This issue tracker integration is not restricted to TortoiseSVN; it can be used with any Subversion client. For more information, read the full Issue Tracker Integration Specification in the TortoiseSVN source repository. ( explains how to access the repository). 8191 问题追踪集成并没有限制在TortoiseSVN,可以用于所有的Subversion客户端,更多信息可以看Issuetracker Integration Specification
170 - ViewVC 8228 ViewCS
171 - WebSVN 8233 WebDAV
172 - You can integrate a repo viewer of your choice in TortoiseSVN. To do this, you have to define some properties which define the linkage. They must be set on Folders: () 8242 你可以通过TortoiseSVN选择集成一种版本库浏览器,为此,你需要定义一些链接的属性,必须设置在文件夹: ()
173 - Set this property to the URL of your repo viewer to view all changes in a specific revision. It must be properly URI encoded and it has to contain %REVISION%. %REVISION% is replaced with the revision number in question. This allows TortoiseSVN to display a context menu entry in the log dialog Context MenuView revision in webviewer 8247 将这个属性设置为版本库浏览器显示所有本版本修改内容的url,它必须是URI编码的,也必须包含%REVISION%。在问题单中%REVISION%将会被替换成版本号。这允许TortoiseSVN在日志对话框的增加这样的条目右键菜单在版浏览器中查看此修订
174 - Set this property to the URL of your repo viewer to view changes to a specific file in a specific revision. It must be properly URI encoded and it has to contain %REVISION% and %PATH%. %PATH% is replaced with the path relative to the repository root. This allows TortoiseSVN to display a context menu entry in the log dialog Context MenuView revision for path in webviewer For example, if you right-click in the log dialog bottom pane on a file entry /trunk/src/file then the %PATH% in the URL will be replaced with /trunk/src/file. 8252 将这个属性设置为版本库浏览器显示所有本版本修改内容的url,它必须是URI编码的,也必须包含%REVISION%。在问题单中%REVISION%将会被替换成版本号。这允许TortoiseSVN在日志对话框的增加这样的条目右键菜单在版浏览器中查看此修订
175 - Check for updates 8301 检查修改
176 - TortoiseSVN will contact its download site periodically to see if there is a newer version of the program available. If there is it will show a notification link in the commit dialog. Use Check now if you want an answer right away. The new version will not be downloaded; you simply receive an information dialog telling you that the new version is available. 8306 如果检查过,TSVN将每周联系它的下载站点一次,来看看程序是否有个可用的新版本。若你想马上得到结果,使用 立即检查 按钮。无论如何,新版本不会被自动下载,而只是你将收到一条提示信息对话框,告诉你有新版本可用。
177 - Global ignore patterns are used to prevent unversioned files from showing up e.g. in the commit dialog. Files matching the patterns are also ignored by an import. Ignore files or directories by typing in the names or extensions. Patterns are separated by spaces e.g. bin obj *.bak *.~?? *.jar *.[Tt]mp. These patterns should not include any path separators. Note also that there is no way to differentiate between files and directories. Read for more information on the pattern-matching syntax. 8343 全局忽略模式被用来防止非版本控制的文件在例如提交时的对话框中被列出来。那些符合模式的文件,在执行导入操作时同样被忽略。通过在模式框中输入文件名或扩展名来忽略文件或文件夹。不同的模式之间以空格分隔,例如 */bin */obj *.bak *.~?? *.jar *.[Tt]mp。请记得这些模式可以用来处理含有 N 级父目录的路径。设置忽略模式并非象刚才显示的那么简单,所以请务必阅读 以获得更多模式匹配语法信息,和如何检查路径。
178 - Set file dates to the last commit time 8360 将文件日期设置为“最后提交时间”
179 - This option tells TortoiseSVN to set the file dates to the last commit time when doing a checkout or an update. Otherwise TortoiseSVN will use the current date. If you are developing software it is generally best to use the current date because build systems normally look at the date stamps to decide which files need compiling. If you use last commit time and revert to an older file revision, your project may not compile as you expect it to. 8365 该选项通知TSVN在做检出或更新操作时,把文件日期设置为最后提交的时间。否则TSVN将使用当前日期。如果你在做软件开发的话,使用当前日期是总体上最好的选择,因为那些软件构建器通常通过查看时间戳来决定需要编译哪些文件。如果你使用了“最后提交时间”并把代码文件还原到了一个旧版本,你的工程可能就不会像你期望的那样被编译了。
180 - Use Edit to edit the Subversion configuration file directly. Some settings cannot be modified directly by TortoiseSVN, and need to be set here instead. For more information about the Subversion config file see the Runtime Configuration Area. The section on Automatic Property Setting is of particular interest, and that is configured here. Note that Subversion can read configuration information from several places, and you need to know which one takes priority. Refer to Configuration and the Windows Registry to find out more. 8374 使用 编辑 按钮来直接编译Subversion配置文件。有些设置不能被TSVN直接修改,就需要在这里完成。可以阅读 运行时配置 来获得有关Subversion 配置 文件的更多信息。在 设置自动属性 中的章节介绍了可以在这里配置的特殊偏好部分。值得注意的是,Subversion可以从许多不同的位置读取配置信息,因此你也就需要了解哪一个将优先起作用。阅读 配置与Windows注册表 来获取更多信息。
181 - Use _svn instead of .svn directories 8379 使用文本编辑器打开 Apache 子目录 conf 中的文件 ssl.conf
182 - Limits the number of log messages that TortoiseSVN fetches when you first select TortoiseSVNShow Log Useful for slow server connections. You can always use Show All or Next 100 to get more messages. 8432 限制你首次选择 TortoiseSVN显示日志 时,TortoiseSVN 从服务器获取的日志信息数。在服务器连接缓慢时很有用。你可以使用 全部获取下100(条) 来获得更多信息。
183 - Auto-close 8461 auto-props
184 - Use URL of WC as the default From: URL 8498 使用工作副本的URL作为默认的来源URL
185 - The commit dialog includes a facility to parse the list of filenames being committed. When you type the first 3 letters of an item in the list, the auto-completion box pops up, and you can press Enter to complete the filename. Check the box to enable this feature. 8547 提交对话框包含了一个功能模块,可以解析被提交的一系列文件名。当你输入一个提交列表中某个文件的前三个字母时,自动完成对话框就会弹出来,使你随后可以点击回车来直接完成这个文件名。选择该选项来使用这个功能特性。
186 - The auto-completion parser can be quite slow if there are a lot of large files to check. This timeout stops the commit dialog being held up for too long. If you are missing important auto-completion information, you can extend the timeout. 8556 如果有大量文件需要程序检查,自动完成解析器可能会非常慢。该超时时间设置可以防止提交对话框被长时间挂起。若你错过了某些重要的自动完成信息,你可以延长该超时时间。
187 - When you type in a log message in the commit dialog, TortoiseSVN stores it for possible re-use later. By default it will keep the last 25 log messages for each repository, but you can customize that number here. If you have many different repositories, you may wish to reduce this to avoid filling your registry. 8573 TSVN可以为每个版本库保存你访问时所输入的最后25条日志信息。你可以自定义该数目。若你有很多不同的版本库,你可能会希望减少该数目以防止向注册表中填入过多信息。
188 - Filter match 8710 过滤器
189 - Revision Graph Settings 8719 版本图节点
190 - The Settings Dialog, Revision Graph Page 8724 设置对话框,常规设置页面
191 - Modify Colors 8741 颜色
192 - Revision Graph Colors 8750 版本分支图
193 - The Settings Dialog, Revision Graph Colors Page 8755 设置对话框,颜色页面
194 - Deleted Node 8764 删除的节点
195 - Added Node 8773 添加的节点
196 - Renamed Node 8782 重命名的节点
197 - Modified Node 8791 已修改/已复制
198 - Unchanged Node 8800 未修改且是当前的
199 - HEAD node 8809 添加的节点
200 - Current HEAD revision in the repository. 8814 版本库中的最新版本
201 - Selected Node Markers 8859 删除的节点
202 - The Settings Dialog, Icon Overlays Page 8880 设置对话框,图标集页面
203 - This page allows you to choose the items for which TortoiseSVN will display icon overlays. 8885 此对话框允许你按照你喜欢的方式来配置TSVN对话框使用的文本颜色。
204 - Caches all status information in a separate process (TSVNCache.exe). That process watches all drives for changes and fetches the status again if files inside a working copy get modified. The process runs with the least possible priority so other programs don't get hogged because of it. That also means that the status information is not real time but it can take a few seconds for the overlays to change. 8894 把所有状态信息缓存在一个独立进程中(TSVNCache.exe)。该进程监视所有驱动器的更改,并在工作副本中的文件被修改时重新获取其状态。该进程以最低优先级运行,所以其他程序不会被它挤兑。这同样意味着状态信息并不是 实时 的,因为它需要几秒钟时间处理图标重载的变化。
205 - Advantage: the overlays show the status recursively, i.e. if a file deep inside a working copy is modified, all folders up to the working copy root will also show the modified overlay. And since the process can send notifications to the shell, the overlays on the left tree view usually change too. 8899 优点: 图标重载递归地显示状态,就是说,如果一个处在工作副本深处的文件被修改了,所有途径的文件夹包括工作副本的根目录都会显示出修改的图标重载。也因为该进程可以向Windows外壳发送通知,资源管理器左面的树形图通常也会更改。
206 - Disadvantage: Status information of files and folders is not shown in Explorer. To see if your working copies are modified, you have to use the Check for modifications dialog. 8936 缺点: 文件、文件夹的状态信息不会显示在浏览器中。要获知你的工作副本是否被修改了,你需要使用“检查修改”对话框。
207 - Since it takes quite a while to fetch the status of a working copy, TortoiseSVN uses a cache to store the status so the explorer doesn't get hogged too much when showing the overlays. You can choose which type of cache TortoiseSVN should use according to your system and working copy size here: 8941 因为它要花费一段时间来获取工作副本的状态,TSVN将使用一个缓存来存储这些状态,从而使浏览器在显示图标重载时,资源占用的不太厉害。你可以根据你的系统和工作副本的大小来在这里选择让TSVN使用哪种类型的缓存:
208 - By default, overlay icons and context menus will appear in all open/save dialogs as well as in Windows Explorer. If you want them to appear only in Windows Explorer, check the Show overlays and context menu only in explorer box. 8946 默认情况下,图标重载将不止显示在Windows资源浏览器下,同样会显示在所有的打开/保存对话框里。如果你想让它们 仅仅 显示在Windows资源浏览器下,勾选 仅在资源管理器中显示图标重载 选项。
209 - You can also choose to mark folders as modified if they contain unversioned items. This could be useful for reminding you that you have created new files which are not yet versioned. This option is only available when you use the default status cache option (see below). 8951 若你选择了默认选项,将同样决定如下选择: 在文件夹包含非版本控制的项目时,把文件夹图标重载标记为已修改。这个有用的设置可以提醒你已经创建了非版本控制的新文件。
210 - The next group allows you to select which classes of storage should show overlays. By default, only hard drives are selected. You can even disable all icon overlays, but where's the fun in that? 8956 此页面允许你选择TSVN为哪些条目显示图标重载。选择网络磁盘可能会非常慢,所以默认情况下不为定位于网络共享中的工作副本显示图标重载。你甚至可以取消所有的图标重载,但那样做还剩下什么好玩儿的呢?
211 - The Exclude Paths are used to tell TortoiseSVN those paths for which it should not show icon overlays and status columns. This is useful if you have some very big working copies containing only libraries which you won't change at all and therefore don't need the overlays, or if you only want TortoiseSVN to look in specific folders. 8969 排除路径 是被用来告诉TSVN 不用 在哪些路径下显示图标重载和状态列。如果你有些很大的工作副本,而这些工作副本仅仅包含你完全不想改变的库文件,从而你也不需要显示图标重载,这时该功能将会很有用。举个例子:
212 - Sometimes you will exclude areas that contain working copies, which saves TSVNCache from scanning and monitoring for changes, but you still want a visual indication that such folders are versioned. The Show excluded folders as 'normal' checkbox allows you to do this. With this option, versioned folders in any excluded area (drive type not checked, or specifically excluded) will show up as normal and up-to-date, with a green check mark. This reminds you that you are looking at a working copy, even though the folder overlays may not be correct. Files do not get an overlay at all. Note that the context menus still work, even though the overlays are not shown. 9023 有时候,你会想排除包含工作副本的区域,因为它会节约 TSVNCache 扫描和监视修改的代价,但是你仍旧想让这些目录显示为受版本控制。检查框“正常”显示排除目录允许你这样做。使用这个选项,被排除的区域中受版本控制的目录使用绿色检查标记,正常显示为最新版本。它提醒你在察看工作副本,目录重载图标可能显示不正确。文件根本不显示重载图标。尽管不显示覆盖图标,上下文菜单仍旧工作。
213 - The Settings Dialog, Icon Handlers Page 9048 设置对话框,图标集页面
214 - If you need to set up per-repository proxy settings, you will need to use the Subversion servers file to configure this. Use Edit to get there directly. Consult the Runtime Configuration Area for details on how to use this file. 9073 如果你需要对每个版本库建立一套代理设置,你必须使用Subversion服务器文件来配置。使用编辑来直接访问该配置文件(servers.txt)。该文件的细节和使用方法可以参考运行时配置
215 - For example, with ExamDiff Pro: \n
C:\\Path-To\\ExamDiff.exe %base %mine --left_display_name:%bname\n
--right_display_name:%yname\n
or with KDiff3: \n
C:\\Path-To\\kdiff3.exe %base %mine --L1 %bname --L2 %yname\n
or with WinMerge: \n
C:\\Path-To\\WinMerge.exe -e -ub -dl %bname -dr %yname %base %mine\n
or with Araxis: \n
C:\\Path-To\\compare.exe /max /wait /title1:%bname /title2:%yname\n
%base %mine\n
or with UltraCompare: \n
C:\\Path-To\\uc.exe %base %mine -title1 %bname -title2 %yname\n
9151 例如,使用 ExamDiff Pro:\n
C:\\Path-To\\ExamDiff.exe %base %mine\n
或者使用 KDiff3:\n
C:\\Path-To\\kdiff3.exe %base %mine --L1 %bname --L2 %yname\n
或者使用 WinMerge:\n
C:\\Path-To\\WinMerge.exe -e -ub -dl %bname -dr %yname %base %mine\n
或者使用 Araxis:\n
C:\\Path-To\\compare.exe /max /wait /title1:%bname /title2:%yname\n
%base %mine\n
216 - If you use the svn:keywords property to expand keywords, and in particular the revision of a file, then there may be a difference between files which is purely due to the current value of the keyword. Also if you use svn:eol-style = native the BASE file will have pure LF line endings whereas your file will have CR-LF line endings. TortoiseSVN will normally hide these differences automatically by first parsing the BASE file to expand keywords and line endings before doing the diff operation. However, this can take a long time with large files. If Convert files when diffing against BASE is unchecked then TortoiseSVN will skip pre-processing the files. 9179 如果你使用了 svn:keywords 属性来扩展关键词,特别是那些 revision 版本关键词,那么在那些纯粹在关键词上取值不同的文件之间对比将有一些不同。同样如果你使用 svn:eol-style = native,那么在工作基础版本文件只有纯粹的 LF (换行)结束符的地方,你的文件将有完整的 CR-LF (回车-换行)结束符。TSVN在做差异对比操作之前,通常会先行对那些扩展关键词和结束符等格式进行解析转换,从而自动隐藏这些差异。无论如何,在遇到大文件时这样做无疑会经过一个很长的处理时间。如果取消对 与基础版本比较时转换文件 的勾选,那么TSVN将忽略这些对文件的预处理。
217 - If you have configured an alternate diff tool, you can access TortoiseMerge and the third party tool from the context menus. Context menuDiff uses the primary diff tool, and Shift+ Context menuDiff uses the secondary diff tool. 9188 在对话框的上下文菜单中你可以显示改变的差异。使用 上下文菜单与基础版本比较检查所作的本地修改。使用上下文菜单使用标准差异格式显示差异检查版本库中别人作的修改。
218 - For example, with Perforce Merge: \n
C:\\Path-To\\P4Merge.exe %base %theirs %mine %merged\n
or with KDiff3: \n
C:\\Path-To\\kdiff3.exe %base %mine %theirs -o %merged\n
--L1 %bname --L2 %yname --L3 %tname\n
or with Araxis: \n
C:\\Path-To\\compare.exe /max /wait /3 /title1:%tname /title2:%bname\n
/title3:%yname %theirs %base %mine %merged /a2\n
or with WinMerge (2.8 or later): \n
C:\\Path-To\\WinMerge.exe %merged\n
9225 例如,使用 Perforce Merge:\n
C:\\Path-To\\P4Merge.exe %base %theirs %mine %merged\n
或者使用 KDiff3:\n
C:\\Path-To\\kdiff3.exe %base %mine %theirs -o %merged\n
--L1 %bname --L2 %yname --L3 %tname\n
或者使用 Araxis:\n
C:\\Path-To\\compare.exe /max /wait /3 /title1:%tname /title2:%bname\n
/title3:%yname %theirs %base %mine %merged /a2\n
219 - In the advanced settings, you can define a different diff and merge program for every file extension. For instance you could associate Photoshop as the Diff Program for .jpg files :-) You can also associate the svn:mime-type property with a diff or merge program. 9258 在高级设置中,你可以为每种文件类型都定义一个不同的差异比较/合并程序。例如,你可以指定Photoshop作为.jpg文件的 比较 程序 :-) 也可以按照 svn:mime-type 属性指定差异/合并程序。
220 - If you want to remove a single item from one of the combo boxes you can do that in-place. Just click on the arrow to drop the combo box down, move the mouse over the item you want to remove and type Shift+Del. 9299 如果你希望从列表中删除单独的条目,可以点击下拉列表,移动鼠标到你要删除的项上,然后按组合键SHIFT+DELETE
221 - If you want to clear authentication data for one particular server only, read for instructions on how to find the cached data. 9336 如果你仅想清除某个特定版本库的认证数据,读一下 有关怎样寻找缓存数据的说明。
222 - Cached Repositories 9445 版本库
223 - The last time the cache content was changed. 9502 服务器的IP地址已更改。
224 - Called before the commit dialog is shown. You might want to use this if the hook modifies a versioned file and affects the list of files that need to be committed and/or commit message. However you should note that because the hook is called at an early stage, the full list of objects selected for commit is not available. 9596 在提交对话框之前调用。当钩子修改受版本控制的文件,影响了提交的文件列表的时候适用。
225 - Called after the user clicks OK in the commit dialog, and before the actual commit begins. This hook has a list of exactly what will be committed. 9606 在提交对话框点击确认之后,实际提交之前调用。
226 - Called before the actual Subversion update or switch begins. 9634 在 Subversion 更新实际开始之前调用
227 - Called after the update, switch or checkout finishes (whether successful or not). 9644 在更新之后调用(无论成功或失败)
228 - Pre-connect 9650 提交之前
229 - Next you must specify the command line to execute, starting with the path to the hook script or executable. This could be a batch file, an executable file or any other file which has a valid windows file association, eg. a perl script. Note that the script must not be specified using a UNC path as Windows shell execute will not allow such scripts to run due to security restrictions. 9667 然后你要指定要执行的命令行,以钩子脚本或可执行文件的路径开始。它可以是批处理文件,可执行文件,或者有效的windows关联的其它文件类型,例如perl文件。
230 - The command line includes several parameters which get filled in by TortoiseSVN. The parameters passed depend upon which hook is called. Each hook has its own parameters which are passed in the following order: 9672 命令行可以包含被TortoiseSVN填写的几个参数。这些参数依赖于调用了什么脚本。
231 - Path to a file containing the log message for the commit. The file contains the text in UTF-8 encoding. After successful execution of the start-commit hook, the log message is read back, giving the hook a chance to modify it. 9713 指向包含提交日志文件的路径。此文件使用 UTF8 编码。
232 - The meaning of each of these parameters is described here: 9730 每个变量的含义如下:
233 - Normally you will want to hide ugly DOS boxes when the script runs, so Hide the script while running is checked by default. 9743 通常脚本运行时,你会想隐藏丑陋的控制台窗口,所以默认选择运行时隐藏脚本。为了调试,你可能想观察控制台窗口的输出。
234 - Sample client hook scripts can be found in the contrib folder in the TortoiseSVN repository. ( explains how to access the repository). 9748 你可以直接在我们的代码库http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/contrib/other/svnindex中拿到这三个文件。如果访问这个链接需要认证,输入用户名称 guest,无需密码。
235 - The Settings Dialog, Issue Tracker Integration Page 9761 设置对话框,常规设置页面
236 - VS.NET 2003 when used with web projects can't handle the .svn folders that Subversion uses to store its internal information. This is not a bug in Subversion. The bug is in VS.NET 2003 and the frontpage extensions it uses. 9834 在使用VS.NET环境做web工程时,遇到.svn文件夹会出问题,但Subversion是要用这些文件夹来储存自己的内部信息的。这可不是Subversion的bug,这bug是VS.NET和它使用的frontpage扩展带来的。
237 - As of Version 1.3.0 of Subversion and TortoiseSVN, you can set the environment variable SVN_ASP_DOT_NET_HACK. If that variable is set, then Subversion will use _svn folders instead of .svn folders. You must restart your shell for that environment variable to take effect. Normally that means rebooting your PC. To make this easier, you can now do this from the general settings page using a simple checkbox - refer to . 9843 在Subversion 1.3.0和TSVN 1.3.0里,你可以设置环境变量 SVN_ASP_DOT_NET_HACK,来通知Subversion用 _svn 文件夹替代 .svn 文件夹。你必须重启你系统的外壳程序来使环境变量生效,一般意味着你要重启PC。在1.4.0里这项替代工作就变得非常简单,你只需从常规设置页面选择一个单选框: 使用“_svn”目录替代“.svn”目录。——参考
238 - For more information, and other ways to avoid this problem in the first place, check out the article about this in our FAQ. 9848 若想获得更多信息,了解避免该问题的其他方法,请读读我们 FAQ 里的文章。
239 - Advanced Settings 9853 差异查看/合并工具的高级设置
240 - You can specify a different location for the Subversion configuration file here. This will affect all TortoiseSVN operations. 9866 通过编辑注册表 HKCU\\Software\\TortoiseSVN\\ConfigDir,你可以为Subversion的配置文件指定一个不同位置。这将影响到TSVN的所有操作。
241 - To add a cache tray icon for the TSVNCache program, set this value to true. This is really only useful for developers as it allows you to terminate the program gracefully. 9875 要为TSVNCache程序添加一个缓存托盘图标,先在 HKCU\\Software\\TortoiseSVN\\CacheTrayIcon 的位置,创建一个 DWORD 值,取值为1。这确实只对开发者才有点用处,因为它允许你来优雅地关闭TSVNCache,而不是在进程列表里kill掉它。(托盘图标可以显示当前已缓存了的文件夹数目 *by Jax)
242 - While working on TortoiseSVN we love to listen to music. And since we spend many hours on the project we need a lot of music. Therefore we have set up some wish-lists with our favourite music CDs and DVDs: http://tortoisesvn.tigris.org/donate.html Please also have a look at the list of people who contributed to the project by sending in patches or translations. 9968 我们很爱在做TSVN开发工作时听听音乐。也因为花了不少时候忙这个项目,我们就需要 非常多 的音乐。因此我们写了一些愿望表,把我们喜欢的音乐CD和DVD列在 http://tortoisesvn.tigris.org/donate.html。同时也请关注一下那些为项目提交补丁和翻译的贡献者们的愿望: )
243 - version number in files 9990 Subversion配置文件
244 - If this switch is given, SubWCRev will exit with if the working copy contains local modifications. This may be used to prevent building with uncommitted changes present. 10049 如果给出这个开关,当工作副本包含本地修改时,SubWCRev 就会以ERRORLEVEL 7退出。它可以用来在有未提交的修改时阻止构建。
245 - If this switch is given, SubWCRev will exit with if the working copy contains mixed revisions. This may be used to prevent building with a partially updated working copy. 10058 如果给出这个开关,当工作副本包含混合版本时,SubWCRev 就会以ERRORLEVEL 8退出。它可以用来在部分更新本地目录时阻止构建。
246 - If this switch is given, SubWCRev will exit with if the destination file already exists. 10067 如果给出这个开关,当目的文件存在时时,SubWCRev 就会以ERRORLEVEL 9退出。
247 - If this switch is given, SubWCRev will examine directories which are included with , but only if they are from the same repository. The default behaviour is to ignore externals. 10080 如果给出这个开关,SubWCRev 就会检查包含svn:externals的目录,但是只限于在同一版本库。默认行为是忽略外部引用。
248 - If this switch is given, SubWCRev will output the revision numbers in HEX. 10085 如果给出这个开关,当目的文件存在时时,SubWCRev 就会以ERRORLEVEL 9退出。
249 - If this switch is given, SubWCRev will output the revision numbers in HEX, with '0X' prepended. 10090 如果给出这个开关,当目的文件存在时时,SubWCRev 就会以ERRORLEVEL 9退出。
250 - Replaced with the current system date/time. This can be used to indicate the build time. Time formatting can be used as described for . 10137 用当前的系统日期/时间替换。它用来指出构建时间。同样为了避免混淆,使用国际化格式。
251 - is replaced with if the entry is versioned, or if not. 10184 当有混合版本时用 替换 ,否则用 替换。
252 - is replaced with if the entry is locked, or if not. 10193 若本地存在修改,就用 替换 ,否则用 替换。
253 - Replaced with the name of the lock owner. 10202 用工作副本中最高的提交版本来替换
254 - Replaced with the comment of the lock. 10207 用工作副本中最高的提交版本来替换
255 - \n
// Test file for SubWCRev: testfile.txt\n
\n
char *Revision = \"3701\";\n
char *Modified = \"Modified\";\n
char *Date = \"2005/06/15 11:15:12\";\n
char *Range = \"3699:3701\";\n
char *Mixed = \"Mixed revision WC\";\n
char *URL = \"http://project.domain.org/svn/trunk/src\";\n
\n
#if 1\n
#error Source is modified\n
#endif\n
\n
// End of file\n
10267 \n
// Test file for SubWCRev: testfile.txt\n
\n
char *Revision = \"3701\";\n
char *Modified = \"Modified\";\n
char *Date = \"2005/06/15 11:15:12\";\n
char *Range = \"3699:3701\";\n
char *Mixed = \"Mixed revision WC\";\n
char *URL = \"http://tortoisesvn.tigris.org/svn/tortoisesvn/...\n
trunk/src/SubWCRev\";\n
\n
#if 1\n
#error Source is modified\n
#endif\n
\n
// End of file\n
256 - \n
// testCOM.js - javascript file\n
// test script for the SubWCRev COM/Automation-object\n
\n
filesystem = new ActiveXObject(\"Scripting.FileSystemObject\");\n
\n
revObject1 = new ActiveXObject(\"SubWCRev.object\");\n
revObject2 = new ActiveXObject(\"SubWCRev.object\");\n
revObject3 = new ActiveXObject(\"SubWCRev.object\");\n
revObject4 = new ActiveXObject(\"SubWCRev.object\");\n
\n
revObject1.GetWCInfo(\n
filesystem.GetAbsolutePathName(\".\"), 1, 1);\n
revObject2.GetWCInfo(\n
filesystem.GetAbsolutePathName(\"..\"), 1, 1);\n
revObject3.GetWCInfo(\n
filesystem.GetAbsolutePathName(\"SubWCRev.cpp\"), 1, 1);\n
revObject4.GetWCInfo(\n
filesystem.GetAbsolutePathName(\"..\\\\..\"), 1, 1);\n
\n
wcInfoString1 = \"Revision = \" + revObject1.Revision +\n
\"\\n
Min Revision = \" + revObject1.MinRev +\n
\"\\n
Max Revision = \" + revObject1.MaxRev +\n
\"\\n
Date = \" + revObject1.Date +\n
\"\\n
URL = \" + revObject1.Url + \"\\n
Author = \" +\n
revObject1.Author + \"\\n
HasMods = \" +\n
revObject1.HasModifications + \"\\n
IsSvnItem = \" +\n
revObject1.IsSvnItem + \"\\n
NeedsLocking = \" +\n
revObject1.IsLocked + \"\\n
LockCreationDate = \" +\n
revObject1.LockCreationDate + \"\\n
LockOwner = \" +\n
revObject1.LockOwner + \"\\n
LockComment = \" +\n
revObject1.LockComment;\n
wcInfoString2 = \"Revision = \" + revObject2.Revision +\n
\"\\n
Min Revision = \" + revObject2.MinRev +\n
\"\\n
Max Revision = \" + revObject2.MaxRev +\n
\"\\n
Date = \" + revObject2.Date +\n
\"\\n
URL = \" + revObject2.Url + \"\\n
Author = \" +\n
revObject2.Author + \"\\n
HasMods = \" +\n
revObject2.HasModifications + \"\\n
IsSvnItem = \" +\n
revObject2.IsSvnItem + \"\\n
NeedsLocking = \" +\n
revObject2.IsLocked + \"\\n
LockCreationDate = \" +\n
revObject2.LockCreationDate + \"\\n
LockOwner = \" +\n
revObject2.LockOwner + \"\\n
LockComment = \" +\n
revObject2.LockComment;\n
wcInfoString3 = \"Revision = \" + revObject3.Revision +\n
\"\\n
Min Revision = \" + revObject3.MinRev +\n
\"\\n
Max Revision = \" + revObject3.MaxRev +\n
\"\\n
Date = \" + revObject3.Date +\n
\"\\n
URL = \" + revObject3.Url + \"\\n
Author = \" +\n
revObject3.Author + \"\\n
HasMods = \" +\n
revObject3.HasModifications + \"\\n
IsSvnItem = \" +\n
revObject3.IsSvnItem + \"\\n
NeedsLocking = \" +\n
revObject3.IsLocked + \"\\n
LockCreationDate = \" +\n
revObject3.LockCreationDate + \"\\n
LockOwner = \" +\n
revObject3.LockOwner + \"\\n
LockComment = \" +\n
revObject3.LockComment;\n
wcInfoString4 = \"Revision = \" + revObject4.Revision +\n
\"\\n
Min Revision = \" + revObject4.MinRev +\n
\"\\n
Max Revision = \" + revObject4.MaxRev +\n
\"\\n
Date = \" + revObject4.Date +\n
\"\\n
URL = \" + revObject4.Url + \"\\n
Author = \" +\n
revObject4.Author + \"\\n
HasMods = \" +\n
revObject4.HasModifications + \"\\n
IsSvnItem = \" +\n
revObject4.IsSvnItem + \"\\n
NeedsLocking = \" +\n
revObject4.IsLocked + \"\\n
LockCreationDate = \" +\n
revObject4.LockCreationDate + \"\\n
LockOwner = \" +\n
revObject4.LockOwner + \"\\n
LockComment = \" +\n
revObject4.LockComment;\n
\n
WScript.Echo(wcInfoString1);\n
WScript.Echo(wcInfoString2);\n
WScript.Echo(wcInfoString3);\n
WScript.Echo(wcInfoString4);\n
\n
10404 \n
// testCOM.js - javascript file\n
// test script for the SubWCRev COM/Automation-object\n
\n
filesystem = new ActiveXObject(\"Scripting.FileSystemObject\");\n
\n
subwcrevObject1 = new ActiveXObject(\"SubWCRev.object\");\n
subwcrevObject2 = new ActiveXObject(\"SubWCRev.object\");\n
subwcrevObject3 = new ActiveXObject(\"SubWCRev.object\");\n
subwcrevObject4 = new ActiveXObject(\"SubWCRev.object\");\n
\n
subwcrevObject1.GetWCInfo(filesystem.GetAbsolutePathName(\".\"), 1, 1);\n
subwcrevObject2.GetWCInfo(filesystem.GetAbsolutePathName(\"..\"), 1, 1);\n
subwcrevObject3.GetWCInfo(filesystem.GetAbsolutePathName(\"SubWCRev.cpp\"), 1, 1);\n
subwcrevObject4.GetWCInfo(filesystem.GetAbsolutePathName(\"..\\\\..\"), 1, 1);\n
\n
wcInfoString1 = \"Revision = \" + subwcrevObject1.Revision + \n
\t\t\t\t\"\\n
Min Revision = \" + subwcrevObject1.MinRev + \n
\t\t\t\t\"\\n
Max Revision = \" + subwcrevObject1.MaxRev + \n
\t\t\t\t\"\\n
Date = \" + subwcrevObject1.Date + \n
\t\t\t\t\"\\n
URL = \" + subwcrevObject1.Url + \"\\n
Author = \" + \n
\t\t\t\tsubwcrevObject1.Author + \"\\n
HasMods = \" + \n
\t\t\t\tsubwcrevObject1.HasModifications + \"\\n
IsSvnItem = \" + \n
\t\t\t\tsubwcrevObject1.IsSvnItem + \"\\n
NeedsLocking = \" + \n
\t\t\t\tsubwcrevObject1.NeedsLocking + \"\\n
IsLocked = \" + \n
\t\t\t\tsubwcrevObject1.IsLocked + \"\\n
LockCreationDate = \" + \n
\t\t\t\tsubwcrevObject1.LockCreationDate + \"\\n
LockOwner = \" + \n
\t\t\t\tsubwcrevObject1.LockOwner + \"\\n
LockComment = \" + \n
\t\t\t\tsubwcrevObject1.LockComment;\n
wcInfoString2 = \"Revision = \" + subwcrevObject2.Revision + \n
\t\t\t\t\"\\n
Min Revision = \" + subwcrevObject2.MinRev + \n
\t\t\t\t\"\\n
Max Revision = \" + subwcrevObject2.MaxRev + \n
\t\t\t\t\"\\n
Date = \" + subwcrevObject2.Date + \n
\t\t\t\t\"\\n
URL = \" + subwcrevObject2.Url + \"\\n
Author = \" + \n
\t\t\t\tsubwcrevObject2.Author + \"\\n
HasMods = \" + \n
\t\t\t\tsubwcrevObject2.HasModifications + \"\\n
IsSvnItem = \" + \n
\t\t\t\tsubwcrevObject2.IsSvnItem + \"\\n
NeedsLocking = \" + \n
\t\t\t\tsubwcrevObject2.NeedsLocking + \"\\n
IsLocked = \" + \n
\t\t\t\tsubwcrevObject2.IsLocked + \"\\n
LockCreationDate = \" + \n
\t\t\t\tsubwcrevObject2.LockCreationDate + \"\\n
LockOwner = \" + \n
\t\t\t\tsubwcrevObject2.LockOwner + \"\\n
LockComment = \" + \n
\t\t\t\tsubwcrevObject2.LockComment;\n
wcInfoString3 = \"Revision = \" + subwcrevObject3.Revision + \n
\t\t\t\t\"\\n
Min Revision = \" + subwcrevObject3.MinRev + \n
\t\t\t\t\"\\n
Max Revision = \" + subwcrevObject3.MaxRev + \n
\t\t\t\t\"\\n
Date = \" + subwcrevObject3.Date + \n
\t\t\t\t\"\\n
URL = \" + subwcrevObject3.Url + \"\\n
Author = \" + \n
\t\t\t\tsubwcrevObject3.Author + \"\\n
HasMods = \" + \n
\t\t\t\tsubwcrevObject3.HasModifications + \"\\n
IsSvnItem = \" + \n
\t\t\t\tsubwcrevObject3.IsSvnItem + \"\\n
NeedsLocking = \" + \n
\t\t\t\tsubwcrevObject3.NeedsLocking + \"\\n
IsLocked = \" + \n
\t\t\t\tsubwcrevObject3.IsLocked + \"\\n
LockCreationDate = \" + \n
\t\t\t\tsubwcrevObject3.LockCreationDate + \"\\n
LockOwner = \" + \n
\t\t\t\tsubwcrevObject3.LockOwner + \"\\n
LockComment = \" + \n
\t\t\t\tsubwcrevObject3.LockComment;\n
wcInfoString4 = \"Revision = \" + subwcrevObject4.Revision + \n
\t\t\t\t\"\\n
Min Revision = \" + subwcrevObject4.MinRev + \n
\t\t\t\t\"\\n
Max Revision = \" + subwcrevObject4.MaxRev + \n
\t\t\t\t\"\\n
Date = \" + subwcrevObject4.Date + \n
\t\t\t\t\"\\n
URL = \" + subwcrevObject4.Url + \"\\n
Author = \" + \n
\t\t\t\tsubwcrevObject4.Author + \"\\n
HasMods = \" + \n
\t\t\t\tsubwcrevObject4.HasModifications + \"\\n
IsSvnItem = \" + \n
\t\t\t\tsubwcrevObject4.IsSvnItem + \"\\n
NeedsLocking = \" + \n
\t\t\t\tsubwcrevObject4.NeedsLocking + \"\\n
IsLocked = \" + \n
\t\t\t\tsubwcrevObject4.IsLocked + \"\\n
LockCreationDate = \" + \n
\t\t\t\tsubwcrevObject4.LockCreationDate + \"\\n
LockOwner = \" + \n
\t\t\t\tsubwcrevObject4.LockOwner + \"\\n
LockComment = \" + \n
\t\t\t\tsubwcrevObject4.LockComment;\n
\n
WScript.Echo(wcInfoString1);\n
WScript.Echo(wcInfoString2);\n
WScript.Echo(wcInfoString3);\n
WScript.Echo(wcInfoString4);\n
\n
257 - The following listing is an example on how to use the SubWCRev COM object from C#: 10670 下述例子显示了如何使用接口。
258 - plugin 10680 链接
259 - Because TortoiseSVN is being developed all the time it is sometimes hard to keep the documentation completely up to date. We maintain an online FAQ which contains a selection of the questions we are asked the most on the TortoiseSVN mailing lists dev@tortoisesvn.tigris.org and users@tortoisesvn.tigris.org. 11060 因为TortoiseSVN一直处于开发状态,所以有时很难保持文档完全是最新的。我们在维护了一份交互式的在线FAQ。那里面包括了TortoiseSVN邮件列表dev@tortoisesvn.tigris.org里最常被问到的问题。
260 - We also maintain a project Issue Tracker which tells you about some of the things we have on our To-Do list, and bugs which have already been fixed. If you think you have found a bug, or want to request a new feature, check here first to see if someone else got there before you. 11065 我们还在维护了一个项目问题跟踪系统。在那里面可以查到哪些功能已经被加到了我们的To Do列表里,哪些错误已经被修正了。如果你认为发现了一个错误,或者需要一个新功能,请先到那里看看是否其他人已经在你之前提出过相同的内容了。
261 - The recommended way is by right-dragging the files to the new location. Simply right-click on the files you want to move/copy without releasing the mouse button. Then drag the files to the new location and release the mouse button. A context menu will appear where you can either choose Context MenuSVN Copy versioned files here. or Context MenuSVN Move versioned files here. 11110 推荐的方法是: 用鼠标右键拖拽这些文件到新的位置。就是用鼠标右键选中想要移动或复制的文件,不要释放鼠标右键。把选中的文件拖拽到新的位置后释放鼠标右键。在出现的右键菜单里可以选择右键菜单SVN 复制版本控制文件到当前位置右键菜单SVN 移动版本控制文件到当前位置
262 - In the repository folder on the server, there's a sub-folder hooks which contains some example hook scripts you can use. The file pre-commit.tmpl contains a sample script which will reject commits if no log message is supplied, or the message is too short. The file also contains comments on how to install/use this script. Just follow the instructions in that file. 11143 在服务器端的版本库目录下有一个hooks子目录,这个子目录下有一些钩子脚本的例子。在 pre-commit.tmpl 这个例子里,示范了当日志是空白或者过于简短的时候如何拒绝提交。这个例子的注释里包括了安装和使用这个脚本的说明,按照那里面的指示做就能够使用了。
263 - Roll back (Undo) revisions in the repository 11180 回滚版本库里的版本
264 - Select TortoiseSVNShow Log to display a list of revisions. You may need to use Show All or Next 100 to show the revision(s) you are interested in. 11209 选择TortoiseSVN显示日志,显示出版本列表。有可能需要使用全部显示或者下100 按钮,把想要恢复的版本显示出来。
265 - Select the revision you wish to revert. If you want to undo a range of revisions, select the first one and hold the Shift key while selecting the last one. Note that for multiple revisions, the range must be unbroken with no gaps. Right click on the selected revision(s), then select Context MenuRevert changes from this revision. 11214 选中想要恢复的版本。如果想要恢复一个版本范围,选中想要恢复的第一个版本,按住shift键,然后选中想要恢复的最后一个版本。注意,当恢复多个版本的时候,这些版本必须在列表中是连续的。用鼠标右键点击选中的版本(段),然后选择右键菜单恢复这些版本的变更
266 - Or if you want to make an earlier revision the new HEAD revision, right click on the selected revision, then select Context MenuRevert to this revision. This will discard all changes after the selected revision. 11219 如果想要把以前的某个版本变成最新版本,右键点击选中的版本(范围),然后选择右键菜单恢复到此版本。就能够撤销被选中版本后面所有的变更。
267 - In the From: field enter the full folder URL of the branch or tag containing the changes you want to revert in your working copy. This should come up as the default URL. 11241 起始: 文本框里输入想要恢复的变更所在的分支或标签的URL。它也将作为默认URL。
268 - In the To Revision field enter the revision number that you want to revert to, namely the one before the first revision to be reverted. 11254 结束版本里输入想要恢复到的版本号。比如,想要恢复的最小版本号的一个版本号。
269 - The only way to remove data from the repository is to use the Subversion command line tool svnadmin. You can find a description of how this works in the Repository Maintenance. 11271 从版本库里删除数据的唯一方法就是使用svnadmin这个Subversion命令行工具。具体如何实现请参考版本库维护
270 - Compare two revisions of a file or folder 11276 比较一个文件的两个版本
271 - compare folders 11285 比较文件
272 - If you want to compare two revisions in an item's history, for example revisions 100 and 200 of the same file, just use TortoiseSVNShow Log to list the revision history for that file. Pick the two revisions you want to compare then use Context MenuCompare Revisions. 11294 如果希望比较某个文件的两个历史版本,比如同一个文件修订版本100和200,可以用TortoiseSVN显示日志列出这个文件的历史版本纪录,选择希望比较的两个版本,然后使用右键菜单比较版本差异
273 - If you want to compare the same item in two different trees, for example the trunk and a branch, you can use the repository browser to open up both trees, select the file in both places, then use Context MenuCompare Revisions. 11299 如果希望比较两个不同目录树下的同一个文件,比如主干和分支,可以使用版本库浏览器打开两个目录树,在两个目录树下选择同一个文件,然后使用 右键菜单比较版本差异
274 - If you want to compare two trees to see what has changed, for example the trunk and a tagged release, you can use TortoiseSVNRevision Graph Select the two nodes to compare, then use Context MenuCompare HEAD Revisions. This will show a list of changed files, and you can then select individual files to view the changes in detail. You can also export a tree structure containing all the changed files, or simply a list of all changed files. Read for more information. Alternatively use Context MenuUnified Diff of HEAD Revisions to see a summary of all differences, with minimal context. 11304 如果希望比较两个目录树下的所有变化,比如主干和某个发布标签,可以使用TortoiseSVN版本分支图。选择两个想要比较的节点,然后使用右键菜单比较最新版本,就会列出一个变更文件列表。在列表上选择单个文件就能够浏览该文件的具体变更内容。另外一个方法是使用右键菜单最新版本的标准差异(Unified diff)显示所有变更的汇总和最少限度的上下文。
275 - vendor projects 11317 项目索引
276 - Set the svn:externals property for a folder in your project. This property consists of one or more lines; each line has the name of a sub-folder which you want to use as the checkout folder for common code, and the repository URL that you want to be checked out there. For full details refer to . 11330 在你的项目的一个目录设置svn:externals属性,这个属性包含一到多行;每一行都有一个用作检出的子目录的名字,和一个你希望检出的版本库URL,细节请参考
277 - Commit the new folder. Now when you update, Subversion will pull a copy of that project from its repository into your working copy. The sub-folders will be created automatically if required. Each time you update your main working copy, you will also receive the latest version of all external projects. 11335 提交新的目录,然后当你更新时,Subversion会将那个项目的一个副本从它的版本库检出到工作目录,如果需要,子目录会自动创建,每当你更新你的工作副本,你会得到所有外部项目的最新版本。
278 - remove versioning 11420 目录版本控制
279 - detach from repository 11425 版本库
280 - If you have a working copy which you want to convert back to a plain folder tree without the .svn directories, you can simply export it to itself. Read to find out how. 11446 有时你可能想要建立一个没有.svn目录的本地的副本,比如建立一个源代码压缩包。要达到这个目的,请参考
281 - Useful Tips For Administrators 11459 管理员
282 - The TortoiseSVN installer comes as an MSI file, which means you should have no problems adding that MSI file to the group policies of your domain controller. 11494 TortoiseSVN安装程序使用msi文件,意味着你必须能够将msi文件添加到你的域控制器的组策略中。
283 - A good walk-through on how to do that can be found in the knowledge base article 314934 from Microsoft: http://support.microsoft.com/?kbid=314934. 11499 你可以从微软的知识库文章314934中看到如何做的方法: http://support.microsoft.com/?kbid=314934
284 - Versions 1.3.0 and later of TortoiseSVN must be installed under Computer Configuration and not under User Configuration. This is because those versions need the new CRT and MFC DLLs, which can only be deployed per computer and not per user. If you really must install TortoiseSVN on a per user basis, then you must first install the MFC and CRT package version 8 from Microsoft on each computer you want to install TortoiseSVN as per user. 11504 TortoiseSVN的1.3和之后的版本,必须安装在电脑配置下,而不是用户配置。这是因为那些版本需要新的CRT和MFC的dll,只能部署在每电脑,而不是每用户。如果你必须以每用户防是安装TortoiseSVN,你必须在每个需要安装TortoiseSVN电脑上为每个用户安装MFC和CRT包。
285 - Versions 1.4.0 and later of TortoiseSVN allow you to redirect that upgrade check to your intranet server. You can set the registry key HKCU\\Software\\TortoiseSVN\\UpdateCheckURL (string value) to an URL pointing to a text file in your intranet. That text file must have the following format: \n
1.4.1.6000\n
A new version of TortoiseSVN is available for you to download!\n
http://192.168.2.1/downloads/TortoiseSVN-1.4.1.6000-svn-1.4.0.msi\n
The first line in that file is the version string. You must make sure that it matches the exact version string of the TortoiseSVN installation package. The second line is a custom text, shown in the upgrade dialog. You can write there whatever you want. Just note that the space in the upgrade dialog is limited. Too long messages will get truncated! The third line is the URL to the new installation package. This URL is opened when the user clicks on the custom message label in the upgrade dialog. You can also just point the user to a web page instead of the MSI file directly. The URL is opened with the default web browser, so if you specify a web page, that page is opened and shown to the user. If you specify the MSI package, the browser will ask the user to save the MSI file locally.
11537 Versions 1.4.0和之后的TortoiseSVN允许你重定向你的升级检查到本地服务器,你可以设置注册表HKCU\\Software\\TortoiseSVN\\UpdateCheckURL(字符串值)指向本地网的文本文件。这个文本文件必须是下面的格式: \n
1.4.1.6000\n
A new version of TortoiseSVN is available for you to download!\n
http://192.168.2.1/downloads/TortoiseSVN-1.4.1.6000-svn-1.4.0.msi\n
文件的第一行是版本串,你必须确定这与TortoiseSVN安装包的信息完全一致。第二行是自定义字符,显示在省级对话框,你可以在里面写任何信息,只是要注意升级对话框中的数据长度是有限制的,过长的信息会被截断。第三行是最新安装包的位置,当用户选择升级时就会打开这个URL。你可以将文件指向网页,而不是msi文件,如果你指向了msi包,浏览器会询问用户在本地保存msi文件。
286 - As of version 1.4.0 and later, the TortoiseSVN installer doesn't provide the user with the option to set the SVN_ASP_DOT_NET_HACK environment variable anymore, since that caused many problems and confusion for users who always install everything no matter whether they know what it is for. 11568 1.4及之后的版本,TortoiseSVN安装包不会支持用户在环境变量中使用SVN_ASP_DOT_NET_HACK,因为这样导致许多问题,也会使一直安装任何事情,而不管是什么的用户感到迷惑。
287 - But that option is only hidden for the user. You still can force the TortoiseSVN installer to set that environment variable by setting the ASPDOTNETHACK property to TRUE. For example, you can start the installer like this: \n
msiexec /i TortoiseSVN-1.4.0.msi ASPDOTNETHACK=TRUE\n
11573 但是这个选项只是对用户隐藏了,你仍然可以通过设置ASPDOTNETHACK属性为TRUE强制TortoiseSVN安装程序设置这个环境变量。例如,你可以这样启动安装脚本: \n
msiexec /i TortoiseSVN-1.4.0.msi ASPDOTNETHACK=TRUE\n
288 - Example: to disable the Relocate the Delete unversioned items and the Settings menu entries, add the values assigned to the entries like this: \n
0x0000000000080000\n
+ 0x0000000080000000\n
+ 0x2000000000000000\n
= 0x2000000080080000\n
The lower DWORD value (0x80080000) must then be stored in HKEY_CURRENT_USER\\Software\\TortoiseSVN\\ContextMenuEntriesMaskLow, the higher DWORD value (0x20000000) in HKEY_CURRENT_USER\\Software\\TortoiseSVN\\ContextMenuEntriesMaskHigh.
11778 例如,为了禁用“重新定位”,“删除未版本控制条目”和“配置”菜单项,如下增加这些条目的分配值:\n
0x0000000000080000\n
+ 0x0000000080000000\n
+ 0x2000000000000000\n
= 0x2000000080080000\n
DWORD 的较小值(0x80080000)必须保存到 HKEY_CURRENT_USER\\Software\\TortoiseSVN\\ContextMenuEntriesMaskLowDWORD 的较大值(0x20000000)必须保存到HKEY_CURRENT_USER\\Software\\TortoiseSVN\\ContextMenuEntriesMaskHigh
289 - The progress dialog which is used for commits, updates and many more commands usually stays open after the command has finished until the user presses the OK button. This can be changed by checking the corresponding option in the settings dialog. But using that setting will close the progress dialog, no matter if you start the command from your batch file or from the TortoiseSVN context menu. 11843 进度对话框用来显示提交,更新等命令,结束后通常需要用户点确认按钮才退出,这个可以通过检查对应的对话框选项中设置。但是使用那个设置会关闭进度窗口,无论你是使用批处理文件还是用TortoiseSVN右键菜单。
290 - To specify a different location of the configuration file, use the parameter . This will override the default path, including any registry setting. 11848 为了指定另外一个的配置文件,可以使用参数,这将会覆盖默认的路径和注册表设置。
291 - To close the progress dialog at the end of a command automatically without using the permanent setting you can pass the parameter. To close the progress dialog for local operations if there were no errors or conflicts, pass the parameter. 11869 如果想在进度对话框执行完毕后自动关闭,而又不必设置永久性的参数,可以传递参数。
292 - /includeexternals 12014 /ignoreexternals
293 - Updates the working copy in to HEAD. If the option 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 . Other options are , and . 12019 将工作副本的更新到HEAD,如果给定参数,就会弹出一个对话框询问用户需要更新到哪个修订版本。为了防止指定修订版本号的对话框,需要选项
294 - /noui 12055 /noquestion
295 - Opens the merge dialog. The specifies the target directory. For merging a revision range, the following options are available: , . For merging two repository trees, the following options are available: , , and . These pre-fill the relevant fields in the merge dialog. 12107 打开合并对话框, 指定了目标目录,可以设置另外三个参数: ,这些值将会预先填入相关的字段。
296 - Opens the merge all dialog. The specifies the target directory. 12112 打开选项对话框。 指定目标目录。
297 - Brings up the branch/tag dialog. The is the working copy to branch/tag from. And the is the target URL. You can also specify the 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 , where points to a file containing the log message. 12117 打开提交对话框, 指定了目标路径或需要提交的文件列表,你也可以使用参数 给提交窗口传递预定义的日志信息,或者你不希望将日志传递给命令行,你也可以使用 指向了保存日志信息的文件。为了预先填入bug的ID(如果你设置了集成bug追踪属性),你可以使用完成这个任务。
298 - /line:xxx 12144 /rev:xxx
299 - Starts the external diff program specified in the TortoiseSVN settings. The specifies the first file. If the option is set, then the diff program is started with those two files. If is omitted, then the diff is done between the file in and its BASE. To explicitly set the revision numbers use and . If is set and is not set, then the diff is done by first blaming the files with the given revisions. The parameter specifies the line to jump to when the diff is shown. 12149 启动 TortoiseSVN 设置的外置比较程序,指定了第一个文件,如果设置了选项,比较程序会用这两个文件启动,如果省略,比较程序会比较和它的 BASE。
300 - Starts the conflict editor specified in the TortoiseSVN settings with the correct files for the conflicted file in . 12162 打开TortoiseSVN设置的冲突工具,在中需要设置冲突文件的正确文件。
301 - /remote 12175 删除
302 - Check repository 12180 版本库
303 - Opens the check-for-modifications dialog. The specifies the working copy directory. If is specified, the dialog contacts the repository immediately on startup, as if the user clicked on the button. 12185 打开检出对话框,指定了目标路径,而制定了检出的URL。
304 - Starts the repository browser dialog, pointing to the URL of the working copy given in or points directly to an URL. An additional option can be used to specify the revision which the repository browser should show. If the is omitted, it defaults to HEAD. If points to an URL, the specifies the path from where to read and use the project properties. 12199 打开版本库浏览对话框,URL为工作副本指向的或直接指出的,另外一个选项是,可以用来指定要显示的修订版本号,如果省略,缺省是HEAD。
305 - Locks a file or all files in a directory given in . The 'lock' dialog is shown so the user can enter a comment for the lock. 12248 锁定一个文件或一个目录内的所有文件。它会显示‘锁定’对话框,所以用户可以为锁定输入注释。
306 - Unlocks a file or all files in a directory given in . 12253 解锁一个文件或一个目录内的所有文件...
307 - Rebuilds the windows icon cache. Only use this in case the windows icons are corrupted. A side effect of this (which can't be avoided) is that the icons on the desktop get rearranged. To suppress the message box, pass . 12258 重建windows的图标缓存,只有windows的图标缓存出了问题才需要这样做,一个副作用就是(不可避免)桌面的图标会重新组织。
308 - Examples (which should be entered on one line): \n
TortoiseProc.exe /command:commit\n
/path:\"c:\\svn_wc\\file1.txt*c:\\svn_wc\\file2.txt\"\n
/logmsg:\"test log message\" /closeonend:0\n
\n
TortoiseProc.exe /command:update /path:\"c:\\svn_wc\\\" /closeonend:0\n
\n
TortoiseProc.exe /command:log /path:\"c:\\svn_wc\\file1.txt\"\n
/startrev:50 /endrev:60 /closeonend:0\n
12267 例子(必须在一行输入): \n
TortoiseProc.exe /command:commit /path:\"c:\\svn_wc\\file1.txt*c:\\svn_wc\\file2.txt\"\n
/logmsg:\"test log message\" /closeonend\n
\n
TortoiseProc.exe /command:update /path:\"c:\\svn_wc\\\" /closeonend\n
\n
TortoiseProc.exe /command:log /path:\"c:\\svn_wc\\file1.txt\"\n
/startrev:50 /endrev:60 /closeonend\n
309 - URL handler 12295 URL 已改变
310 - The following commands are allowed with tsvncmd: URLs: 12320 下述例子显示了如何使用接口。
311 - If you think you have found a bug in TortoiseSVN, we may ask you to try to reproduce it using the CLI, so that we can distinguish TortoiseSVN issues from Subversion issues. This reference tells you which command to try. 12418 如果你发现了TortoiseSVN的bug,我们会希望你能用命令行重现它,这样我们可以区分这是TSVN还是Subversion的问题,这个参考告诉你该找那个命令。
312 - In the descriptions which follow, the URL for a repository location is shown simply as URL, and an example might be http://tortoisesvn.googlecode.com/svn/trunk/. The working copy path is shown simply as PATH, and an example might be C:\\TortoiseSVN\\trunk. 12427 在这个描述里,版本库位置URL使用URL显示,一个例子是http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk,工作副本使用PATH显示,一个例子是C:\\TortoiseSVN\\trunk
313 - \n
svn checkout [-depth ARG] [--ignore-externals] [-r rev] URL PATH\n
12440 \n
svn checkout [-N] [--ignore-externals] [-r rev] URL PATH\n
314 - \n
svn info URL_of_WC\n
svn update [-r rev] [-depth ARG] [--ignore-externals] PATH\n
12490 \n
svn info URL_of_WC\n
svn update [-r rev] [-N] [--ignore-externals] PATH\n
315 - \n
svn commit -m \"LogMessage\" [-depth ARG] [--no-unlock] PATH...\n
12539 \n
svn commit -m \"LogMessage\" [-N] [--no-unlock] PATH...\n
316 - If you use Diff from the main context menu, you are diffing a modified file against its BASE revision. The output from the CLI command above also does this and produces output in unified-diff format. However, this is not what TortoiseSVN is using. TortoiseSVN uses TortoiseMerge (or a diff program of your choosing) to display differences visually between full-text files, so there is no direct CLI equivalent. 12567 如果你在右键菜单使用差异,就会将修改的文件与基础版本比较。控制台的命令输出也是执行这个操作,输出统一差异格式。然而,TortoiseSVN不使用它。TortoiseSVN 使用TortoiseMerge (或者你选择的比较差异程序)可视化的全文显示差异,所以它没有控制台等价操作。
317 - The Test Merge performs the same merge with the --dry-run switch. 12801 Dry run与使用--dry-run选项的merge相同。
318 - If you use TortoiseBlame to view the blame info, the file log is also required to show log messages in a tooltip. If you view blame as a text file, this information is not required. 12890 如果你使用TortoiseBlame来查看追溯信息,文件日志也需要在工具提上上显示日志信息,如果你以文件方式查看追溯,这个信息不是必须的。
319 - Because the svn:ignore property is often a multi-line value, it is shown here as being changed via a text file rather than directly on the command line. 12912 因为svn:ignore通常是多行的,这里是通过文件显示,而不是直接使用命令行操作。
320 - TortoiseSVN creates a patch file in unified diff format by comparing the working copy with its BASE version. 12926 TortoiseSVN通过比较工作副本和它的基础版本产生一个标准区别格式(unified diff format)的补丁文件。
321 - This appendix contains a more detailed discussion of the implementation of some of TortoiseSVN's features. 12939 这个附录包括了 TortoiseSVN 使用中可能碰到的一些困难或疑问的解决方法。
322 - The Added overlay is simply used to represent the added status when an item has been added to version control. 12964 加号告诉你有一个文件或是目录已经被计划加入版本控制。
323 - The Ignored overlay is used to represent an item which is in the ignored state, either due to a global ignore pattern, or the svn:ignore property of the parent folder. This overlay is optional. 12981 加号告诉你有一个文件或是目录已经被计划加入版本控制。
324 - The Unversioned overlay is used to represent an item which is in the unversioned state. This is an item in a versioned folder, but which is not under version control itself. This overlay is optional. 12986 加号告诉你有一个文件或是目录已经被计划加入版本控制。
325 - In fact, you may find that not all of these icons are used on your system. This is because the number of overlays allowed by Windows is limited to 15. Windows uses 4 of those, and the remaining 11 can be used by other applications. If there are not enough overlay slots available, TortoiseSVN tries to be a Good Citizen (TM) and limits its use of overlays to give other apps a chance. 13003 事实上,你会发现并不是所有的图标被使用在你的系统上。这是由于Windows限制图标重载不能超过15个。Windows自己用了4个,剩下11个可被别的应用程序使用。如果你同时使用了TortoiseCVS,就没有足够的空位了,所以TortoiseSVN希望成为一个良好市民(TM),限制自身的使用,为别的应用留下机会。
326 - Normal, Modified and Conflicted are always loaded and visible. 13008 正常, 已修改冲突总是被载入,并可见。
327 - Deleted is loaded if possible, but falls back to Modified if there are not enough slots. 13013 已删除只要有可能的就载入,但如果没有足够的空位,就使用已修改来代替。
328 - Read-Only is loaded if possible, but falls back to Normal if there are not enough slots. 13018 只读只要有可能就载入,但如果没有足够的空位就使用正常来代替。
329 - Locked is only loaded if there are fewer than 13 overlays already loaded. It falls back to Normal if there are not enough slots. 13023 已锁定只在少于13个重载已经载入的情况下才加载,如果不满足这个条件就使用正常来代替。
330 - Added is only loaded if there are fewer than 14 overlays already loaded. It falls back to Modified if there are not enough slots. 13028 已增加只在少于14个重载已经载入的情况下才加载,如果不满足这个条件就使用已修改来代替
331 - A term frequently used in revision control systems to describe what happens when development forks at a particular point and follows 2 separate paths. You can create a branch off the main development line so as to develop a new feature without rendering the main line unstable. Or you can branch a stable release to which you make only bug fixes, while new developments take place on the unstable trunk. In Subversion a branch is implemented as a cheap copy. 13385 有一个版本控制系统经常使用,来描述在某个时间点的两个人追随不同的路径的术语。你可以创建一个分支离开开发的主线来添加一个新特性,而不必影响主线的稳定,或者你可以创建一个分支用来发布bug修正,而新的开发发生在不稳定的主干。在 Subversion,分支是使用廉价的复制实现的。
332 - To quote from the Subversion book: Recursively clean up the working copy, removing locks and resuming unfinished operations. If you ever get a working copy locked error, run this command to remove stale locks and get your working copy into a usable state again. Note that in this context lock refers to local filesystem locking, not repository locking. 13394 来自 Subversion 手册的引用: 递归的清理工作副本,删除锁定和保留的未完成操作。如果你得到工作副本已锁定的错误,运行这个命令删除无用的锁定,并将工作副本恢复到可用状态。
333 - When you delete a versioned item (and commit the change) the item no longer exists in the repository after the committed revision. But of course it still exists in earlier repository revisions, so you can still access it. If necessary, you can copy a deleted item and resurrect it complete with history. 13419 当你删除了一个版本控制的条目(并且提交这个修改),这个条目将不会存在于版本库以后的修订。但它还是存在于版本库的以前的修订版本里,如果必要,你可以复制一个删除的条目回来,并且保持所有的历史。
334 - A proprietary Subversion filesystem backend for repositories. Can be used on network shares. Default for 1.2 and newer repositories. 13436 FS文件系统,版本库可以使用的一种 Subversion 专用的后台文件系统格式,能够在通过网络共享的文件系统上使用,FSFS 是Subversion 1.2 版本以后的缺省版本库格式。
335 - When you take out a lock on a versioned item, you mark it in the repository as non-committable, except from the working copy where the lock was taken out. 13457 当一个版本控制条目的被你锁定,就是将它在版本库里标示为不可提交,只有作出锁定的工作副本可以提交。
Note: Line numbers are as in committed file, it may differ when you update to use newer .pot, also edited multi line messages may shift line position.

Total:335

Escaped chars test

This test check if all escaped chars are known and its using match with English. Even you get red here it may be legal for your language.
This test is in developing now. Ignored are: \r \n (wee new line style test) and \".

Index Line English Line Native
1 A file conflict occurs when two or more developers have changed the same few lines of a file. As Subversion knows nothing of your project, it leaves resolving the conflicts to the developers. Whenever a conflict is reported, you should open the file in question, and search for lines starting with the string <literal>&lt;&lt;&lt;&lt;&lt;&lt;&lt;</literal>. The conflicting area is marked like this: <screen>\n
&lt;&lt;&lt;&lt;&lt;&lt;&lt; filename\n
your changes\n
=======\n
code merged from repository\n
&gt;&gt;&gt;&gt;&gt;&gt;&gt; revision\n
</screen> Also, for every conflicted file Subversion places three additional files in your directory: <placeholder-1/>
3008 当两名或更多开发人员修改了同一个文件中相邻或相同的行时就会发生文件冲突。由于 Subversion 不知道你的项目的具体情况,它把解决冲突的工作留给了开发人员。一旦出现冲突,你就应该打开有问题的文件,查找以字符串<literal>&lt;&lt;&lt;&lt;&lt;&lt;&lt;</literal>开头的行。有冲突的区域用如下的方式标记: <screen>\n
\t&lt;&lt;&lt;&lt;&lt;&lt;&lt; 文件名\n
\t\t你的修改\n
\t=======\n
\t\t合并自版本库中的代码\n
\t&gt;&gt;&gt;&gt;&gt;&gt;&gt; 版本\n
</screen>对于每个冲突的文件 Subversion 在你的目录下放置了三个文件: <placeholder-1/>
2 8784 You can specify a different location for the Subversion configuration file here. This will affect all TortoiseSVN operations. 8784 通过编辑注册表 <literal>HKCU\\Software\\TortoiseSVN\\ConfigDir</literal>,你可以为Subversion的配置文件指定一个不同位置。这将影响到TSVN的所有操作。
3 To add a cache tray icon for the TSVNCache program, set this value to <literal>true</literal>. This is really only useful for developers as it allows you to terminate the program gracefully. 8792 要为TSVNCache程序添加一个缓存托盘图标,先在 <literal>HKCU\\Software\\TortoiseSVN\\CacheTrayIcon</literal> 的位置,创建一个 <literal>DWORD</literal> 值,取值为1。这确实只对开发者才有点用处,因为它允许你来优雅地关闭TSVNCache,而不是在进程列表里kill掉它。(托盘图标可以显示当前已缓存了的文件夹数目 *by Jax)
4 \n
// testCOM.js - javascript file\n
// test script for the SubWCRev COM/Automation-object\n
\n
filesystem = new ActiveXObject(\"Scripting.FileSystemObject\");\n
\n
revObject1 = new ActiveXObject(\"SubWCRev.object\");\n
revObject2 = new ActiveXObject(\"SubWCRev.object\");\n
revObject3 = new ActiveXObject(\"SubWCRev.object\");\n
revObject4 = new ActiveXObject(\"SubWCRev.object\");\n
\n
revObject1.GetWCInfo(\n
filesystem.GetAbsolutePathName(\".\"), 1, 1);\n
revObject2.GetWCInfo(\n
filesystem.GetAbsolutePathName(\"..\"), 1, 1);\n
revObject3.GetWCInfo(\n
filesystem.GetAbsolutePathName(\"SubWCRev.cpp\"), 1, 1);\n
revObject4.GetWCInfo(\n
filesystem.GetAbsolutePathName(\"..\\\\..\"), 1, 1);\n
\n
wcInfoString1 = \"Revision = \" + revObject1.Revision +\n
\"\\nMin Revision = \" + revObject1.MinRev +\n
\"\\nMax Revision = \" + revObject1.MaxRev +\n
\"\\nDate = \" + revObject1.Date +\n
\"\\nURL = \" + revObject1.Url + \"\\nAuthor = \" +\n
revObject1.Author + \"\\nHasMods = \" +\n
revObject1.HasModifications + \"\\nIsSvnItem = \" +\n
revObject1.IsSvnItem + \"\\nNeedsLocking = \" +\n
revObject1.IsLocked + \"\\nLockCreationDate = \" +\n
revObject1.LockCreationDate + \"\\nLockOwner = \" +\n
revObject1.LockOwner + \"\\nLockComment = \" +\n
revObject1.LockComment;\n
wcInfoString2 = \"Revision = \" + revObject2.Revision +\n
\"\\nMin Revision = \" + revObject2.MinRev +\n
\"\\nMax Revision = \" + revObject2.MaxRev +\n
\"\\nDate = \" + revObject2.Date +\n
\"\\nURL = \" + revObject2.Url + \"\\nAuthor = \" +\n
revObject2.Author + \"\\nHasMods = \" +\n
revObject2.HasModifications + \"\\nIsSvnItem = \" +\n
revObject2.IsSvnItem + \"\\nNeedsLocking = \" +\n
revObject2.IsLocked + \"\\nLockCreationDate = \" +\n
revObject2.LockCreationDate + \"\\nLockOwner = \" +\n
revObject2.LockOwner + \"\\nLockComment = \" +\n
revObject2.LockComment;\n
wcInfoString3 = \"Revision = \" + revObject3.Revision +\n
\"\\nMin Revision = \" + revObject3.MinRev +\n
\"\\nMax Revision = \" + revObject3.MaxRev +\n
\"\\nDate = \" + revObject3.Date +\n
\"\\nURL = \" + revObject3.Url + \"\\nAuthor = \" +\n
revObject3.Author + \"\\nHasMods = \" +\n
revObject3.HasModifications + \"\\nIsSvnItem = \" +\n
revObject3.IsSvnItem + \"\\nNeedsLocking = \" +\n
revObject3.IsLocked + \"\\nLockCreationDate = \" +\n
revObject3.LockCreationDate + \"\\nLockOwner = \" +\n
revObject3.LockOwner + \"\\nLockComment = \" +\n
revObject3.LockComment;\n
wcInfoString4 = \"Revision = \" + revObject4.Revision +\n
\"\\nMin Revision = \" + revObject4.MinRev +\n
\"\\nMax Revision = \" + revObject4.MaxRev +\n
\"\\nDate = \" + revObject4.Date +\n
\"\\nURL = \" + revObject4.Url + \"\\nAuthor = \" +\n
revObject4.Author + \"\\nHasMods = \" +\n
revObject4.HasModifications + \"\\nIsSvnItem = \" +\n
revObject4.IsSvnItem + \"\\nNeedsLocking = \" +\n
revObject4.IsLocked + \"\\nLockCreationDate = \" +\n
revObject4.LockCreationDate + \"\\nLockOwner = \" +\n
revObject4.LockOwner + \"\\nLockComment = \" +\n
revObject4.LockComment;\n
\n
WScript.Echo(wcInfoString1);\n
WScript.Echo(wcInfoString2);\n
WScript.Echo(wcInfoString3);\n
WScript.Echo(wcInfoString4);\n
\n
9240 \n
// testCOM.js - javascript file\n
// test script for the SubWCRev COM/Automation-object\n
\n
filesystem = new ActiveXObject(\"Scripting.FileSystemObject\");\n
\n
subwcrevObject1 = new ActiveXObject(\"SubWCRev.object\");\n
subwcrevObject2 = new ActiveXObject(\"SubWCRev.object\");\n
subwcrevObject3 = new ActiveXObject(\"SubWCRev.object\");\n
subwcrevObject4 = new ActiveXObject(\"SubWCRev.object\");\n
\n
subwcrevObject1.GetWCInfo(filesystem.GetAbsolutePathName(\".\"), 1, 1);\n
subwcrevObject2.GetWCInfo(filesystem.GetAbsolutePathName(\"..\"), 1, 1);\n
subwcrevObject3.GetWCInfo(filesystem.GetAbsolutePathName(\"SubWCRev.cpp\"), 1, 1);\n
subwcrevObject4.GetWCInfo(filesystem.GetAbsolutePathName(\"..\\\\..\"), 1, 1);\n
\n
wcInfoString1 = \"Revision = \" + subwcrevObject1.Revision + \n
\t\t\t\t\"\\nMin Revision = \" + subwcrevObject1.MinRev + \n
\t\t\t\t\"\\nMax Revision = \" + subwcrevObject1.MaxRev + \n
\t\t\t\t\"\\nDate = \" + subwcrevObject1.Date + \n
\t\t\t\t\"\\nURL = \" + subwcrevObject1.Url + \"\\nAuthor = \" + \n
\t\t\t\tsubwcrevObject1.Author + \"\\nHasMods = \" + \n
\t\t\t\tsubwcrevObject1.HasModifications + \"\\nIsSvnItem = \" + \n
\t\t\t\tsubwcrevObject1.IsSvnItem + \"\\nNeedsLocking = \" + \n
\t\t\t\tsubwcrevObject1.NeedsLocking + \"\\nIsLocked = \" + \n
\t\t\t\tsubwcrevObject1.IsLocked + \"\\nLockCreationDate = \" + \n
\t\t\t\tsubwcrevObject1.LockCreationDate + \"\\nLockOwner = \" + \n
\t\t\t\tsubwcrevObject1.LockOwner + \"\\nLockComment = \" + \n
\t\t\t\tsubwcrevObject1.LockComment;\n
wcInfoString2 = \"Revision = \" + subwcrevObject2.Revision + \n
\t\t\t\t\"\\nMin Revision = \" + subwcrevObject2.MinRev + \n
\t\t\t\t\"\\nMax Revision = \" + subwcrevObject2.MaxRev + \n
\t\t\t\t\"\\nDate = \" + subwcrevObject2.Date + \n
\t\t\t\t\"\\nURL = \" + subwcrevObject2.Url + \"\\nAuthor = \" + \n
\t\t\t\tsubwcrevObject2.Author + \"\\nHasMods = \" + \n
\t\t\t\tsubwcrevObject2.HasModifications + \"\\nIsSvnItem = \" + \n
\t\t\t\tsubwcrevObject2.IsSvnItem + \"\\nNeedsLocking = \" + \n
\t\t\t\tsubwcrevObject2.NeedsLocking + \"\\nIsLocked = \" + \n
\t\t\t\tsubwcrevObject2.IsLocked + \"\\nLockCreationDate = \" + \n
\t\t\t\tsubwcrevObject2.LockCreationDate + \"\\nLockOwner = \" + \n
\t\t\t\tsubwcrevObject2.LockOwner + \"\\nLockComment = \" + \n
\t\t\t\tsubwcrevObject2.LockComment;\n
wcInfoString3 = \"Revision = \" + subwcrevObject3.Revision + \n
\t\t\t\t\"\\nMin Revision = \" + subwcrevObject3.MinRev + \n
\t\t\t\t\"\\nMax Revision = \" + subwcrevObject3.MaxRev + \n
\t\t\t\t\"\\nDate = \" + subwcrevObject3.Date + \n
\t\t\t\t\"\\nURL = \" + subwcrevObject3.Url + \"\\nAuthor = \" + \n
\t\t\t\tsubwcrevObject3.Author + \"\\nHasMods = \" + \n
\t\t\t\tsubwcrevObject3.HasModifications + \"\\nIsSvnItem = \" + \n
\t\t\t\tsubwcrevObject3.IsSvnItem + \"\\nNeedsLocking = \" + \n
\t\t\t\tsubwcrevObject3.NeedsLocking + \"\\nIsLocked = \" + \n
\t\t\t\tsubwcrevObject3.IsLocked + \"\\nLockCreationDate = \" + \n
\t\t\t\tsubwcrevObject3.LockCreationDate + \"\\nLockOwner = \" + \n
\t\t\t\tsubwcrevObject3.LockOwner + \"\\nLockComment = \" + \n
\t\t\t\tsubwcrevObject3.LockComment;\n
wcInfoString4 = \"Revision = \" + subwcrevObject4.Revision + \n
\t\t\t\t\"\\nMin Revision = \" + subwcrevObject4.MinRev + \n
\t\t\t\t\"\\nMax Revision = \" + subwcrevObject4.MaxRev + \n
\t\t\t\t\"\\nDate = \" + subwcrevObject4.Date + \n
\t\t\t\t\"\\nURL = \" + subwcrevObject4.Url + \"\\nAuthor = \" + \n
\t\t\t\tsubwcrevObject4.Author + \"\\nHasMods = \" + \n
\t\t\t\tsubwcrevObject4.HasModifications + \"\\nIsSvnItem = \" + \n
\t\t\t\tsubwcrevObject4.IsSvnItem + \"\\nNeedsLocking = \" + \n
\t\t\t\tsubwcrevObject4.NeedsLocking + \"\\nIsLocked = \" + \n
\t\t\t\tsubwcrevObject4.IsLocked + \"\\nLockCreationDate = \" + \n
\t\t\t\tsubwcrevObject4.LockCreationDate + \"\\nLockOwner = \" + \n
\t\t\t\tsubwcrevObject4.LockOwner + \"\\nLockComment = \" + \n
\t\t\t\tsubwcrevObject4.LockComment;\n
\n
WScript.Echo(wcInfoString1);\n
WScript.Echo(wcInfoString2);\n
WScript.Echo(wcInfoString3);\n
WScript.Echo(wcInfoString4);\n
\n
Note: Line numbers are as in committed file, it may differ when you update to use newer .pot, also edited multi line messages may shift line position.

Total:4

PASS

RC Checks

Next few sections informs about duplicate accelerators in translation. There is no reason to be stressed about this, but some translators like to know it. In a fact even English translation contains duplicate.

Proc RC Check (zh_CN)

RC checking is currently off for this language. If you like enable it for your translation drop me an email.


Icons by: DryIcons