by
Changes to 39 files · Browse files at 6f8ea4eab7f0 Showing diff from parent aff0628998c0 868ccf195869 Diff from another changeset...
@@ -51,7 +51,7 @@ # The short X.Y version.
version = '2.0'
# The full version, including alpha/beta/rc tags.
-release = '2.0.0'
+release = '2.0.3'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
|
|
@@ -7,15 +7,15 @@ msgstr ""
"Project-Id-Version: tortoisehg\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2011-03-09 17:23-0300\n"
+"POT-Creation-Date: 2011-03-31 11:23-0300\n"
"PO-Revision-Date: 2011-02-28 22:10+0000\n"
"Last-Translator: Wagner Bruna <Unknown>\n"
"Language-Team: Simplified Chinese <zh_CN@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-03-10 19:20+0000\n"
-"X-Generator: Launchpad (build 12559)\n"
+"X-Launchpad-Export-Date: 2011-04-01 14:41+0000\n"
+"X-Generator: Launchpad (build 12710)\n"
#: TortoiseHgOverlayServer.py:50
msgid "TortoiseHg Overlay Icon Server"
@@ -25,7 +25,7 @@msgid "Exit"
msgstr "退出"
-#: tortoisehg/hgqt/about.py:34 tortoisehg/hgqt/workbench.py:287
+#: tortoisehg/hgqt/about.py:34 tortoisehg/hgqt/workbench.py:296
#: tortoisehg/hgtk/gdialog.py:505
msgid "About"
msgstr "关于"
@@ -46,9 +46,9 @@msgid "&License"
msgstr "许可证(&L)"
-#: tortoisehg/hgqt/about.py:89 tortoisehg/hgqt/archive.py:106
+#: tortoisehg/hgqt/about.py:89 tortoisehg/hgqt/archive.py:108
#: tortoisehg/hgqt/hgemail_ui.py:273 tortoisehg/hgqt/hginit.py:58
-#: tortoisehg/hgqt/license.py:45 tortoisehg/hgqt/postreview_ui.py:178
+#: tortoisehg/hgqt/license.py:45 tortoisehg/hgqt/postreview_ui.py:179
#: tortoisehg/hgqt/rename.py:99
msgid "&Close"
msgstr "关闭(&C)"
@@ -110,12 +110,22 @@msgid "%s is not found in revision %d"
msgstr "%s 在修订版 %d 中未找到"
-#: tortoisehg/hgqt/annotate.py:178 tortoisehg/hgqt/fileview.py:523
+#: tortoisehg/hgqt/annotate.py:181 tortoisehg/hgqt/annotate.py:187
+#: tortoisehg/hgqt/fileview.py:534 tortoisehg/hgqt/fileview.py:693
+msgid "File or diffs not displayed: "
+msgstr ""
+
+#: tortoisehg/hgqt/annotate.py:188 tortoisehg/hgqt/fileview.py:548
+#: tortoisehg/hgqt/fileview.py:694 tortoisehg/hgtk/chunks.py:73
+msgid "File is larger than the specified max size.\n"
+msgstr "文件大小超过了指定的最大值.\n"
+
+#: tortoisehg/hgqt/annotate.py:194 tortoisehg/hgqt/fileview.py:553
#: tortoisehg/hgtk/chunks.py:85
msgid "File is binary.\n"
msgstr "文件是二进制的.\n"
-#: tortoisehg/hgqt/annotate.py:364
+#: tortoisehg/hgqt/annotate.py:385
#, python-format
msgid "Annotate %s@%d"
msgstr ""
@@ -127,7 +137,7 @@#: tortoisehg/hgqt/archive.py:40 tortoisehg/hgqt/bookmark.py:50
#: tortoisehg/hgqt/csinfo.py:105 tortoisehg/hgqt/csinfo.py:106
#: tortoisehg/hgqt/cslist.py:87 tortoisehg/hgqt/merge.py:574
-#: tortoisehg/hgqt/tag.py:49 tortoisehg/hgtk/bookmark.py:83
+#: tortoisehg/hgqt/tag.py:49 tortoisehg/hgtk/bookmark.py:75
#: tortoisehg/hgtk/csinfo.py:211 tortoisehg/hgtk/csinfo.py:212
#: tortoisehg/hgtk/cslist.py:142 tortoisehg/hgtk/tagadd.py:66
msgid "Revision:"
@@ -137,12 +147,16 @@msgid "Only files modified/created in this revision"
msgstr "仅当前版本中被修改/创建的文件"
-#: tortoisehg/hgqt/archive.py:52 tortoisehg/hgqt/hginit.py:34
+#: tortoisehg/hgqt/archive.py:47
+msgid "Recurse into subrepositories"
+msgstr ""
+
+#: tortoisehg/hgqt/archive.py:54 tortoisehg/hgqt/hginit.py:34
#: tortoisehg/hgtk/archive.py:72 tortoisehg/hgtk/clone.py:106
msgid "Destination path:"
msgstr "目标路径:"
-#: tortoisehg/hgqt/archive.py:56 tortoisehg/hgqt/clone.py:56
+#: tortoisehg/hgqt/archive.py:58 tortoisehg/hgqt/clone.py:56
#: tortoisehg/hgqt/clone.py:68 tortoisehg/hgqt/hginit.py:37
#: tortoisehg/hgqt/thgimport.py:53 tortoisehg/hgtk/archive.py:69
#: tortoisehg/hgtk/clone.py:70 tortoisehg/hgtk/hginit.py:55
@@ -150,115 +164,115 @@msgid "Browse..."
msgstr "浏览..."
-#: tortoisehg/hgqt/archive.py:63 tortoisehg/hgtk/archive.py:77
+#: tortoisehg/hgqt/archive.py:65 tortoisehg/hgtk/archive.py:77
msgid "Archive types:"
msgstr "文档类型:"
-#: tortoisehg/hgqt/archive.py:67 tortoisehg/hgqt/archive.py:219
+#: tortoisehg/hgqt/archive.py:69 tortoisehg/hgqt/archive.py:242
#: tortoisehg/hgtk/archive.py:75
msgid "Directory of files"
msgstr "文件所在目录"
-#: tortoisehg/hgqt/archive.py:68 tortoisehg/hgtk/archive.py:83
+#: tortoisehg/hgqt/archive.py:70 tortoisehg/hgtk/archive.py:83
msgid "Uncompressed tar archive"
msgstr "未压缩的 tar 文档"
-#: tortoisehg/hgqt/archive.py:69 tortoisehg/hgtk/archive.py:84
+#: tortoisehg/hgqt/archive.py:71 tortoisehg/hgtk/archive.py:84
msgid "Tar archive compressed using bzip2"
msgstr "使用 bzip2 压缩的 tar 文档"
-#: tortoisehg/hgqt/archive.py:70 tortoisehg/hgtk/archive.py:85
+#: tortoisehg/hgqt/archive.py:72 tortoisehg/hgtk/archive.py:85
msgid "Tar archive compressed using gzip"
msgstr "使用 gzip 压缩的 tar 文档"
-#: tortoisehg/hgqt/archive.py:71 tortoisehg/hgtk/archive.py:86
+#: tortoisehg/hgqt/archive.py:73 tortoisehg/hgtk/archive.py:86
msgid "Uncompressed zip archive"
msgstr "未压缩的 zip 文档"
-#: tortoisehg/hgqt/archive.py:72 tortoisehg/hgtk/archive.py:87
+#: tortoisehg/hgqt/archive.py:74 tortoisehg/hgtk/archive.py:87
msgid "Zip archive compressed using deflate"
msgstr "使用 deflate 压缩的 zip 文档"
-#: tortoisehg/hgqt/archive.py:82 tortoisehg/hgqt/hginit.py:67
+#: tortoisehg/hgqt/archive.py:84 tortoisehg/hgqt/hginit.py:67
#: tortoisehg/hgqt/rename.py:78
msgid "Hg command:"
msgstr "Hg 命令:"
-#: tortoisehg/hgqt/archive.py:86 tortoisehg/hgqt/rename.py:83
+#: tortoisehg/hgqt/archive.py:88 tortoisehg/hgqt/rename.py:83
msgid "Always show output"
msgstr ""
-#: tortoisehg/hgqt/archive.py:104
+#: tortoisehg/hgqt/archive.py:106
msgid "&Archive"
msgstr "存档(&A)"
-#: tortoisehg/hgqt/archive.py:109 tortoisehg/hgqt/rename.py:101
+#: tortoisehg/hgqt/archive.py:111 tortoisehg/hgqt/rename.py:101
msgid "&Detail"
msgstr "详细(&D)"
-#: tortoisehg/hgqt/archive.py:112 tortoisehg/hgqt/commit.py:525
-#: tortoisehg/hgqt/commit.py:533 tortoisehg/hgqt/commit.py:560
-#: tortoisehg/hgqt/commit.py:573 tortoisehg/hgqt/compress.py:150
+#: tortoisehg/hgqt/archive.py:114 tortoisehg/hgqt/commit.py:532
+#: tortoisehg/hgqt/commit.py:540 tortoisehg/hgqt/commit.py:567
+#: tortoisehg/hgqt/commit.py:580 tortoisehg/hgqt/compress.py:150
#: tortoisehg/hgqt/merge.py:64 tortoisehg/hgqt/merge.py:169
#: tortoisehg/hgqt/merge.py:363 tortoisehg/hgqt/merge.py:397
-#: tortoisehg/hgqt/merge.py:461 tortoisehg/hgqt/rebase.py:214
-#: tortoisehg/hgqt/rebase.py:235 tortoisehg/hgqt/rename.py:104
-#: tortoisehg/hgqt/repotreeitem.py:283 tortoisehg/hgqt/resolve.py:317
+#: tortoisehg/hgqt/merge.py:461 tortoisehg/hgqt/rebase.py:221
+#: tortoisehg/hgqt/rebase.py:242 tortoisehg/hgqt/rename.py:104
+#: tortoisehg/hgqt/repotreeitem.py:287 tortoisehg/hgqt/resolve.py:351
#: tortoisehg/hgqt/settings.py:672 tortoisehg/hgqt/settings.py:770
-#: tortoisehg/hgqt/wctxactions.py:232 tortoisehg/hgqt/wctxactions.py:245
-#: tortoisehg/hgqt/wctxactions.py:300 tortoisehg/hgtk/shellconf.py:28
+#: tortoisehg/hgqt/wctxactions.py:234 tortoisehg/hgqt/wctxactions.py:247
+#: tortoisehg/hgqt/wctxactions.py:302 tortoisehg/hgtk/shellconf.py:28
#: tortoisehg/hgtk/thgshelve.py:163
msgid "Cancel"
msgstr "取消"
-#: tortoisehg/hgqt/archive.py:164 tortoisehg/hgtk/archive.py:29
+#: tortoisehg/hgqt/archive.py:168 tortoisehg/hgtk/archive.py:29
#, python-format
msgid "Archive - %s"
msgstr "存档 - %s"
-#: tortoisehg/hgqt/archive.py:188 tortoisehg/hgqt/hginit.py:106
+#: tortoisehg/hgqt/archive.py:193 tortoisehg/hgqt/hginit.py:106
#: tortoisehg/hgqt/rename.py:197 tortoisehg/hgtk/archive.py:195
#: tortoisehg/hgtk/clone.py:107 tortoisehg/hgtk/hginit.py:95
msgid "Select Destination Folder"
msgstr "选择目标文件夹"
-#: tortoisehg/hgqt/archive.py:193
+#: tortoisehg/hgqt/archive.py:198
msgid "Open File"
msgstr "打开文件"
-#: tortoisehg/hgqt/archive.py:206 tortoisehg/hgtk/archive.py:171
+#: tortoisehg/hgqt/archive.py:229 tortoisehg/hgtk/archive.py:171
msgid "Tar archives"
msgstr "tar 文档集"
-#: tortoisehg/hgqt/archive.py:209 tortoisehg/hgtk/archive.py:174
+#: tortoisehg/hgqt/archive.py:232 tortoisehg/hgtk/archive.py:174
msgid "Bzip2 tar archives"
msgstr "bzip2 压缩过的 tar 文档集"
-#: tortoisehg/hgqt/archive.py:212 tortoisehg/hgtk/archive.py:177
+#: tortoisehg/hgqt/archive.py:235 tortoisehg/hgtk/archive.py:177
msgid "Gzip tar archives"
msgstr "gzip 压缩过的 tar 文档集"
-#: tortoisehg/hgqt/archive.py:218 tortoisehg/hgtk/archive.py:183
+#: tortoisehg/hgqt/archive.py:241 tortoisehg/hgtk/archive.py:183
msgid "Compressed zip archives"
msgstr "压缩过的 zip 文档集"
-#: tortoisehg/hgqt/archive.py:295 tortoisehg/hgqt/archive.py:313
+#: tortoisehg/hgqt/archive.py:316 tortoisehg/hgqt/archive.py:334
msgid "Duplicate Name"
msgstr "复制名称"
-#: tortoisehg/hgqt/archive.py:296
+#: tortoisehg/hgqt/archive.py:317
#, python-format
msgid "The destination \"%s\" already exists as a file!"
msgstr "目标文件 \"%s\" 已经存在"
-#: tortoisehg/hgqt/archive.py:300 tortoisehg/hgqt/archive.py:307
+#: tortoisehg/hgqt/archive.py:321 tortoisehg/hgqt/archive.py:328
#: tortoisehg/hgtk/archive.py:213 tortoisehg/hgtk/archive.py:219
#: tortoisehg/hgtk/gtklib.py:594 tortoisehg/hgtk/thgconfig.py:574
#: tortoisehg/hgtk/thgconfig.py:1077
msgid "Confirm Overwrite"
msgstr "确认覆盖"
-#: tortoisehg/hgqt/archive.py:301
+#: tortoisehg/hgqt/archive.py:322
#, python-format
msgid ""
"The directory \"%s\" is not empty!\n"
@@ -269,7 +283,7 @@"\n"
"确认覆盖它?"
-#: tortoisehg/hgqt/archive.py:308 tortoisehg/hgtk/gtklib.py:595
+#: tortoisehg/hgqt/archive.py:329 tortoisehg/hgtk/gtklib.py:595
#, python-format
msgid ""
"The file \"%s\" already exists!\n"
@@ -280,74 +294,75 @@"\n"
"要覆盖它吗?"
-#: tortoisehg/hgqt/archive.py:314
+#: tortoisehg/hgqt/archive.py:335
#, python-format
msgid "The destination \"%s\" already exists as a folder!"
msgstr "目标文件夹 \"%s\" 已经存在!"
-#: tortoisehg/hgqt/backout.py:36
+#: tortoisehg/hgqt/backout.py:35
msgid "Target changeset"
msgstr ""
-#: tortoisehg/hgqt/backout.py:44 tortoisehg/hgtk/backout.py:52
+#: tortoisehg/hgqt/backout.py:43 tortoisehg/hgtk/backout.py:52
msgid "Backout commit message"
msgstr "撤销提交信息"
-#: tortoisehg/hgqt/backout.py:48 tortoisehg/hgtk/backout.py:41
+#: tortoisehg/hgqt/backout.py:47 tortoisehg/hgtk/backout.py:41
msgid "Backed out changeset: "
msgstr "撤销的变更集: "
-#: tortoisehg/hgqt/backout.py:60 tortoisehg/hgqt/clone.py:94
+#: tortoisehg/hgqt/backout.py:59 tortoisehg/hgqt/clone.py:94
#: tortoisehg/hgqt/commit.py:220 tortoisehg/hgqt/merge.py:313
-#: tortoisehg/hgqt/mq.py:53 tortoisehg/hgqt/postreview_ui.py:169
-#: tortoisehg/hgqt/rebase.py:56 tortoisehg/hgqt/sync.py:136
+#: tortoisehg/hgqt/mq.py:53 tortoisehg/hgqt/postreview_ui.py:170
+#: tortoisehg/hgqt/rebase.py:57 tortoisehg/hgqt/sync.py:136
#: tortoisehg/hgqt/tag.py:64 tortoisehg/hgtk/hgemail.py:64
msgid "Options"
msgstr "选项"
-#: tortoisehg/hgqt/backout.py:67 tortoisehg/hgtk/backout.py:82
+#: tortoisehg/hgqt/backout.py:66 tortoisehg/hgtk/backout.py:82
msgid "Use English backout message"
msgstr "使用英文撤销信息"
-#: tortoisehg/hgqt/backout.py:73 tortoisehg/hgtk/backout.py:90
+#: tortoisehg/hgqt/backout.py:72 tortoisehg/hgtk/backout.py:90
msgid "Commit backout before merging with current working parent"
msgstr ""
-#: tortoisehg/hgqt/backout.py:80 tortoisehg/hgqt/merge.py:330
-#: tortoisehg/hgqt/rebase.py:68 tortoisehg/hgqt/sync.py:905
+#: tortoisehg/hgqt/backout.py:79 tortoisehg/hgqt/merge.py:330
+#: tortoisehg/hgqt/rebase.py:69 tortoisehg/hgqt/sync.py:931
#: tortoisehg/hgqt/update.py:97
msgid "Automatically resolve merge conflicts where possible"
msgstr "尽量自动解决合并的冲突"
-#: tortoisehg/hgqt/backout.py:112
+#: tortoisehg/hgqt/backout.py:111
msgid "&Backout"
msgstr ""
-#: tortoisehg/hgqt/backout.py:115 tortoisehg/hgqt/clone.py:158
-#: tortoisehg/hgqt/cmdui.py:737 tortoisehg/hgqt/thgimport.py:117
+#: tortoisehg/hgqt/backout.py:114 tortoisehg/hgqt/clone.py:158
+#: tortoisehg/hgqt/cmdui.py:741 tortoisehg/hgqt/thgimport.py:117
#: tortoisehg/hgqt/thgstrip.py:110 tortoisehg/hgqt/update.py:129
msgid "Detail"
msgstr "详细资料"
-#: tortoisehg/hgqt/backout.py:127
+#: tortoisehg/hgqt/backout.py:126
#, python-format
msgid "Backout '%s' - %s"
msgstr ""
-#: tortoisehg/hgqt/backout.py:146 tortoisehg/hgqt/commit.py:394
+#: tortoisehg/hgqt/backout.py:145 tortoisehg/hgqt/commit.py:399
#: tortoisehg/hgqt/mq.py:455 tortoisehg/hgtk/backout.py:139
#: tortoisehg/hgtk/commit.py:581
msgid "Confirm Discard Message"
msgstr "确认丢弃改动说明"
-#: tortoisehg/hgqt/backout.py:147 tortoisehg/hgtk/backout.py:140
+#: tortoisehg/hgqt/backout.py:146 tortoisehg/hgtk/backout.py:140
msgid "Discard current backout message?"
msgstr "要丢弃当前的反转说明吗?"
-#: tortoisehg/hgqt/backout.py:213 tortoisehg/hgqt/commit.py:179
-#: tortoisehg/hgqt/commit.py:909 tortoisehg/hgqt/compress.py:122
-#: tortoisehg/hgqt/repowidget.py:162 tortoisehg/hgqt/repowidget.py:236
-#: tortoisehg/hgqt/settings.py:367 tortoisehg/hgtk/commit.py:654
+#: tortoisehg/hgqt/backout.py:217 tortoisehg/hgqt/commit.py:179
+#: tortoisehg/hgqt/commit.py:621 tortoisehg/hgqt/commit.py:627
+#: tortoisehg/hgqt/commit.py:926 tortoisehg/hgqt/compress.py:122
+#: tortoisehg/hgqt/repowidget.py:163 tortoisehg/hgqt/repowidget.py:233
+#: tortoisehg/hgqt/settings.py:366 tortoisehg/hgtk/commit.py:654
#: tortoisehg/hgtk/commit.py:951 tortoisehg/hgtk/commit.py:1015
#: tortoisehg/hgtk/commit.py:1264 tortoisehg/hgtk/gdialog.py:485
#: tortoisehg/hgtk/history.py:279 tortoisehg/hgtk/merge.py:136
@@ -355,13 +370,13 @@msgid "Commit"
msgstr "提交"
-#: tortoisehg/hgqt/backout.py:223
+#: tortoisehg/hgqt/backout.py:233
msgid ""
"Backout generated merge <b>conflicts</b> that must be <a "
"href=\"resolve\"><b>resolved</b></a>"
msgstr ""
-#: tortoisehg/hgqt/backout.py:229
+#: tortoisehg/hgqt/backout.py:239
msgid ""
"You may commit the backed out changes after <a "
"href=\"status\"><b>verifying</b></a> them"
@@ -377,7 +392,7 @@msgstr ""
#: tortoisehg/hgqt/bisect.py:38 tortoisehg/hgqt/bisect.py:48
-#: tortoisehg/hgqt/repowidget.py:101 tortoisehg/hgtk/history.py:1880
+#: tortoisehg/hgqt/repowidget.py:102 tortoisehg/hgtk/history.py:1875
msgid "Accept"
msgstr "接受"
@@ -398,7 +413,7 @@msgstr "跳过此修订版"
#: tortoisehg/hgqt/bisect.py:72 tortoisehg/hgqt/compress.py:138
-#: tortoisehg/hgqt/rebase.py:177 tortoisehg/hgtk/bugreport.py:48
+#: tortoisehg/hgqt/rebase.py:184 tortoisehg/hgtk/bugreport.py:48
#: tortoisehg/hgtk/hgcmd.py:50 tortoisehg/hgtk/thgmq.py:142
msgid "Close"
msgstr "关闭"
@@ -420,23 +435,23 @@msgstr ""
#: tortoisehg/hgqt/bisect.py:114 tortoisehg/hgqt/bisect.py:135
-#: tortoisehg/hgqt/commit.py:590 tortoisehg/hgqt/commit.py:837
-#: tortoisehg/hgqt/commit.py:857 tortoisehg/hgqt/hgignore.py:232
-#: tortoisehg/hgqt/hginit.py:180 tortoisehg/hgqt/status.py:382
-#: tortoisehg/hgqt/wctxactions.py:119
+#: tortoisehg/hgqt/commit.py:597 tortoisehg/hgqt/commit.py:854
+#: tortoisehg/hgqt/commit.py:874 tortoisehg/hgqt/hgignore.py:233
+#: tortoisehg/hgqt/hginit.py:180 tortoisehg/hgqt/status.py:401
+#: tortoisehg/hgqt/wctxactions.py:121
#, python-format
msgid "%s (hint: %s)"
msgstr "%s (提示: %s)"
-#: tortoisehg/hgqt/bookmark.py:57 tortoisehg/hgtk/bookmark.py:71
+#: tortoisehg/hgqt/bookmark.py:57 tortoisehg/hgtk/bookmark.py:66
msgid "Bookmark:"
msgstr "书签"
-#: tortoisehg/hgqt/bookmark.py:62 tortoisehg/hgtk/bookmark.py:86
+#: tortoisehg/hgqt/bookmark.py:62 tortoisehg/hgtk/bookmark.py:78
msgid "New Name:"
msgstr "新名称:"
-#: tortoisehg/hgqt/bookmark.py:67 tortoisehg/hgqt/commit.py:560
+#: tortoisehg/hgqt/bookmark.py:67 tortoisehg/hgqt/commit.py:567
#: tortoisehg/hgqt/tag.py:98 tortoisehg/hgqt/wctxactions.py:53
#: tortoisehg/hgqt/wctxactions.py:59
msgid "&Add"
@@ -446,7 +461,7 @@msgid "Re&name"
msgstr ""
-#: tortoisehg/hgqt/bookmark.py:69 tortoisehg/hgqt/commit.py:573
+#: tortoisehg/hgqt/bookmark.py:69 tortoisehg/hgqt/commit.py:580
#: tortoisehg/hgqt/tag.py:99
msgid "&Remove"
msgstr "移除(&R)"
@@ -455,7 +470,7 @@msgid "&Move"
msgstr ""
-#: tortoisehg/hgqt/bookmark.py:92 tortoisehg/hgtk/bookmark.py:37
+#: tortoisehg/hgqt/bookmark.py:92 tortoisehg/hgtk/bookmark.py:34
#, python-format
msgid "Bookmark - %s"
msgstr "书签 - %s"
@@ -481,7 +496,7 @@msgstr ""
#: tortoisehg/hgqt/bookmark.py:192 tortoisehg/hgqt/bookmark.py:210
-#: tortoisehg/hgtk/bookmark.py:364
+#: tortoisehg/hgtk/bookmark.py:287
#, python-format
msgid "Bookmark '%s' does not exist"
msgstr "书签 '%s' 不存在"
@@ -516,89 +531,98 @@msgid "Close current branch"
msgstr "关闭当前分支"
-#: tortoisehg/hgqt/bugreport.py:38
+#: tortoisehg/hgqt/bugreport.py:26
+#, python-format
+msgid "Please report this bug to our <a href=\"%s\">bug tracker</a>"
+msgstr ""
+
+#: tortoisehg/hgqt/bugreport.py:44 tortoisehg/hgqt/qscilib.py:181
+#: tortoisehg/hgqt/rename.py:159
+msgid "Copy"
+msgstr ""
+
+#: tortoisehg/hgqt/bugreport.py:45
msgid "Quit"
msgstr "退出"
-#: tortoisehg/hgqt/bugreport.py:42 tortoisehg/hgtk/bugreport.py:25
+#: tortoisehg/hgqt/bugreport.py:48 tortoisehg/hgtk/bugreport.py:25
msgid "TortoiseHg Bug Report"
msgstr "报告 TortoiseHg 错误"
-#: tortoisehg/hgqt/bugreport.py:49
-msgid ""
-"** Please report this bug to http://bitbucket.org/tortoisehg/thg/issues\n"
-msgstr "** 请报告此错误至 http://bitbucket.org/tortoisehg/thg/issues\n"
-
-#: tortoisehg/hgqt/bugreport.py:85 tortoisehg/hgtk/bugreport.py:87
+#: tortoisehg/hgqt/bugreport.py:94 tortoisehg/hgtk/bugreport.py:87
msgid "Save error report to"
msgstr "保存错误报告至"
-#: tortoisehg/hgqt/bugreport.py:87
+#: tortoisehg/hgqt/bugreport.py:96
msgid "Text files (*.txt)"
msgstr "文本文件 (*.txt)"
-#: tortoisehg/hgqt/bugreport.py:91
+#: tortoisehg/hgqt/bugreport.py:100
msgid "Error writing file"
msgstr "写文件时发生错误"
-#: tortoisehg/hgqt/bugreport.py:114 tortoisehg/hgqt/qqueue.py:345
+#: tortoisehg/hgqt/bugreport.py:123 tortoisehg/hgqt/qqueue.py:345
#: tortoisehg/hgqt/qreorder.py:222
msgid "TortoiseHg Error"
msgstr "TortoiseHg 有误"
-#: tortoisehg/hgqt/bugreport.py:136
+#: tortoisehg/hgqt/bugreport.py:145
msgid ""
"If you still have trouble, <a href=\"#bugreport\">please file a bug "
"report</a>."
msgstr ""
-#: tortoisehg/hgqt/chunks.py:119 tortoisehg/hgqt/mq.py:263
+#: tortoisehg/hgqt/chunks.py:123
+msgid "Patch failed to apply"
+msgstr ""
+
+#: tortoisehg/hgqt/chunks.py:130 tortoisehg/hgqt/mq.py:263
msgid "Manually resolve rejected chunks?"
msgstr "手动解决有问题的部分?"
-#: tortoisehg/hgqt/chunks.py:121
+#: tortoisehg/hgqt/chunks.py:132
msgid "Edit patched file and rejects?"
msgstr ""
-#: tortoisehg/hgqt/chunks.py:156
+#: tortoisehg/hgqt/chunks.py:166
msgid "No deletable chunks"
msgstr "不可删除的部分"
-#: tortoisehg/hgqt/chunks.py:160
+#: tortoisehg/hgqt/chunks.py:170
msgid "No chunks remain"
msgstr "无剩余部分"
-#: tortoisehg/hgqt/chunks.py:161
+#: tortoisehg/hgqt/chunks.py:171
msgid "Remove all file changes?"
msgstr ""
-#: tortoisehg/hgqt/chunks.py:195
+#: tortoisehg/hgqt/chunks.py:205
msgid "file has been deleted, refresh"
msgstr "文件已移除,刷新"
-#: tortoisehg/hgqt/chunks.py:198
+#: tortoisehg/hgqt/chunks.py:208
msgid "file has been modified, refresh"
msgstr "文件已修改,刷新"
-#: tortoisehg/hgqt/chunks.py:232
+#: tortoisehg/hgqt/chunks.py:242
msgid "Unable to merge chunks"
msgstr "无法合并部分"
-#: tortoisehg/hgqt/chunks.py:233
+#: tortoisehg/hgqt/chunks.py:243
msgid "Add or remove patches must be merged in the working directory"
msgstr ""
-#: tortoisehg/hgqt/chunks.py:433 tortoisehg/hgqt/status.py:128
+#: tortoisehg/hgqt/chunks.py:447 tortoisehg/hgqt/status.py:141
msgctxt "files"
msgid "All"
msgstr ""
-#: tortoisehg/hgqt/chunks.py:437 tortoisehg/hgqt/status.py:132
+#: tortoisehg/hgqt/chunks.py:451 tortoisehg/hgqt/status.py:145
msgctxt "files"
msgid "None"
msgstr ""
-#: tortoisehg/hgqt/chunks.py:493
+#: tortoisehg/hgqt/chunks.py:507
#, python-format
msgid "Chunks selected: %d / %d"
msgstr "部分选择: %d / %d"
@@ -638,7 +662,7 @@msgid "Use proxy server"
msgstr "使用代理服务器"
-#: tortoisehg/hgqt/clone.py:134 tortoisehg/hgqt/sync.py:1368
+#: tortoisehg/hgqt/clone.py:134 tortoisehg/hgqt/sync.py:1398
#: tortoisehg/hgtk/clone.py:159 tortoisehg/hgtk/synch.py:202
msgid "Remote command:"
msgstr "远程命令:"
@@ -693,12 +717,12 @@msgid "Select destination repository"
msgstr ""
-#: tortoisehg/hgqt/cmdui.py:227 tortoisehg/hgqt/thread.py:370
+#: tortoisehg/hgqt/cmdui.py:227 tortoisehg/hgqt/thread.py:369
#, python-format
msgid "[command returned code %d %%s]"
msgstr ""
-#: tortoisehg/hgqt/cmdui.py:229 tortoisehg/hgqt/thread.py:372
+#: tortoisehg/hgqt/cmdui.py:229 tortoisehg/hgqt/thread.py:371
#, python-format
msgid "[command completed successfully %s]"
msgstr ""
@@ -707,7 +731,7 @@msgid "failed to start command\n"
msgstr ""
-#: tortoisehg/hgqt/cmdui.py:245 tortoisehg/hgqt/cmdui.py:523
+#: tortoisehg/hgqt/cmdui.py:245 tortoisehg/hgqt/cmdui.py:527
msgid "error while running command\n"
msgstr ""
@@ -723,47 +747,47 @@msgid "Terminated"
msgstr ""
-#: tortoisehg/hgqt/cmdui.py:307 tortoisehg/hgqt/merge.py:737
+#: tortoisehg/hgqt/cmdui.py:307 tortoisehg/hgqt/merge.py:747
#: tortoisehg/hgtk/p4pending.py:101
msgid "Finished"
msgstr "完成"
-#: tortoisehg/hgqt/cmdui.py:518
+#: tortoisehg/hgqt/cmdui.py:522
msgid "failed to run command\n"
msgstr ""
-#: tortoisehg/hgqt/cmdui.py:519
+#: tortoisehg/hgqt/cmdui.py:523
msgid "crashed\n"
msgstr ""
-#: tortoisehg/hgqt/cmdui.py:586
+#: tortoisehg/hgqt/cmdui.py:590
#, python-format
msgid "command parse error: %s"
msgstr ""
-#: tortoisehg/hgqt/cmdui.py:592
+#: tortoisehg/hgqt/cmdui.py:596
#, python-format
msgid "no matches found: %s"
msgstr ""
-#: tortoisehg/hgqt/cmdui.py:746
+#: tortoisehg/hgqt/cmdui.py:750
msgid "TortoiseHg Command Dialog"
msgstr ""
-#: tortoisehg/hgqt/cmdui.py:766 tortoisehg/hgqt/merge.py:65
-#: tortoisehg/hgqt/rebase.py:236 tortoisehg/hgqt/resolve.py:318
+#: tortoisehg/hgqt/cmdui.py:770 tortoisehg/hgqt/merge.py:65
+#: tortoisehg/hgqt/rebase.py:243 tortoisehg/hgqt/resolve.py:352
#: tortoisehg/hgqt/settings.py:669 tortoisehg/hgtk/commit.py:323
#: tortoisehg/hgtk/merge.py:196 tortoisehg/hgtk/thgconfig.py:846
msgid "Confirm Exit"
msgstr "确认退出"
-#: tortoisehg/hgqt/cmdui.py:767
+#: tortoisehg/hgqt/cmdui.py:771
msgid ""
"Mercurial command is still running.\n"
"Are you sure you want to terminate?"
msgstr ""
-#: tortoisehg/hgqt/cmdui.py:811
+#: tortoisehg/hgqt/cmdui.py:815
msgid "TortoiseHg"
msgstr ""
@@ -791,166 +815,174 @@msgid "Copy one of the recent commit messages"
msgstr ""
-#: tortoisehg/hgqt/commit.py:216 tortoisehg/hgqt/commit.py:330
+#: tortoisehg/hgqt/commit.py:216 tortoisehg/hgqt/commit.py:335
msgid "Branch: "
msgstr "分支: "
-#: tortoisehg/hgqt/commit.py:332
+#: tortoisehg/hgqt/commit.py:222 tortoisehg/hgqt/grep.py:54
+#: tortoisehg/hgqt/serve_ui.py:87 tortoisehg/hgtk/datamine.py:54
+#: tortoisehg/hgtk/hgcmd.py:46 tortoisehg/hgtk/history.py:448
+#: tortoisehg/hgtk/recovery.py:48 tortoisehg/hgtk/serve.py:65
+#: tortoisehg/hgtk/synch.py:53
+msgid "Stop"
+msgstr "停止"
+
+#: tortoisehg/hgqt/commit.py:337
msgid "Close Branch: "
msgstr ""
-#: tortoisehg/hgqt/commit.py:334
+#: tortoisehg/hgqt/commit.py:339
msgid "New Branch: "
msgstr ""
-#: tortoisehg/hgqt/commit.py:356
+#: tortoisehg/hgqt/commit.py:361
#, python-format
msgid "Rollback commit to revision %d"
msgstr ""
-#: tortoisehg/hgqt/commit.py:365
+#: tortoisehg/hgqt/commit.py:370
msgid "Confirm Undo"
msgstr ""
-#: tortoisehg/hgqt/commit.py:395 tortoisehg/hgqt/mq.py:456
+#: tortoisehg/hgqt/commit.py:400 tortoisehg/hgqt/mq.py:456
#: tortoisehg/hgtk/commit.py:582
msgid "Discard current commit message?"
msgstr "要丢弃当前的改动说明吗?"
-#: tortoisehg/hgqt/commit.py:480
+#: tortoisehg/hgqt/commit.py:487
msgid "Please enter a username"
msgstr ""
-#: tortoisehg/hgqt/commit.py:481
+#: tortoisehg/hgqt/commit.py:488
msgid "You must identify yourself to Mercurial"
msgstr ""
-#: tortoisehg/hgqt/commit.py:496 tortoisehg/hgtk/commit.py:935
+#: tortoisehg/hgqt/commit.py:503 tortoisehg/hgtk/commit.py:935
#: tortoisehg/hgtk/commit.py:1079 tortoisehg/hgtk/commit.py:1098
msgid "Nothing Commited"
msgstr "什么也没提交"
-#: tortoisehg/hgqt/commit.py:497 tortoisehg/hgtk/commit.py:1080
+#: tortoisehg/hgqt/commit.py:504 tortoisehg/hgtk/commit.py:1080
#: tortoisehg/hgtk/tagadd.py:225
msgid "Please enter commit message"
msgstr "请输入改动说明"
-#: tortoisehg/hgqt/commit.py:518 tortoisehg/hgtk/commit.py:1186
+#: tortoisehg/hgqt/commit.py:525 tortoisehg/hgtk/commit.py:1186
msgid "Confirm Branch Change"
msgstr ""
-#: tortoisehg/hgqt/commit.py:519
+#: tortoisehg/hgqt/commit.py:526
#, python-format
msgid "Named branch \"%s\" already exists, last used in revision %d\n"
msgstr ""
-#: tortoisehg/hgqt/commit.py:523
+#: tortoisehg/hgqt/commit.py:530
msgid "Restart &Branch"
msgstr ""
-#: tortoisehg/hgqt/commit.py:524 tortoisehg/hgqt/commit.py:532
+#: tortoisehg/hgqt/commit.py:531 tortoisehg/hgqt/commit.py:539
msgid "&Commit to current branch"
msgstr ""
-#: tortoisehg/hgqt/commit.py:527 tortoisehg/hgtk/commit.py:1195
+#: tortoisehg/hgqt/commit.py:534 tortoisehg/hgtk/commit.py:1195
msgid "Confirm New Branch"
msgstr "确认新分支"
-#: tortoisehg/hgqt/commit.py:528
+#: tortoisehg/hgqt/commit.py:535
#, python-format
msgid "Create new named branch \"%s\" with this commit?\n"
msgstr ""
-#: tortoisehg/hgqt/commit.py:531
+#: tortoisehg/hgqt/commit.py:538
msgid "Create &Branch"
msgstr ""
-#: tortoisehg/hgqt/commit.py:542
+#: tortoisehg/hgqt/commit.py:549
msgid "No files checked"
msgstr ""
-#: tortoisehg/hgqt/commit.py:543
+#: tortoisehg/hgqt/commit.py:550
msgid "No modified files checkmarked for commit"
msgstr ""
-#: tortoisehg/hgqt/commit.py:558
+#: tortoisehg/hgqt/commit.py:565
msgid "Confirm Add"
msgstr ""
-#: tortoisehg/hgqt/commit.py:559
+#: tortoisehg/hgqt/commit.py:566
msgid "Add selected untracked files?"
msgstr ""
-#: tortoisehg/hgqt/commit.py:571
+#: tortoisehg/hgqt/commit.py:578
msgid "Confirm Remove"
msgstr ""
-#: tortoisehg/hgqt/commit.py:572
+#: tortoisehg/hgqt/commit.py:579
msgid "Remove selected deleted files?"
msgstr ""
-#: tortoisehg/hgqt/commit.py:635
+#: tortoisehg/hgqt/commit.py:652
msgid "Set username:"
msgstr ""
-#: tortoisehg/hgqt/commit.py:662 tortoisehg/hgqt/commit.py:709
-#: tortoisehg/hgqt/commit.py:732
+#: tortoisehg/hgqt/commit.py:679 tortoisehg/hgqt/commit.py:726
+#: tortoisehg/hgqt/commit.py:749
msgid "Save in Repo"
msgstr ""
-#: tortoisehg/hgqt/commit.py:667
+#: tortoisehg/hgqt/commit.py:684
msgid "Save Global"
msgstr ""
-#: tortoisehg/hgqt/commit.py:679
+#: tortoisehg/hgqt/commit.py:696
msgid "Set Date:"
msgstr ""
-#: tortoisehg/hgqt/commit.py:683 tortoisehg/hgtk/history.py:1594
+#: tortoisehg/hgqt/commit.py:700 tortoisehg/hgtk/history.py:1589
#: tortoisehg/hgtk/synch.py:148 tortoisehg/hgtk/update.py:128
msgid "Update"
msgstr "更新"
-#: tortoisehg/hgqt/commit.py:702
+#: tortoisehg/hgqt/commit.py:719
msgid "Push After Commit:"
msgstr ""
-#: tortoisehg/hgqt/commit.py:725
+#: tortoisehg/hgqt/commit.py:742
msgid "Auto Includes:"
msgstr ""
-#: tortoisehg/hgqt/commit.py:764
+#: tortoisehg/hgqt/commit.py:781
msgid "Unable to save username"
msgstr ""
-#: tortoisehg/hgqt/commit.py:765 tortoisehg/hgqt/commit.py:788
-#: tortoisehg/hgqt/commit.py:811 tortoisehg/hgqt/sync.py:847
-#: tortoisehg/hgqt/sync.py:945 tortoisehg/hgqt/sync.py:1015
-#: tortoisehg/hgqt/sync.py:1175
+#: tortoisehg/hgqt/commit.py:782 tortoisehg/hgqt/commit.py:805
+#: tortoisehg/hgqt/commit.py:828 tortoisehg/hgqt/sync.py:873
+#: tortoisehg/hgqt/sync.py:971 tortoisehg/hgqt/sync.py:1041
+#: tortoisehg/hgqt/sync.py:1205
msgid "Iniparse must be installed."
msgstr ""
-#: tortoisehg/hgqt/commit.py:780 tortoisehg/hgqt/commit.py:803
-#: tortoisehg/hgqt/commit.py:826 tortoisehg/hgqt/settings.py:967
-#: tortoisehg/hgqt/sync.py:857 tortoisehg/hgqt/sync.py:956
-#: tortoisehg/hgqt/sync.py:1033 tortoisehg/hgqt/sync.py:1213
+#: tortoisehg/hgqt/commit.py:797 tortoisehg/hgqt/commit.py:820
+#: tortoisehg/hgqt/commit.py:843 tortoisehg/hgqt/settings.py:976
+#: tortoisehg/hgqt/sync.py:883 tortoisehg/hgqt/sync.py:982
+#: tortoisehg/hgqt/sync.py:1059 tortoisehg/hgqt/sync.py:1243
#: tortoisehg/hgtk/thgconfig.py:1654
msgid "Unable to write configuration file"
msgstr "无法写入配置文件"
-#: tortoisehg/hgqt/commit.py:787
+#: tortoisehg/hgqt/commit.py:804
msgid "Unable to save after commit push"
msgstr ""
-#: tortoisehg/hgqt/commit.py:810
+#: tortoisehg/hgqt/commit.py:827
msgid "Unable to save auto include list"
msgstr ""
-#: tortoisehg/hgqt/commit.py:841
+#: tortoisehg/hgqt/commit.py:858
msgid "Invalid date format"
msgstr ""
-#: tortoisehg/hgqt/commit.py:861
+#: tortoisehg/hgqt/commit.py:878
msgid "No username configured"
msgstr ""
@@ -967,7 +999,7 @@msgstr ""
#: tortoisehg/hgqt/compress.py:69 tortoisehg/hgqt/merge.py:264
-#: tortoisehg/hgqt/rebase.py:104
+#: tortoisehg/hgqt/rebase.py:105
msgid "Checking..."
msgstr ""
@@ -996,19 +1028,19 @@
#: tortoisehg/hgqt/compress.py:149 tortoisehg/hgqt/merge.py:362
#: tortoisehg/hgqt/merge.py:396 tortoisehg/hgqt/merge.py:460
-#: tortoisehg/hgqt/rebase.py:213 tortoisehg/hgqt/settings.py:770
-#: tortoisehg/hgqt/update.py:219 tortoisehg/hgtk/thgconfig.py:775
+#: tortoisehg/hgqt/rebase.py:220 tortoisehg/hgqt/settings.py:770
+#: tortoisehg/hgqt/update.py:225 tortoisehg/hgtk/thgconfig.py:775
#: tortoisehg/hgtk/update.py:233
msgid "&Discard"
msgstr "丢弃(&D)"
#: tortoisehg/hgqt/compress.py:151 tortoisehg/hgqt/merge.py:462
-#: tortoisehg/hgqt/rebase.py:215
+#: tortoisehg/hgqt/rebase.py:222
msgid "Confirm Discard"
msgstr ""
#: tortoisehg/hgqt/compress.py:152 tortoisehg/hgqt/merge.py:463
-#: tortoisehg/hgqt/rebase.py:216
+#: tortoisehg/hgqt/rebase.py:223
msgid "Discard outstanding changes to working directory?"
msgstr ""
@@ -1020,7 +1052,7 @@msgid "must be specified 'type' in style"
msgstr "必须是样式(style)中指定的'type'"
-#: tortoisehg/hgqt/csinfo.py:106 tortoisehg/hgqt/postreview_ui.py:164
+#: tortoisehg/hgqt/csinfo.py:106 tortoisehg/hgqt/postreview_ui.py:165
#: tortoisehg/hgqt/qfold.py:86 tortoisehg/hgqt/qreorder.py:88
#: tortoisehg/hgtk/csinfo.py:212
msgid "Summary:"
@@ -1089,219 +1121,254 @@msgid "Output Log"
msgstr ""
-#: tortoisehg/hgqt/filedialogs.py:193 tortoisehg/hgqt/workbench.py:291
+#: tortoisehg/hgqt/filedialogs.py:193 tortoisehg/hgqt/workbench.py:300
msgid "Back"
msgstr ""
-#: tortoisehg/hgqt/filedialogs.py:195 tortoisehg/hgqt/workbench.py:294
+#: tortoisehg/hgqt/filedialogs.py:195 tortoisehg/hgqt/workbench.py:303
msgid "Forward"
msgstr ""
-#: tortoisehg/hgqt/filelistview.py:205 tortoisehg/hgqt/manifestdialog.py:284
+#: tortoisehg/hgqt/filelistview.py:209 tortoisehg/hgqt/manifestdialog.py:285
#, python-format
msgid "Hg file log viewer - %s"
msgstr ""
-#: tortoisehg/hgqt/filelistview.py:214
+#: tortoisehg/hgqt/filelistview.py:223
+msgid "Cannot open subrepository"
+msgstr ""
+
+#: tortoisehg/hgqt/filelistview.py:224
+msgid "The selected subrepository does not exist on the working directory"
+msgstr ""
+
+#: tortoisehg/hgqt/filelistview.py:234
msgid "Show All"
msgstr ""
-#: tortoisehg/hgqt/filelistview.py:216
+#: tortoisehg/hgqt/filelistview.py:236
msgid "Toggle display of all files and the direction they were merged"
msgstr ""
-#: tortoisehg/hgqt/filelistview.py:219
+#: tortoisehg/hgqt/filelistview.py:239
msgid "Other"
msgstr ""
-#: tortoisehg/hgqt/filelistview.py:221
+#: tortoisehg/hgqt/filelistview.py:241
msgid "Toggle display of diffs to second (other) parent"
msgstr ""
-#: tortoisehg/hgqt/filelistview.py:228 tortoisehg/hgqt/manifestdialog.py:196
+#: tortoisehg/hgqt/filelistview.py:248 tortoisehg/hgqt/manifestdialog.py:197
msgid "File history"
msgstr ""
-#: tortoisehg/hgqt/filelistview.py:229 tortoisehg/hgqt/manifestdialog.py:197
+#: tortoisehg/hgqt/filelistview.py:249 tortoisehg/hgqt/manifestdialog.py:198
msgid "Show the history of the selected file"
msgstr ""
-#: tortoisehg/hgqt/filelistview.py:230 tortoisehg/hgqt/manifestdialog.py:198
+#: tortoisehg/hgqt/filelistview.py:250 tortoisehg/hgqt/manifestdialog.py:199
msgid "Compare file revisions"
msgstr ""
-#: tortoisehg/hgqt/filelistview.py:231 tortoisehg/hgqt/manifestdialog.py:199
+#: tortoisehg/hgqt/filelistview.py:251 tortoisehg/hgqt/manifestdialog.py:200
msgid "Compare revisions of the selected file"
msgstr ""
-#: tortoisehg/hgqt/filelistview.py:232 tortoisehg/hgqt/grep.py:502
-#: tortoisehg/hgqt/manifestdialog.py:200 tortoisehg/util/menuthg.py:76
+#: tortoisehg/hgqt/filelistview.py:252 tortoisehg/hgqt/grep.py:547
+#: tortoisehg/hgqt/manifestdialog.py:201 tortoisehg/util/menuthg.py:76
msgid "Visual Diff"
msgstr "比较文件"
-#: tortoisehg/hgqt/filelistview.py:233 tortoisehg/hgqt/manifestdialog.py:201
+#: tortoisehg/hgqt/filelistview.py:253 tortoisehg/hgqt/manifestdialog.py:202
msgid "View file changes in external diff tool"
msgstr ""
-#: tortoisehg/hgqt/filelistview.py:234 tortoisehg/hgqt/manifestdialog.py:202
+#: tortoisehg/hgqt/filelistview.py:254 tortoisehg/hgqt/manifestdialog.py:203
msgid "Visual Diff to Local"
msgstr ""
-#: tortoisehg/hgqt/filelistview.py:235 tortoisehg/hgqt/manifestdialog.py:203
+#: tortoisehg/hgqt/filelistview.py:255 tortoisehg/hgqt/manifestdialog.py:204
msgid "View changes to current in external diff tool"
msgstr ""
-#: tortoisehg/hgqt/filelistview.py:237 tortoisehg/hgqt/manifestdialog.py:205
+#: tortoisehg/hgqt/filelistview.py:257 tortoisehg/hgqt/manifestdialog.py:206
msgid "View at Revision"
msgstr ""
-#: tortoisehg/hgqt/filelistview.py:238 tortoisehg/hgqt/manifestdialog.py:206
+#: tortoisehg/hgqt/filelistview.py:258 tortoisehg/hgqt/manifestdialog.py:207
msgid "View file as it appeared at this revision"
msgstr ""
-#: tortoisehg/hgqt/filelistview.py:239 tortoisehg/hgqt/manifestdialog.py:207
+#: tortoisehg/hgqt/filelistview.py:259 tortoisehg/hgqt/manifestdialog.py:208
msgid "Edit Local"
msgstr ""
-#: tortoisehg/hgqt/filelistview.py:240 tortoisehg/hgqt/manifestdialog.py:208
+#: tortoisehg/hgqt/filelistview.py:260 tortoisehg/hgqt/manifestdialog.py:209
msgid "Edit current file in working copy"
msgstr ""
-#: tortoisehg/hgqt/filelistview.py:241 tortoisehg/hgqt/manifestdialog.py:209
+#: tortoisehg/hgqt/filelistview.py:261 tortoisehg/hgqt/manifestdialog.py:210
msgid "Revert to Revision"
msgstr ""
-#: tortoisehg/hgqt/filelistview.py:242 tortoisehg/hgqt/manifestdialog.py:210
+#: tortoisehg/hgqt/filelistview.py:262 tortoisehg/hgqt/manifestdialog.py:211
msgid "Revert file(s) to contents at this revision"
msgstr ""
+#: tortoisehg/hgqt/filelistview.py:264
+msgid "Open subrepository"
+msgstr ""
+
+#: tortoisehg/hgqt/filelistview.py:265
+msgid "Open the selected subrepository"
+msgstr ""
+
+#: tortoisehg/hgqt/filerevmodel.py:41
+msgctxt "column header"
+msgid "Filename"
+msgstr ""
+
#: tortoisehg/hgqt/fileview.py:71
msgid "Diff Toolbar"
msgstr ""
-#: tortoisehg/hgqt/fileview.py:142
+#: tortoisehg/hgqt/fileview.py:143
msgid "View change as unified diff output"
msgstr ""
-#: tortoisehg/hgqt/fileview.py:146
+#: tortoisehg/hgqt/fileview.py:147
msgid "View change in context of file"
msgstr ""
-#: tortoisehg/hgqt/fileview.py:150
+#: tortoisehg/hgqt/fileview.py:151
msgid "View change in context, annotate with revision number"
msgstr ""
-#: tortoisehg/hgqt/fileview.py:175
+#: tortoisehg/hgqt/fileview.py:176
msgid "Toggle display of text search bar"
msgstr ""
-#: tortoisehg/hgqt/fileview.py:180
+#: tortoisehg/hgqt/fileview.py:181
msgid "Open shelve tool"
msgstr ""
-#: tortoisehg/hgqt/fileview.py:504
-msgid "File or diffs not displayed: "
-msgstr ""
-
-#: tortoisehg/hgqt/fileview.py:518 tortoisehg/hgtk/chunks.py:73
-msgid "File is larger than the specified max size.\n"
-msgstr "文件大小超过了指定的最大值.\n"
-
-#: tortoisehg/hgqt/fileview.py:552 tortoisehg/hgqt/fileview.py:657
+#: tortoisehg/hgqt/fileview.py:582 tortoisehg/hgqt/fileview.py:738
#, python-format
msgid "exec mode has been <font color='red'>%s</font>"
msgstr ""
-#: tortoisehg/hgqt/fileview.py:553 tortoisehg/hgqt/fileview.py:653
+#: tortoisehg/hgqt/fileview.py:583 tortoisehg/hgqt/fileview.py:734
msgid "set"
msgstr ""
-#: tortoisehg/hgqt/fileview.py:553 tortoisehg/hgqt/fileview.py:655
+#: tortoisehg/hgqt/fileview.py:583 tortoisehg/hgqt/fileview.py:736
msgid "unset"
msgstr ""
-#: tortoisehg/hgqt/fileview.py:556 tortoisehg/hgqt/fileview.py:567
+#: tortoisehg/hgqt/fileview.py:586 tortoisehg/hgqt/fileview.py:597
msgid " <i>(is a symlink)</i>"
msgstr ""
-#: tortoisehg/hgqt/fileview.py:585
-msgid "Not a Mercurial subrepo, not previewable"
-msgstr ""
-
-#: tortoisehg/hgqt/fileview.py:593
-msgid "File Status:"
-msgstr ""
-
-#: tortoisehg/hgqt/fileview.py:597
-msgid "New subrepository"
-msgstr ""
-
-#: tortoisehg/hgqt/fileview.py:599
+#: tortoisehg/hgqt/fileview.py:615
+msgid "Subrepo initialized to revision:"
+msgstr ""
+
+#: tortoisehg/hgqt/fileview.py:618
+msgid "Subrepo removed from repository."
+msgstr ""
+
+#: tortoisehg/hgqt/fileview.py:622
msgid "Revision has changed from:"
msgstr ""
-#: tortoisehg/hgqt/fileview.py:604 tortoisehg/hgqt/hgemail_ui.py:245
+#: tortoisehg/hgqt/fileview.py:626 tortoisehg/hgqt/hgemail_ui.py:245
#: tortoisehg/hgtk/hgemail.py:76
msgid "To:"
msgstr "收件人:"
-#: tortoisehg/hgqt/fileview.py:610
-msgid " <i>(is a dirty sub-repository)</i>"
-msgstr ""
-
-#: tortoisehg/hgqt/fileview.py:612
-msgid "open"
-msgstr ""
-
-#: tortoisehg/hgqt/fileview.py:614
+#: tortoisehg/hgqt/fileview.py:632
+msgid "Initial revision"
+msgstr ""
+
+#: tortoisehg/hgqt/fileview.py:643
+msgid "Not a Mercurial subrepo, not previewable"
+msgstr ""
+
+#: tortoisehg/hgqt/fileview.py:655
+msgid "File Status:"
+msgstr ""
+
+#: tortoisehg/hgqt/fileview.py:675
+msgid "(is a changed sub-repository)"
+msgstr ""
+
+#: tortoisehg/hgqt/fileview.py:676
+msgid "(is a dirty sub-repository)"
+msgstr ""
+
+#: tortoisehg/hgqt/fileview.py:677
+msgid "(is a new sub-repository)"
+msgstr ""
+
+#: tortoisehg/hgqt/fileview.py:678
+msgid "(is a removed sub-repository)"
+msgstr ""
+
+#: tortoisehg/hgqt/fileview.py:679
+msgid "(is a changed and dirty sub-repository)"
+msgstr ""
+
+#: tortoisehg/hgqt/fileview.py:680
+msgid "(is a new and dirty sub-repository)"
+msgstr ""
+
+#: tortoisehg/hgqt/fileview.py:684
+#, python-format
+msgid " <a href=\"subrepo:%s\">open...</a>"
+msgstr ""
+
+#: tortoisehg/hgqt/fileview.py:687
#, python-format
msgid "Error previewing subrepo: %s"
msgstr ""
-#: tortoisehg/hgqt/fileview.py:627
+#: tortoisehg/hgqt/fileview.py:707
msgid " <i>(was deleted)</i>"
msgstr ""
-#: tortoisehg/hgqt/fileview.py:629
+#: tortoisehg/hgqt/fileview.py:709
msgid " <i>(was added, now missing)</i>"
msgstr ""
-#: tortoisehg/hgqt/fileview.py:639
+#: tortoisehg/hgqt/fileview.py:722
msgid " <i>(is unversioned)</i>"
msgstr ""
-#: tortoisehg/hgqt/fileview.py:663 tortoisehg/hgqt/fileview.py:673
+#: tortoisehg/hgqt/fileview.py:744 tortoisehg/hgqt/fileview.py:754
msgid " <i>(was added)</i>"
msgstr ""
-#: tortoisehg/hgqt/fileview.py:668
+#: tortoisehg/hgqt/fileview.py:749
#, python-format
msgid " <i>(renamed from %s)</i>"
msgstr ""
-#: tortoisehg/hgqt/grep.py:45 tortoisehg/hgqt/qscilib.py:314
+#: tortoisehg/hgqt/grep.py:45 tortoisehg/hgqt/qscilib.py:326
#: tortoisehg/hgtk/datamine.py:311 tortoisehg/hgtk/hgignore.py:60
msgid "Regexp:"
msgstr "正则式:"
-#: tortoisehg/hgqt/grep.py:48 tortoisehg/hgqt/qscilib.py:320
+#: tortoisehg/hgqt/grep.py:48 tortoisehg/hgqt/qscilib.py:332
#: tortoisehg/hgtk/datamine.py:330
msgid "Ignore case"
msgstr "忽略大小写"
-#: tortoisehg/hgqt/grep.py:49 tortoisehg/hgqt/qscilib.py:301
-#: tortoisehg/hgqt/qscilib.py:324 tortoisehg/hgqt/repowidget.py:174
+#: tortoisehg/hgqt/grep.py:49 tortoisehg/hgqt/qscilib.py:313
+#: tortoisehg/hgqt/qscilib.py:336 tortoisehg/hgqt/repowidget.py:175
#: tortoisehg/hgtk/datamine.py:310
msgid "Search"
msgstr "查找"
-#: tortoisehg/hgqt/grep.py:54 tortoisehg/hgqt/serve_ui.py:87
-#: tortoisehg/hgtk/datamine.py:54 tortoisehg/hgtk/hgcmd.py:46
-#: tortoisehg/hgtk/history.py:448 tortoisehg/hgtk/recovery.py:48
-#: tortoisehg/hgtk/serve.py:65 tortoisehg/hgtk/synch.py:53
-msgid "Stop"
-msgstr "停止"
-
#: tortoisehg/hgqt/grep.py:64
msgid "Working Copy"
msgstr ""
@@ -1318,104 +1385,113 @@msgid "Follow copies and renames"
msgstr "跟踪复制和重命名操作"
-#: tortoisehg/hgqt/grep.py:77 tortoisehg/hgtk/datamine.py:313
+#: tortoisehg/hgqt/grep.py:69
+msgid "Recurse into subrepos"
+msgstr ""
+
+#: tortoisehg/hgqt/grep.py:79 tortoisehg/hgtk/datamine.py:313
msgid "Includes:"
msgstr "包括:"
-#: tortoisehg/hgqt/grep.py:79 tortoisehg/hgtk/datamine.py:315
+#: tortoisehg/hgqt/grep.py:81 tortoisehg/hgtk/datamine.py:315
msgid "Excludes:"
msgstr "排除:"
-#: tortoisehg/hgqt/grep.py:81
+#: tortoisehg/hgqt/grep.py:83
msgid ""
"Comma separated list of exclusion file patterns. Exclusion patterns are "
"applied after inclusion patterns."
msgstr ""
-#: tortoisehg/hgqt/grep.py:83
+#: tortoisehg/hgqt/grep.py:85
msgid ""
"Comma separated list of inclusion file patterns. By default, the entire "
"repository is searched."
msgstr ""
-#: tortoisehg/hgqt/grep.py:164
+#: tortoisehg/hgqt/grep.py:180
msgid "TortoiseHg Search"
msgstr ""
-#: tortoisehg/hgqt/grep.py:190
+#: tortoisehg/hgqt/grep.py:206
#, python-format
msgid "\"%s\" removed from search history"
msgstr ""
-#: tortoisehg/hgqt/grep.py:198
+#: tortoisehg/hgqt/grep.py:214
#, python-format
msgid "\"%s\" removed from path history"
msgstr ""
-#: tortoisehg/hgqt/grep.py:269
+#: tortoisehg/hgqt/grep.py:284
#, python-format
msgid "grep: invalid match pattern: %s\n"
msgstr ""
-#: tortoisehg/hgqt/grep.py:296
+#: tortoisehg/hgqt/grep.py:312
#, python-format
msgid "grep: %s\n"
msgstr ""
-#: tortoisehg/hgqt/grep.py:327
+#: tortoisehg/hgqt/grep.py:355 tortoisehg/hgqt/revset.py:384
+#, python-format
+msgid "%d matches found"
+msgstr ""
+
+#: tortoisehg/hgqt/grep.py:357
msgid "No matches found"
msgstr ""
-#: tortoisehg/hgqt/grep.py:329 tortoisehg/hgqt/revset.py:384
-#, python-format
-msgid "%d matches found"
-msgstr ""
-
-#: tortoisehg/hgqt/grep.py:393 tortoisehg/hgqt/grep.py:406
-#: tortoisehg/hgqt/grep.py:438
+#: tortoisehg/hgqt/grep.py:415 tortoisehg/hgqt/grep.py:428
+#: tortoisehg/hgqt/grep.py:468
msgid "Searching"
msgstr ""
-#: tortoisehg/hgqt/grep.py:393
+#: tortoisehg/hgqt/grep.py:415
msgid "history"
msgstr ""
-#: tortoisehg/hgqt/grep.py:405
+#: tortoisehg/hgqt/grep.py:427
msgid "Interrupted"
msgstr ""
-#: tortoisehg/hgqt/grep.py:439
+#: tortoisehg/hgqt/grep.py:469
msgid "files"
msgstr ""
-#: tortoisehg/hgqt/grep.py:500
+#: tortoisehg/hgqt/grep.py:482
+#, python-format
+msgid "Skipping %s, unable to read"
+msgstr ""
+
+#: tortoisehg/hgqt/grep.py:545
msgid "View file"
msgstr ""
-#: tortoisehg/hgqt/grep.py:501
+#: tortoisehg/hgqt/grep.py:546
msgid "View Changeset"
msgstr ""
-#: tortoisehg/hgqt/grep.py:503
+#: tortoisehg/hgqt/grep.py:548
msgid "Annotate file"
msgstr ""
-#: tortoisehg/hgqt/grep.py:644 tortoisehg/hgtk/datamine.py:364
+#: tortoisehg/hgqt/grep.py:698 tortoisehg/hgtk/datamine.py:364
#: tortoisehg/hgtk/datamine.py:654
msgid "File"
msgstr "文件"
-#: tortoisehg/hgqt/grep.py:644 tortoisehg/hgtk/datamine.py:652
+#: tortoisehg/hgqt/grep.py:698 tortoisehg/hgtk/datamine.py:652
msgid "Line"
msgstr "行"
-#: tortoisehg/hgqt/grep.py:644 tortoisehg/hgtk/datamine.py:363
+#: tortoisehg/hgqt/grep.py:698 tortoisehg/hgtk/datamine.py:363
#: tortoisehg/hgtk/datamine.py:653 tortoisehg/hgtk/logview/treeview.py:441
msgid "Rev"
msgstr "版本"
-#: tortoisehg/hgqt/grep.py:644 tortoisehg/hgqt/settings.py:451
-#: tortoisehg/hgqt/settings.py:564 tortoisehg/hgqt/settings.py:609
+#: tortoisehg/hgqt/grep.py:698 tortoisehg/hgqt/settings.py:450
+#: tortoisehg/hgqt/settings.py:563 tortoisehg/hgqt/settings.py:608
#: tortoisehg/hgtk/datamine.py:142 tortoisehg/hgtk/datamine.py:655
#: tortoisehg/hgtk/history.py:101 tortoisehg/hgtk/history.py:502
#: tortoisehg/hgtk/history.py:695 tortoisehg/hgtk/thgconfig.py:232
@@ -1423,7 +1499,7 @@msgid "User"
msgstr "用户"
-#: tortoisehg/hgqt/grep.py:645
+#: tortoisehg/hgqt/grep.py:699
msgid "Match Text"
msgstr ""
@@ -1432,56 +1508,56 @@msgid "Detect Copies/Renames in %s"
msgstr "检测拷贝和重命名操作在%s"
-#: tortoisehg/hgqt/guess.py:60
+#: tortoisehg/hgqt/guess.py:59
msgid "<b>Unrevisioned Files</b>"
msgstr ""
-#: tortoisehg/hgqt/guess.py:75
+#: tortoisehg/hgqt/guess.py:74
#, python-format
msgid "Min Similarity: %d%%"
msgstr ""
+#: tortoisehg/hgqt/guess.py:83
+msgid "Only consider deleted files"
+msgstr ""
+
#: tortoisehg/hgqt/guess.py:84
-msgid "Only consider deleted files"
-msgstr ""
-
-#: tortoisehg/hgqt/guess.py:85
msgid "Uncheck to consider all revisioned files for copy sources"
msgstr ""
+#: tortoisehg/hgqt/guess.py:87
+msgid "Find Rename"
+msgstr ""
+
#: tortoisehg/hgqt/guess.py:88
-msgid "Find Rename"
-msgstr ""
-
-#: tortoisehg/hgqt/guess.py:89
msgid "Find copy and/or rename sources"
msgstr ""
-#: tortoisehg/hgqt/guess.py:100
+#: tortoisehg/hgqt/guess.py:99
msgid "<b>Candidate Matches</b>"
msgstr ""
-#: tortoisehg/hgqt/guess.py:110
+#: tortoisehg/hgqt/guess.py:109
msgid "Accept Selected Matches"
msgstr ""
-#: tortoisehg/hgqt/guess.py:133
+#: tortoisehg/hgqt/guess.py:132
msgid "<b>Differences from Source to Dest</b>"
msgstr ""
+#: tortoisehg/hgqt/guess.py:172
+msgid "Search already in progress"
+msgstr ""
+
#: tortoisehg/hgqt/guess.py:173
-msgid "Search already in progress"
-msgstr ""
-
-#: tortoisehg/hgqt/guess.py:174
msgid "Cannot start a new search"
msgstr ""
+#: tortoisehg/hgqt/guess.py:179
+msgid "No rows selected"
+msgstr ""
+
#: tortoisehg/hgqt/guess.py:180
-msgid "No rows selected"
-msgstr ""
-
-#: tortoisehg/hgqt/guess.py:181
msgid "Select one or more rows for search"
msgstr ""
@@ -1503,16 +1579,16 @@"\n"
msgstr ""
-#: tortoisehg/hgqt/guess.py:269 tortoisehg/hgtk/datamine.py:656
+#: tortoisehg/hgqt/guess.py:270 tortoisehg/hgtk/datamine.py:656
#: tortoisehg/hgtk/guess.py:145
msgid "Source"
msgstr "源"
-#: tortoisehg/hgqt/guess.py:269 tortoisehg/hgtk/guess.py:152
+#: tortoisehg/hgqt/guess.py:270 tortoisehg/hgtk/guess.py:152
msgid "Dest"
msgstr "目标"
-#: tortoisehg/hgqt/guess.py:269
+#: tortoisehg/hgqt/guess.py:270
msgid "% Match"
msgstr ""
@@ -1520,15 +1596,15 @@msgid "Sending Email"
msgstr ""
-#: tortoisehg/hgqt/hgemail.py:439
+#: tortoisehg/hgqt/hgemail.py:443
msgid "use only one form to specify the revision"
msgstr ""
-#: tortoisehg/hgqt/hgemail.py:449
+#: tortoisehg/hgqt/hgemail.py:453
msgid "Failed to open Email dialog"
msgstr ""
-#: tortoisehg/hgqt/hgemail_ui.py:244 tortoisehg/hgqt/settings.py:457
+#: tortoisehg/hgqt/hgemail_ui.py:244 tortoisehg/hgqt/settings.py:456
#: tortoisehg/hgtk/synch.py:78 tortoisehg/hgtk/thgconfig.py:238
msgid "Email"
msgstr "邮寄"
@@ -1642,7 +1718,7 @@msgid "Subject:"
msgstr "主题:"
-#: tortoisehg/hgqt/hgemail_ui.py:268 tortoisehg/hgqt/postreview_ui.py:173
+#: tortoisehg/hgqt/hgemail_ui.py:268 tortoisehg/hgqt/postreview_ui.py:174
msgid "Changesets"
msgstr ""
@@ -1656,7 +1732,7 @@msgid "Preview"
msgstr ""
-#: tortoisehg/hgqt/hgemail_ui.py:271 tortoisehg/hgqt/postreview_ui.py:174
+#: tortoisehg/hgqt/hgemail_ui.py:271 tortoisehg/hgqt/postreview_ui.py:175
msgid "&Settings"
msgstr ""
@@ -1678,15 +1754,15 @@msgstr ""
#: tortoisehg/hgqt/hgignore.py:53 tortoisehg/hgqt/qqueue.py:91
-#: tortoisehg/hgqt/quickop.py:19 tortoisehg/hgqt/tag.py:186
+#: tortoisehg/hgqt/quickop.py:20 tortoisehg/hgqt/tag.py:186
#: tortoisehg/hgqt/webconf.py:246 tortoisehg/hgqt/webconf_ui.py:78
-#: tortoisehg/hgtk/bookmark.py:48 tortoisehg/hgtk/hgignore.py:50
+#: tortoisehg/hgtk/bookmark.py:45 tortoisehg/hgtk/hgignore.py:50
#: tortoisehg/hgtk/hgignore.py:58 tortoisehg/hgtk/quickop.py:19
#: tortoisehg/hgtk/tagadd.py:39
msgid "Add"
msgstr "添加"
-#: tortoisehg/hgqt/hgignore.py:72 tortoisehg/hgqt/resolve.py:94
+#: tortoisehg/hgqt/hgignore.py:72 tortoisehg/hgqt/resolve.py:128
#: tortoisehg/hgqt/settings.py:719 tortoisehg/hgtk/hgignore.py:77
#: tortoisehg/hgtk/thgconfig.py:676
msgid "Edit File"
@@ -1712,19 +1788,19 @@msgid "Ignore "
msgstr ""
-#: tortoisehg/hgqt/hgignore.py:206 tortoisehg/hgtk/hgignore.py:197
+#: tortoisehg/hgqt/hgignore.py:207 tortoisehg/hgtk/hgignore.py:197
msgid "Invalid glob expression"
msgstr "无效的通配符表达式"
-#: tortoisehg/hgqt/hgignore.py:216 tortoisehg/hgtk/hgignore.py:213
+#: tortoisehg/hgqt/hgignore.py:217 tortoisehg/hgtk/hgignore.py:213
msgid "Invalid regexp expression"
msgstr "无效的正则表达式"
-#: tortoisehg/hgqt/hgignore.py:228 tortoisehg/hgqt/hgignore.py:235
+#: tortoisehg/hgqt/hgignore.py:229 tortoisehg/hgqt/hgignore.py:236
msgid "Unable to read repository status"
msgstr ""
-#: tortoisehg/hgqt/hgignore.py:271 tortoisehg/hgtk/hgignore.py:261
+#: tortoisehg/hgqt/hgignore.py:272 tortoisehg/hgtk/hgignore.py:261
msgid "Unable to write .hgignore file"
msgstr "不写入 .hgignore 文件"
@@ -1814,7 +1890,7 @@msgid "Workbench Log Columns"
msgstr ""
-#: tortoisehg/hgqt/logcolumns.py:64
+#: tortoisehg/hgqt/logcolumns.py:66
msgid "Drag to change order"
msgstr ""
@@ -1823,15 +1899,14 @@msgid "Manifest %s@%s"
msgstr ""
-#: tortoisehg/hgqt/manifestdialog.py:182 tortoisehg/hgtk/status.py:1251
-msgid "Annotate"
-msgstr ""
-
-#: tortoisehg/hgqt/manifestdialog.py:417 tortoisehg/hgqt/status.py:107
-#: tortoisehg/hgtk/thgmq.py:862
+#: tortoisehg/hgqt/manifestdialog.py:180 tortoisehg/hgtk/thgmq.py:862
msgid "Status"
msgstr "状态"
+#: tortoisehg/hgqt/manifestdialog.py:183 tortoisehg/hgtk/status.py:1251
+msgid "Annotate"
+msgstr ""
+
#: tortoisehg/hgqt/merge.py:36
#, python-format
msgid "Merge - %s"
@@ -1845,12 +1920,12 @@msgid "To finish merging, you need to commit the working directory."
msgstr ""
-#: tortoisehg/hgqt/merge.py:63 tortoisehg/hgqt/rebase.py:234
+#: tortoisehg/hgqt/merge.py:63 tortoisehg/hgqt/rebase.py:241
msgid "&Exit"
msgstr ""
-#: tortoisehg/hgqt/merge.py:225 tortoisehg/hgqt/revpanel.py:156
-#: tortoisehg/hgtk/merge.py:73
+#: tortoisehg/hgqt/merge.py:225 tortoisehg/hgqt/repomodel.py:544
+#: tortoisehg/hgqt/revpanel.py:156 tortoisehg/hgtk/merge.py:73
msgid "Not a head revision!"
msgstr "不是head版本"
@@ -1881,7 +1956,7 @@
#: tortoisehg/hgqt/merge.py:277
msgid ""
-"The workding directory is already <b>merged</b>. <a "
+"The working directory is already <b>merged</b>. <a "
"href=\"skip\"><b>Continue</b></a> or <a href=\"discard\"><b>discard</b></a> "
"existing merge."
msgstr ""
@@ -1905,7 +1980,7 @@msgid "Discard all changes from merge target (other) revision"
msgstr ""
-#: tortoisehg/hgqt/merge.py:343 tortoisehg/hgqt/update.py:223
+#: tortoisehg/hgqt/merge.py:343 tortoisehg/hgqt/update.py:229
#: tortoisehg/hgtk/update.py:237
msgid "&Merge"
msgstr "合并(&M)"
@@ -1991,8 +2066,8 @@msgid "Parents"
msgstr "父版本"
-#: tortoisehg/hgqt/merge.py:580 tortoisehg/hgqt/repomodel.py:514
-#: tortoisehg/hgqt/repomodel.py:516 tortoisehg/hgqt/shelve.py:24
+#: tortoisehg/hgqt/merge.py:580 tortoisehg/hgqt/repomodel.py:538
+#: tortoisehg/hgqt/repomodel.py:540 tortoisehg/hgqt/shelve.py:24
#: tortoisehg/hgqt/thgimport.py:87
msgid "Working Directory"
msgstr ""
@@ -2005,42 +2080,47 @@msgid "Commit message"
msgstr ""
-#: tortoisehg/hgqt/merge.py:634 tortoisehg/hgtk/commit.py:823
+#: tortoisehg/hgqt/merge.py:637 tortoisehg/hgtk/commit.py:823
msgid "Merge "
msgstr "合并: "
-#: tortoisehg/hgqt/merge.py:657 tortoisehg/hgqt/workbench.py:231
+#: tortoisehg/hgqt/merge.py:641
+#, python-format
+msgid "Merge with %s"
+msgstr ""
+
+#: tortoisehg/hgqt/merge.py:667 tortoisehg/hgqt/workbench.py:240
msgid "&Commit"
msgstr ""
-#: tortoisehg/hgqt/merge.py:663 tortoisehg/hgqt/qscilib.py:174
+#: tortoisehg/hgqt/merge.py:673 tortoisehg/hgqt/qscilib.py:174
#: tortoisehg/hgtk/merge.py:137
msgid "Undo"
msgstr "撤销"
-#: tortoisehg/hgqt/merge.py:673
+#: tortoisehg/hgqt/merge.py:683
msgid "Commit merged files"
msgstr ""
-#: tortoisehg/hgqt/merge.py:677
+#: tortoisehg/hgqt/merge.py:687
msgid "Committing..."
msgstr ""
-#: tortoisehg/hgqt/merge.py:678
+#: tortoisehg/hgqt/merge.py:688
msgid "Please wait while committing merged files."
msgstr ""
-#: tortoisehg/hgqt/merge.py:693
+#: tortoisehg/hgqt/merge.py:703
msgid ""
"There were <b>merge conflicts</b> that must be <a "
"href=\"resolve\"><b>resolved</b></a>"
msgstr ""
-#: tortoisehg/hgqt/merge.py:698
+#: tortoisehg/hgqt/merge.py:708
msgid "No merge conflicts, ready to commit"
msgstr ""
-#: tortoisehg/hgqt/merge.py:753
+#: tortoisehg/hgqt/merge.py:763
msgid "Merge changeset"
msgstr ""
@@ -2140,35 +2220,35 @@msgid "Guards: %d/%d"
msgstr ""
-#: tortoisehg/hgqt/mq.py:849
+#: tortoisehg/hgqt/mq.py:865
msgid "Patch commit messages..."
msgstr ""
-#: tortoisehg/hgqt/mq.py:875
+#: tortoisehg/hgqt/mq.py:891
msgid "Force use of git extended diff format (--git)"
msgstr ""
-#: tortoisehg/hgqt/mq.py:879
+#: tortoisehg/hgqt/mq.py:895
msgid "Force push or pop (--force)"
msgstr ""
-#: tortoisehg/hgqt/mq.py:883
+#: tortoisehg/hgqt/mq.py:899
msgid "Apply patch to its recorded parent (--exact)"
msgstr ""
-#: tortoisehg/hgqt/mq.py:887
+#: tortoisehg/hgqt/mq.py:903
msgid "Update date field with current date (--currentdate)"
msgstr ""
-#: tortoisehg/hgqt/mq.py:891
+#: tortoisehg/hgqt/mq.py:907
msgid "Specify an explicit date:"
msgstr ""
-#: tortoisehg/hgqt/mq.py:894
+#: tortoisehg/hgqt/mq.py:910
msgid "Update author field with current user (--currentuser)"
msgstr ""
-#: tortoisehg/hgqt/mq.py:898
+#: tortoisehg/hgqt/mq.py:914
msgid "Specify an explicit author:"
msgstr ""
@@ -2234,8 +2314,8 @@msgstr ""
#: tortoisehg/hgqt/pbranch.py:295 tortoisehg/hgqt/qqueue.py:254
-#: tortoisehg/hgqt/qqueue.py:272 tortoisehg/hgqt/thread.py:224
-#: tortoisehg/hgqt/thread.py:244 tortoisehg/hgtk/dialog.py:34
+#: tortoisehg/hgqt/qqueue.py:272 tortoisehg/hgqt/thread.py:223
+#: tortoisehg/hgqt/thread.py:243 tortoisehg/hgtk/dialog.py:34
msgid "TortoiseHg Prompt"
msgstr "TortoiseHg 提示"
@@ -2265,81 +2345,90 @@msgid "Invalid Settings - Please provide your ReviewBoard username"
msgstr ""
-#: tortoisehg/hgqt/postreview.py:104 tortoisehg/hgqt/postreview.py:120
-#: tortoisehg/hgqt/postreview.py:337 tortoisehg/hgqt/postreview.py:360
-#: tortoisehg/hgqt/postreview.py:372 tortoisehg/hgqt/postreview_ui.py:162
-#: tortoisehg/hgqt/settings.py:560
+#: tortoisehg/hgqt/postreview.py:55
+#, python-format
+msgid ""
+"Invalid reviewboard plugin. Please download the mercurial reviewboard plugin "
+"version 3.5 or higher from the website below.\n"
+"\n"
+" %s"
+msgstr ""
+
+#: tortoisehg/hgqt/postreview.py:109 tortoisehg/hgqt/postreview.py:125
+#: tortoisehg/hgqt/postreview.py:342 tortoisehg/hgqt/postreview.py:365
+#: tortoisehg/hgqt/postreview.py:377 tortoisehg/hgqt/postreview_ui.py:163
+#: tortoisehg/hgqt/settings.py:559
msgid "Review Board"
msgstr ""
-#: tortoisehg/hgqt/postreview.py:105
+#: tortoisehg/hgqt/postreview.py:110
msgid "Password:"
msgstr ""
-#: tortoisehg/hgqt/postreview.py:121 tortoisehg/hgqt/postreview.py:373
+#: tortoisehg/hgqt/postreview.py:126 tortoisehg/hgqt/postreview.py:378
#: tortoisehg/hgqt/rename.py:44 tortoisehg/hgtk/commit.py:1108
msgid "Error"
msgstr "出错"
-#: tortoisehg/hgqt/postreview.py:353
+#: tortoisehg/hgqt/postreview.py:358
#, python-format
msgid "Review draft posted to %s\n"
msgstr ""
-#: tortoisehg/hgqt/postreview.py:356
+#: tortoisehg/hgqt/postreview.py:361
#, python-format
msgid "Review published to %s\n"
msgstr ""
-#: tortoisehg/hgqt/postreview.py:360
+#: tortoisehg/hgqt/postreview.py:365
msgid "Success"
msgstr ""
-#: tortoisehg/hgqt/postreview.py:393
+#: tortoisehg/hgqt/postreview.py:401
msgid "Failed to open Review Board dialog"
msgstr ""
-#: tortoisehg/hgqt/postreview_ui.py:163
+#: tortoisehg/hgqt/postreview_ui.py:164
msgid "Repository ID:"
msgstr ""
-#: tortoisehg/hgqt/postreview_ui.py:165
+#: tortoisehg/hgqt/postreview_ui.py:166
msgid "Post Review"
msgstr ""
-#: tortoisehg/hgqt/postreview_ui.py:166
+#: tortoisehg/hgqt/postreview_ui.py:167
msgid "Review ID:"
msgstr ""
-#: tortoisehg/hgqt/postreview_ui.py:167
+#: tortoisehg/hgqt/postreview_ui.py:168
msgid "Update the fields of this existing request"
msgstr ""
-#: tortoisehg/hgqt/postreview_ui.py:168
+#: tortoisehg/hgqt/postreview_ui.py:169
msgid "Update Review"
msgstr ""
-#: tortoisehg/hgqt/postreview_ui.py:170
+#: tortoisehg/hgqt/postreview_ui.py:171
msgid "Create diff with all outgoing changes"
msgstr ""
-#: tortoisehg/hgqt/postreview_ui.py:171
+#: tortoisehg/hgqt/postreview_ui.py:172
msgid "Create diff with all changes on this branch"
msgstr ""
-#: tortoisehg/hgqt/postreview_ui.py:172
+#: tortoisehg/hgqt/postreview_ui.py:173
msgid "Publish request immediately"
msgstr ""
-#: tortoisehg/hgqt/postreview_ui.py:175
+#: tortoisehg/hgqt/postreview_ui.py:176
msgid "%p%"
msgstr ""
-#: tortoisehg/hgqt/postreview_ui.py:176
+#: tortoisehg/hgqt/postreview_ui.py:177
msgid "Connecting to Review Board..."
msgstr ""
-#: tortoisehg/hgqt/postreview_ui.py:177
+#: tortoisehg/hgqt/postreview_ui.py:178
msgid "Post &Review"
msgstr ""
@@ -2403,16 +2492,16 @@msgid "Unable to delete %d files or folders"
msgstr ""
-#: tortoisehg/hgqt/purge.py:187
+#: tortoisehg/hgqt/purge.py:192
msgid "Deleting trash folder..."
msgstr ""
-#: tortoisehg/hgqt/purge.py:225
+#: tortoisehg/hgqt/purge.py:231
#, python-format
msgid "Deleted %d files"
msgstr ""
-#: tortoisehg/hgqt/purge.py:235
+#: tortoisehg/hgqt/purge.py:241
#, python-format
msgid "Deleted %d files and %d folders"
msgstr ""
@@ -2465,7 +2554,7 @@msgstr ""
#: tortoisehg/hgqt/qqueue.py:94 tortoisehg/hgqt/rename.py:163
-#: tortoisehg/hgqt/reporegistry.py:96 tortoisehg/hgtk/bookmark.py:52
+#: tortoisehg/hgqt/reporegistry.py:101 tortoisehg/hgtk/bookmark.py:49
msgid "Rename"
msgstr "重命名"
@@ -2562,10 +2651,6 @@msgid "Cut"
msgstr ""
-#: tortoisehg/hgqt/qscilib.py:181 tortoisehg/hgqt/rename.py:159
-msgid "Copy"
-msgstr ""
-
#: tortoisehg/hgqt/qscilib.py:184
msgid "Paste"
msgstr ""
@@ -2595,11 +2680,11 @@msgid "Whitespace"
msgstr ""
-#: tortoisehg/hgqt/qscilib.py:204
+#: tortoisehg/hgqt/qscilib.py:204 tortoisehg/hgqt/qscilib.py:214
msgid "Visible"
msgstr ""
-#: tortoisehg/hgqt/qscilib.py:205
+#: tortoisehg/hgqt/qscilib.py:205 tortoisehg/hgqt/qscilib.py:215
msgid "Invisible"
msgstr ""
@@ -2607,27 +2692,31 @@msgid "AfterIndent"
msgstr ""
-#: tortoisehg/hgqt/qscilib.py:312
+#: tortoisehg/hgqt/qscilib.py:213
+msgid "EolnVisibility"
+msgstr ""
+
+#: tortoisehg/hgqt/qscilib.py:324
msgid "### regular expression ###"
msgstr ""
-#: tortoisehg/hgqt/qscilib.py:315 tortoisehg/hgtk/datamine.py:319
+#: tortoisehg/hgqt/qscilib.py:327 tortoisehg/hgtk/datamine.py:319
msgid "Regular expression search pattern"
msgstr "正则表达式"
-#: tortoisehg/hgqt/qscilib.py:322
+#: tortoisehg/hgqt/qscilib.py:334
msgid "Wrap search"
msgstr ""
-#: tortoisehg/hgqt/qscilib.py:500
+#: tortoisehg/hgqt/qscilib.py:512
msgid "Unable to read/write config file"
msgstr ""
-#: tortoisehg/hgqt/qtlib.py:76
+#: tortoisehg/hgqt/qtlib.py:78
msgid "Unable to create a config file"
msgstr ""
-#: tortoisehg/hgqt/qtlib.py:77
+#: tortoisehg/hgqt/qtlib.py:79
msgid "Insufficient access rights."
msgstr ""
@@ -2639,122 +2728,126 @@msgid "Go"
msgstr ""
-#: tortoisehg/hgqt/quickop.py:19
+#: tortoisehg/hgqt/quickop.py:20
msgid "Checkmark files to add"
msgstr ""
-#: tortoisehg/hgqt/quickop.py:20
+#: tortoisehg/hgqt/quickop.py:21
msgid "Checkmark files to forget"
msgstr ""
-#: tortoisehg/hgqt/quickop.py:20 tortoisehg/hgtk/quickop.py:20
+#: tortoisehg/hgqt/quickop.py:21 tortoisehg/hgtk/quickop.py:20
msgid "Forget"
msgstr "遗忘"
-#: tortoisehg/hgqt/quickop.py:21
+#: tortoisehg/hgqt/quickop.py:22
msgid "Checkmark files to revert"
msgstr ""
-#: tortoisehg/hgqt/quickop.py:21 tortoisehg/hgtk/p4pending.py:67
+#: tortoisehg/hgqt/quickop.py:22 tortoisehg/hgtk/p4pending.py:67
#: tortoisehg/hgtk/quickop.py:21
msgid "Revert"
msgstr "还原"
-#: tortoisehg/hgqt/quickop.py:22
+#: tortoisehg/hgqt/quickop.py:23
msgid "Checkmark files to remove"
msgstr ""
-#: tortoisehg/hgqt/quickop.py:22 tortoisehg/hgqt/sync.py:454
-#: tortoisehg/hgqt/webconf_ui.py:80 tortoisehg/hgtk/bookmark.py:50
+#: tortoisehg/hgqt/quickop.py:23 tortoisehg/hgqt/sync.py:475
+#: tortoisehg/hgqt/webconf_ui.py:80 tortoisehg/hgtk/bookmark.py:47
#: tortoisehg/hgtk/quickop.py:22 tortoisehg/hgtk/tagadd.py:40
msgid "Remove"
msgstr "移除"
-#: tortoisehg/hgqt/quickop.py:77 tortoisehg/hgtk/quickop.py:133
+#: tortoisehg/hgqt/quickop.py:78 tortoisehg/hgtk/quickop.py:133
msgid "Do not save backup files (*.orig)"
msgstr "不保存备份文件 (*.orig)"
-#: tortoisehg/hgqt/quickop.py:134 tortoisehg/hgtk/quickop.py:261
+#: tortoisehg/hgqt/quickop.py:133 tortoisehg/hgtk/quickop.py:261
msgid "No files selected"
msgstr "无文件被选中"
-#: tortoisehg/hgqt/quickop.py:135 tortoisehg/hgtk/quickop.py:262
+#: tortoisehg/hgqt/quickop.py:134 tortoisehg/hgtk/quickop.py:262
msgid "No operation to perform"
msgstr "无可执行的操作"
-#: tortoisehg/hgqt/rebase.py:39
+#: tortoisehg/hgqt/rebase.py:40
msgid "Rebase changeset and descendants"
msgstr ""
-#: tortoisehg/hgqt/rebase.py:47
+#: tortoisehg/hgqt/rebase.py:48
msgid "To rebase destination"
msgstr ""
-#: tortoisehg/hgqt/rebase.py:59
+#: tortoisehg/hgqt/rebase.py:60
msgid "Keep original changesets"
msgstr ""
-#: tortoisehg/hgqt/rebase.py:63
+#: tortoisehg/hgqt/rebase.py:64
msgid "Force detach of rebased changesets from their original branch"
msgstr ""
-#: tortoisehg/hgqt/rebase.py:75
+#: tortoisehg/hgqt/rebase.py:76
msgid ""
"Rebase unpublished onto Subversion head (override source, destination)"
msgstr ""
-#: tortoisehg/hgqt/rebase.py:90 tortoisehg/hgtk/history.py:1599
+#: tortoisehg/hgqt/rebase.py:91 tortoisehg/hgtk/history.py:1594
#: tortoisehg/hgtk/synch.py:153
msgid "Rebase"
msgstr "重定位"
-#: tortoisehg/hgqt/rebase.py:93 tortoisehg/hgqt/rebase.py:248
+#: tortoisehg/hgqt/rebase.py:94 tortoisehg/hgqt/rebase.py:255
#: tortoisehg/hgtk/gdialog.py:863
msgid "Abort"
msgstr "中止"
-#: tortoisehg/hgqt/rebase.py:110
+#: tortoisehg/hgqt/rebase.py:111
#, python-format
msgid "Rebase - %s"
msgstr ""
-#: tortoisehg/hgqt/rebase.py:134
+#: tortoisehg/hgqt/rebase.py:135
msgid ""
"Before rebase, you must <a href=\"commit\"><b>commit</b></a> or <a "
"href=\"discard\"><b>discard</b></a> changes."
msgstr ""
-#: tortoisehg/hgqt/rebase.py:139 tortoisehg/hgqt/rebase.py:190
+#: tortoisehg/hgqt/rebase.py:140 tortoisehg/hgqt/rebase.py:197
msgid "You may continue the rebase"
msgstr ""
-#: tortoisehg/hgqt/rebase.py:176
+#: tortoisehg/hgqt/rebase.py:179
msgid "Rebase is complete"
msgstr ""
-#: tortoisehg/hgqt/rebase.py:184
+#: tortoisehg/hgqt/rebase.py:181
+msgid "Rebase aborted"
+msgstr ""
+
+#: tortoisehg/hgqt/rebase.py:191
msgid ""
"Rebase generated merge <b>conflicts</b> that must be <a "
"href=\"resolve\"><b>resolved</b></a>"
msgstr ""
-#: tortoisehg/hgqt/rebase.py:232
+#: tortoisehg/hgqt/rebase.py:239
msgid "Exiting with an unfinished rebase is not recommended."
msgstr ""
-#: tortoisehg/hgqt/rebase.py:233
+#: tortoisehg/hgqt/rebase.py:240
msgid "Consider aborting the rebase first."
msgstr ""
-#: tortoisehg/hgqt/rebase.py:245
+#: tortoisehg/hgqt/rebase.py:252
msgid "Rebase already in progress"
msgstr ""
-#: tortoisehg/hgqt/rebase.py:246
+#: tortoisehg/hgqt/rebase.py:253
msgid "Resuming rebase already in progress"
msgstr ""
-#: tortoisehg/hgqt/rebase.py:249
+#: tortoisehg/hgqt/rebase.py:256
msgid "You must provide source and dest arguments"
msgstr ""
@@ -2771,11 +2864,42 @@msgid "Mark this chunk as unresolved"
msgstr ""
-#: tortoisehg/hgqt/rejects.py:246
+#: tortoisehg/hgqt/rejects.py:98
+msgid "Unable to merge rejects"
+msgstr ""
+
+#: tortoisehg/hgqt/rejects.py:99
+msgid "This appears to be a binary file"
+msgstr ""
+
+#: tortoisehg/hgqt/rejects.py:194 tortoisehg/hgtk/commit.py:1352
+#: tortoisehg/hgtk/commit.py:1357
+msgid "Warning"
+msgstr "警告"
+
+#: tortoisehg/hgqt/rejects.py:195
+msgid ""
+"You have marked all rejected patch chunks as resolved yet you have not "
+"modified the file on the edit panel.\n"
+"\n"
+"This probably means that no code from any of the rejected patch chunks made "
+"it into the file.\n"
+"\n"
+"Are you sure that you want to leave the file as is and consider all the "
+"rejected patch chunks as resolved?\n"
+"\n"
+"Doing so may delete them from a shelve, for example, which would mean that "
+"you would lose them forever!\n"
+"\n"
+"Click Yes to accept the file as is or No to continue resolving the rejected "
+"patch chunks."
+msgstr ""
+
+#: tortoisehg/hgqt/rejects.py:275
msgid "Filename required"
msgstr ""
-#: tortoisehg/hgqt/rejects.py:247
+#: tortoisehg/hgqt/rejects.py:276
msgid "You must provide the path to a file"
msgstr ""
@@ -2823,39 +2947,39 @@msgid "Select Destination File"
msgstr "选择目标文件"
-#: tortoisehg/hgqt/rename.py:254
+#: tortoisehg/hgqt/rename.py:255
msgid "Source does not exists."
msgstr ""
-#: tortoisehg/hgqt/rename.py:259
+#: tortoisehg/hgqt/rename.py:260
msgid "The source must be within the repository tree."
msgstr ""
-#: tortoisehg/hgqt/rename.py:264
+#: tortoisehg/hgqt/rename.py:265
msgid "The destination must be within the repository tree."
msgstr ""
-#: tortoisehg/hgqt/rename.py:268
+#: tortoisehg/hgqt/rename.py:269
msgid "Please give a destination that differs from the source"
msgstr ""
-#: tortoisehg/hgqt/rename.py:272
+#: tortoisehg/hgqt/rename.py:273
msgid "Destination file already exists."
msgstr ""
-#: tortoisehg/hgqt/rename.py:273
+#: tortoisehg/hgqt/rename.py:274
msgid "Are you sure you want to overwrite it ?"
msgstr ""
-#: tortoisehg/hgqt/rename.py:287
+#: tortoisehg/hgqt/rename.py:288
msgid "Cannot do a pure casefolding copy on Windows"
msgstr ""
-#: tortoisehg/hgqt/rename.py:297
+#: tortoisehg/hgqt/rename.py:298
msgid "The following error was caught while copying:"
msgstr ""
-#: tortoisehg/hgqt/rename.py:299
+#: tortoisehg/hgqt/rename.py:300
msgid "The following error was caught while renaming:"
msgstr ""
@@ -2909,239 +3033,294 @@msgid "Include all ancestors"
msgstr ""
-#: tortoisehg/hgqt/repomodel.py:188
+#: tortoisehg/hgqt/repomodel.py:39
+msgctxt "column header"
+msgid "Graph"
+msgstr ""
+
+#: tortoisehg/hgqt/repomodel.py:40
+msgctxt "column header"
+msgid "Rev"
+msgstr ""
+
+#: tortoisehg/hgqt/repomodel.py:41
+msgctxt "column header"
+msgid "Branch"
+msgstr ""
+
+#: tortoisehg/hgqt/repomodel.py:42
+msgctxt "column header"
+msgid "Description"
+msgstr ""
+
+#: tortoisehg/hgqt/repomodel.py:43
+msgctxt "column header"
+msgid "Author"
+msgstr ""
+
+#: tortoisehg/hgqt/repomodel.py:44
+msgctxt "column header"
+msgid "Tags"
+msgstr ""
+
+#: tortoisehg/hgqt/repomodel.py:45
+msgctxt "column header"
+msgid "Node"
+msgstr ""
+
+#: tortoisehg/hgqt/repomodel.py:46
+msgctxt "column header"
+msgid "Age"
+msgstr ""
+
+#: tortoisehg/hgqt/repomodel.py:47
+msgctxt "column header"
+msgid "Local Time"
+msgstr ""
+
+#: tortoisehg/hgqt/repomodel.py:48
+msgctxt "column header"
+msgid "UTC Time"
+msgstr ""
+
+#: tortoisehg/hgqt/repomodel.py:49
+msgctxt "column header"
+msgid "Changes"
+msgstr ""
+
+#: tortoisehg/hgqt/repomodel.py:203
#, python-format
msgid "filling (%d)"
msgstr ""
-#: tortoisehg/hgqt/repomodel.py:508
+#: tortoisehg/hgqt/repomodel.py:531
msgid "Mercurial User"
msgstr ""
-#: tortoisehg/hgqt/reporegistry.py:90 tortoisehg/hgqt/webconf_ui.py:76
+#: tortoisehg/hgqt/reporegistry.py:95 tortoisehg/hgqt/webconf_ui.py:76
msgid "Open"
msgstr ""
-#: tortoisehg/hgqt/reporegistry.py:91
+#: tortoisehg/hgqt/reporegistry.py:96
msgid "Open the repository in a new tab"
msgstr ""
-#: tortoisehg/hgqt/reporegistry.py:92
+#: tortoisehg/hgqt/reporegistry.py:97
msgid "Open All"
msgstr ""
-#: tortoisehg/hgqt/reporegistry.py:93
+#: tortoisehg/hgqt/reporegistry.py:98
msgid "Open all repositories in new tabs"
msgstr ""
-#: tortoisehg/hgqt/reporegistry.py:94 tortoisehg/hgqt/reporegistry.py:161
+#: tortoisehg/hgqt/reporegistry.py:99 tortoisehg/hgqt/reporegistry.py:166
msgid "New Group"
msgstr ""
-#: tortoisehg/hgqt/reporegistry.py:95
+#: tortoisehg/hgqt/reporegistry.py:100
msgid "Create a new group"
msgstr ""
-#: tortoisehg/hgqt/reporegistry.py:97
+#: tortoisehg/hgqt/reporegistry.py:102
msgid "Rename the entry"
msgstr ""
-#: tortoisehg/hgqt/reporegistry.py:98
+#: tortoisehg/hgqt/reporegistry.py:103
msgid "Settings..."
msgstr ""
-#: tortoisehg/hgqt/reporegistry.py:99
+#: tortoisehg/hgqt/reporegistry.py:104
msgid "View the repository's settings"
msgstr ""
-#: tortoisehg/hgqt/reporegistry.py:100
+#: tortoisehg/hgqt/reporegistry.py:105
msgid "Remove from registry"
msgstr ""
-#: tortoisehg/hgqt/reporegistry.py:101
+#: tortoisehg/hgqt/reporegistry.py:106
msgid ""
"Remove the node and all its subnodes. Repositories are not deleted from disk."
msgstr ""
-#: tortoisehg/hgqt/reporegistry.py:104 tortoisehg/util/menuthg.py:25
+#: tortoisehg/hgqt/reporegistry.py:109 tortoisehg/util/menuthg.py:25
msgid "Clone..."
msgstr "克隆..."
-#: tortoisehg/hgqt/reporegistry.py:105
+#: tortoisehg/hgqt/reporegistry.py:110
msgid "Clone Repository"
msgstr ""
-#: tortoisehg/hgqt/reporegistry.py:106 tortoisehg/hgqt/sync.py:452
-#: tortoisehg/hgqt/workbench.py:279
+#: tortoisehg/hgqt/reporegistry.py:111 tortoisehg/hgqt/sync.py:473
+#: tortoisehg/hgqt/workbench.py:288
msgid "Explore"
msgstr ""
-#: tortoisehg/hgqt/reporegistry.py:107
+#: tortoisehg/hgqt/reporegistry.py:112
msgid "Open the repository in Windows Explorer"
msgstr ""
-#: tortoisehg/hgqt/reporegistry.py:108 tortoisehg/hgqt/sync.py:453
-#: tortoisehg/hgqt/workbench.py:282
+#: tortoisehg/hgqt/reporegistry.py:113 tortoisehg/hgqt/sync.py:474
+#: tortoisehg/hgqt/workbench.py:291
msgid "Terminal"
msgstr ""
-#: tortoisehg/hgqt/reporegistry.py:109
+#: tortoisehg/hgqt/reporegistry.py:114
msgid "Open a shell terminal in repository root"
msgstr ""
-#: tortoisehg/hgqt/reporegistry.py:110
+#: tortoisehg/hgqt/reporegistry.py:115
msgid "Add repository..."
msgstr ""
-#: tortoisehg/hgqt/reporegistry.py:111
+#: tortoisehg/hgqt/reporegistry.py:116
msgid "Add a repository to this group"
msgstr ""
-#: tortoisehg/hgqt/reporegistry.py:221
+#: tortoisehg/hgqt/reporegistry.py:226
msgid "Repository Registry"
msgstr ""
-#: tortoisehg/hgqt/repotreeitem.py:228
+#: tortoisehg/hgqt/repotreeitem.py:232
#, python-format
msgid "Local Repository %s"
msgstr ""
-#: tortoisehg/hgqt/repotreeitem.py:282 tortoisehg/hgqt/wctxactions.py:300
+#: tortoisehg/hgqt/repotreeitem.py:286 tortoisehg/hgqt/wctxactions.py:302
msgid "&Delete"
msgstr ""
-#: tortoisehg/hgqt/repotreeitem.py:285 tortoisehg/hgtk/thgmq.py:372
+#: tortoisehg/hgqt/repotreeitem.py:289 tortoisehg/hgtk/thgmq.py:372
#: tortoisehg/hgtk/thgmq.py:376 tortoisehg/hgtk/thgshelve.py:224
msgid "Confirm Delete"
msgstr "确认删除"
-#: tortoisehg/hgqt/repotreeitem.py:286
+#: tortoisehg/hgqt/repotreeitem.py:290
#, python-format
msgid "Delete Group '%s' and all its entries?"
msgstr ""
-#: tortoisehg/hgqt/repotreeitem.py:302
+#: tortoisehg/hgqt/repotreeitem.py:306
msgid "default"
msgstr ""
-#: tortoisehg/hgqt/repotreemodel.py:143 tortoisehg/hgqt/resolve.py:360
+#: tortoisehg/hgqt/repotreemodel.py:143 tortoisehg/hgqt/resolve.py:394
#: tortoisehg/hgqt/sync.py:199 tortoisehg/hgqt/webconf.py:266
msgid "Path"
msgstr ""
-#: tortoisehg/hgqt/repotreemodel.py:207
+#: tortoisehg/hgqt/repotreemodel.py:209
msgid "Select repository directory to add"
msgstr ""
-#: tortoisehg/hgqt/repotreemodel.py:220
+#: tortoisehg/hgqt/repotreemodel.py:222
msgid "Failed to add repository"
msgstr ""
-#: tortoisehg/hgqt/repotreemodel.py:221 tortoisehg/hgqt/workbench.py:584
+#: tortoisehg/hgqt/repotreemodel.py:223 tortoisehg/hgqt/workbench.py:596
#, python-format
msgid "%s is not a valid repository"
msgstr ""
-#: tortoisehg/hgqt/repoview.py:193
+#: tortoisehg/hgqt/repoview.py:197
#, python-format
msgid "Goto ancestor of %s and %s"
msgstr ""
-#: tortoisehg/hgqt/repoview.py:229
+#: tortoisehg/hgqt/repoview.py:233
#, python-format
msgid "Can't find revision '%s'"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:103
+#: tortoisehg/hgqt/repowidget.py:104
msgid "Pull incoming changesets into your repository"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:106 tortoisehg/hgtk/history.py:1886
+#: tortoisehg/hgqt/repowidget.py:107 tortoisehg/hgtk/history.py:1881
msgid "Reject"
msgstr "拒绝"
-#: tortoisehg/hgqt/repowidget.py:107
+#: tortoisehg/hgqt/repowidget.py:108
msgid "Reject incoming changesets"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:158
+#: tortoisehg/hgqt/repowidget.py:159
msgid "Revision details"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:166 tortoisehg/hgtk/gdialog.py:495
+#: tortoisehg/hgqt/repowidget.py:167 tortoisehg/hgtk/gdialog.py:495
#: tortoisehg/hgtk/thgconfig.py:170 tortoisehg/util/menuthg.py:52
msgid "Synchronize"
msgstr "同步"
-#: tortoisehg/hgqt/repowidget.py:170
+#: tortoisehg/hgqt/repowidget.py:171
msgid "Manifest"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:179 tortoisehg/hgtk/commit.py:227
+#: tortoisehg/hgqt/repowidget.py:180 tortoisehg/hgtk/commit.py:227
#: tortoisehg/hgtk/commit.py:309 tortoisehg/hgtk/history.py:258
#: tortoisehg/hgtk/history.py:368 tortoisehg/hgtk/thgimport.py:111
msgid "Patch Queue"
msgstr "补丁队列"
-#: tortoisehg/hgqt/repowidget.py:187 tortoisehg/hgtk/history.py:266
+#: tortoisehg/hgqt/repowidget.py:188 tortoisehg/hgtk/history.py:266
#: tortoisehg/hgtk/history.py:385
msgid "Patch Branch"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:200
+#: tortoisehg/hgqt/repowidget.py:201
#, python-format
msgid "%s <incoming>"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:486
+#: tortoisehg/hgqt/repowidget.py:493
#, python-format
msgid "%s - verify repository"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:493
+#: tortoisehg/hgqt/repowidget.py:500
#, python-format
msgid "%s - recover repository"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:509
+#: tortoisehg/hgqt/repowidget.py:516
msgid "No transaction available"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:510
+#: tortoisehg/hgqt/repowidget.py:517
msgid "There is no rollback transaction available"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:513 tortoisehg/hgtk/commit.py:1035
+#: tortoisehg/hgqt/repowidget.py:520 tortoisehg/hgtk/commit.py:1035
msgid "Undo last commit?"
msgstr "撤销最后提交?"
-#: tortoisehg/hgqt/repowidget.py:514
+#: tortoisehg/hgqt/repowidget.py:521
#, python-format
msgid "Undo most recent commit (%d), preserving file changes?"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:518
+#: tortoisehg/hgqt/repowidget.py:525
msgid "Undo last transaction?"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:519
+#: tortoisehg/hgqt/repowidget.py:526
#, python-format
msgid "Rollback to revision %d (undo %s)?"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:525 tortoisehg/hgqt/run.py:466
+#: tortoisehg/hgqt/repowidget.py:532 tortoisehg/hgqt/run.py:466
msgid "Repository Error"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:526
+#: tortoisehg/hgqt/repowidget.py:533
msgid "Unable to determine working copy revision\n"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:530
+#: tortoisehg/hgqt/repowidget.py:537
msgid "Remove current working revision?"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:531
+#: tortoisehg/hgqt/repowidget.py:538
#, python-format
msgid ""
"Your current working revision (%d) will be removed by this rollback, leaving "
@@ -3149,205 +3328,205 @@" Continue?"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:648
+#: tortoisehg/hgqt/repowidget.py:655
msgid "Repository stripped, incoming preview cleared"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:653
+#: tortoisehg/hgqt/repowidget.py:660
msgid "Repository stripped, revision set cleared"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:766
+#: tortoisehg/hgqt/repowidget.py:776
msgid "Commit tab cannot exit"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:770
+#: tortoisehg/hgqt/repowidget.py:780
msgid "Sync tab cannot exit"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:774
+#: tortoisehg/hgqt/repowidget.py:784
msgid "MQ tab cannot exit"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:778
+#: tortoisehg/hgqt/repowidget.py:788
msgid "Search tab cannot exit"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:781
+#: tortoisehg/hgqt/repowidget.py:791
msgid "Repository command still running"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:936 tortoisehg/util/menuthg.py:58
+#: tortoisehg/hgqt/repowidget.py:946 tortoisehg/util/menuthg.py:58
msgid "Update..."
msgstr "更新..."
-#: tortoisehg/hgqt/repowidget.py:939 tortoisehg/hgqt/repowidget.py:1149
+#: tortoisehg/hgqt/repowidget.py:949 tortoisehg/hgqt/repowidget.py:1173
msgid "Visual diff..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:941
+#: tortoisehg/hgqt/repowidget.py:951
msgid "Diff to local..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:943
+#: tortoisehg/hgqt/repowidget.py:953
msgid "Browse at rev..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:946
+#: tortoisehg/hgqt/repowidget.py:956
msgid "Merge with local..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:949
+#: tortoisehg/hgqt/repowidget.py:959
msgid "Tag..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:951
+#: tortoisehg/hgqt/repowidget.py:961
msgid "Bookmark..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:954 tortoisehg/hgtk/history.py:1290
+#: tortoisehg/hgqt/repowidget.py:964 tortoisehg/hgtk/history.py:1290
msgid "Backout..."
msgstr "撤销..."
-#: tortoisehg/hgqt/repowidget.py:958 tortoisehg/hgtk/history.py:1293
+#: tortoisehg/hgqt/repowidget.py:968 tortoisehg/hgtk/history.py:1293
msgid "Export"
msgstr "导出"
-#: tortoisehg/hgqt/repowidget.py:959
+#: tortoisehg/hgqt/repowidget.py:969
msgid "Export patch..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:961
+#: tortoisehg/hgqt/repowidget.py:971
msgid "Email patch..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:963
+#: tortoisehg/hgqt/repowidget.py:973
msgid "Archive..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:965 tortoisehg/hgqt/wctxactions.py:46
+#: tortoisehg/hgqt/repowidget.py:975 tortoisehg/hgqt/wctxactions.py:46
msgid "Copy patch"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:969
+#: tortoisehg/hgqt/repowidget.py:979
msgid "Copy hash"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:973
+#: tortoisehg/hgqt/repowidget.py:983
msgid "Transplant to local"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:977
+#: tortoisehg/hgqt/repowidget.py:987
msgid "Modify history"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:978 tortoisehg/hgqt/repowidget.py:1110
+#: tortoisehg/hgqt/repowidget.py:988 tortoisehg/hgqt/repowidget.py:1127
msgid "QGoto"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:980
+#: tortoisehg/hgqt/repowidget.py:990
msgid "Import to MQ"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:982
+#: tortoisehg/hgqt/repowidget.py:992
msgid "Finish patch"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:985
+#: tortoisehg/hgqt/repowidget.py:995
msgid "Rebase..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:988
+#: tortoisehg/hgqt/repowidget.py:998
msgid "Strip..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:991
+#: tortoisehg/hgqt/repowidget.py:1001
msgid "Post to Review Board..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:1046
+#: tortoisehg/hgqt/repowidget.py:1056
msgid "Unable to compress history"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:1047
+#: tortoisehg/hgqt/repowidget.py:1057
msgid "Selected changeset pair not related"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:1055
+#: tortoisehg/hgqt/repowidget.py:1065
msgid "Visual Diff..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:1056 tortoisehg/hgqt/repowidget.py:1131
+#: tortoisehg/hgqt/repowidget.py:1066 tortoisehg/hgqt/repowidget.py:1148
msgid "Export Selected..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:1057 tortoisehg/hgqt/repowidget.py:1132
+#: tortoisehg/hgqt/repowidget.py:1067 tortoisehg/hgqt/repowidget.py:1149
msgid "Email Selected..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:1058
+#: tortoisehg/hgqt/repowidget.py:1068
msgid "Export DAG Range..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:1059
+#: tortoisehg/hgqt/repowidget.py:1069
msgid "Email DAG Range..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:1060
+#: tortoisehg/hgqt/repowidget.py:1070
msgid "Bisect - Good, Bad..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:1061
+#: tortoisehg/hgqt/repowidget.py:1071
msgid "Bisect - Bad, Good..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:1062
+#: tortoisehg/hgqt/repowidget.py:1072
msgid "Compress History..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:1070
-msgid "Post Pair to Review Board..."
-msgstr ""
-
-#: tortoisehg/hgqt/repowidget.py:1089
+#: tortoisehg/hgqt/repowidget.py:1081 tortoisehg/hgqt/repowidget.py:1158
+msgid "Transplant Selected to local"
+msgstr ""
+
+#: tortoisehg/hgqt/repowidget.py:1087 tortoisehg/hgqt/repowidget.py:1164
+msgid "Post Selected to Review Board..."
+msgstr ""
+
+#: tortoisehg/hgqt/repowidget.py:1106
msgid ""
"<p>ATTENTION!<br>Guard or comment found.<br>Reordering patches will destroy "
"them.<br><br>Continue?</p>"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:1111
+#: tortoisehg/hgqt/repowidget.py:1128
msgid "QPush --move"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:1112
+#: tortoisehg/hgqt/repowidget.py:1129
msgid "Fold patches..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:1113
+#: tortoisehg/hgqt/repowidget.py:1130
msgid "Delete patches..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:1114
+#: tortoisehg/hgqt/repowidget.py:1131
msgid "Reorder patches..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:1140
-msgid "Post Selected to Review Board..."
-msgstr ""
-
-#: tortoisehg/hgqt/repowidget.py:1148
+#: tortoisehg/hgqt/repowidget.py:1172
msgid "Pull to here..."
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:1161
+#: tortoisehg/hgqt/repowidget.py:1185
msgid "Export patch"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:1320
+#: tortoisehg/hgqt/repowidget.py:1350
msgid "Unable to start"
msgstr ""
-#: tortoisehg/hgqt/repowidget.py:1321
+#: tortoisehg/hgqt/repowidget.py:1351
msgid "Previous command is still running"
msgstr ""
@@ -3356,142 +3535,150 @@msgid "Resolve conflicts - %s"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:43
+#: tortoisehg/hgqt/resolve.py:54
+msgid "Local revision information"
+msgstr ""
+
+#: tortoisehg/hgqt/resolve.py:64
+msgid "Other revision information"
+msgstr ""
+
+#: tortoisehg/hgqt/resolve.py:77
msgid "Unresolved conflicts"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:57
-msgid "Auto Resolve"
-msgstr ""
-
-#: tortoisehg/hgqt/resolve.py:58
-msgid "Attempt automatic merge"
-msgstr ""
-
-#: tortoisehg/hgqt/resolve.py:60
-msgid "Manual Resolve"
-msgstr ""
-
-#: tortoisehg/hgqt/resolve.py:61
-msgid "Merge with selected merge tool"
-msgstr ""
-
-#: tortoisehg/hgqt/resolve.py:63
+#: tortoisehg/hgqt/resolve.py:91
+msgid "Mercurial Resolve"
+msgstr ""
+
+#: tortoisehg/hgqt/resolve.py:92
+msgid "Attempt automatic (trivial) merge"
+msgstr ""
+
+#: tortoisehg/hgqt/resolve.py:94
+msgid "Tool Resolve"
+msgstr ""
+
+#: tortoisehg/hgqt/resolve.py:95
+msgid "Merge using selected merge tool"
+msgstr ""
+
+#: tortoisehg/hgqt/resolve.py:97
msgid "Take Local"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:64
+#: tortoisehg/hgqt/resolve.py:98
msgid "Accept the local file version (yours)"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:66
+#: tortoisehg/hgqt/resolve.py:100
msgid "Take Other"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:67
+#: tortoisehg/hgqt/resolve.py:101
msgid "Accept the other file version (theirs)"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:69
+#: tortoisehg/hgqt/resolve.py:103
msgid "Mark as Resolved"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:70
+#: tortoisehg/hgqt/resolve.py:104
msgid "Mark this file as resolved"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:80
+#: tortoisehg/hgqt/resolve.py:114
msgid "Resolved conflicts"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:95
+#: tortoisehg/hgqt/resolve.py:129
msgid "Edit resolved file"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:97
+#: tortoisehg/hgqt/resolve.py:131
msgid "3-Way Diff"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:98
+#: tortoisehg/hgqt/resolve.py:132
msgid "Visual three-way diff"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:100 tortoisehg/hgtk/history.py:1271
+#: tortoisehg/hgqt/resolve.py:134 tortoisehg/hgtk/history.py:1271
msgid "Diff to Local"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:101
+#: tortoisehg/hgqt/resolve.py:135
msgid "Visual diff between resolved file and first parent"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:103
+#: tortoisehg/hgqt/resolve.py:137
msgid "Diff to Other"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:104
+#: tortoisehg/hgqt/resolve.py:138
msgid "Visual diff between resolved file and second parent"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:106
+#: tortoisehg/hgqt/resolve.py:140
msgid "Mark as Unresolved"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:107
+#: tortoisehg/hgqt/resolve.py:141
msgid "Mark this file as unresolved"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:124
+#: tortoisehg/hgqt/resolve.py:158
msgid "Detected merge/diff tools:"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:128
+#: tortoisehg/hgqt/resolve.py:162
msgid "Command output"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:208
+#: tortoisehg/hgqt/resolve.py:242
msgid "Unable to show subrepository files"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:209
+#: tortoisehg/hgqt/resolve.py:243
msgid ""
"Visual diffs are not supported for files in subrepositories. They will not "
"be shown."
msgstr ""
-#: tortoisehg/hgqt/resolve.py:303
+#: tortoisehg/hgqt/resolve.py:337
msgid "There are merge <b>conflicts</b> to be resolved"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:305
+#: tortoisehg/hgqt/resolve.py:339
msgid "All conflicts are resolved."
msgstr ""
-#: tortoisehg/hgqt/resolve.py:307
+#: tortoisehg/hgqt/resolve.py:341
msgid "There are no conflicting file merges."
msgstr ""
-#: tortoisehg/hgqt/resolve.py:314
+#: tortoisehg/hgqt/resolve.py:348
msgid "Exit without finishing resolve?"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:315
+#: tortoisehg/hgqt/resolve.py:349
msgid "Unresolved conflicts remain. Are you sure?"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:316 tortoisehg/hgqt/workbench.py:190
+#: tortoisehg/hgqt/resolve.py:350 tortoisehg/hgqt/workbench.py:199
msgid "E&xit"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:360
+#: tortoisehg/hgqt/resolve.py:394
msgid "Ext"
msgstr ""
-#: tortoisehg/hgqt/resolve.py:360 tortoisehg/hgqt/thgimport.py:85
+#: tortoisehg/hgqt/resolve.py:394 tortoisehg/hgqt/thgimport.py:85
#: tortoisehg/hgtk/thgimport.py:110
msgid "Repository"
msgstr "仓库"
-#: tortoisehg/hgqt/resolve.py:403
+#: tortoisehg/hgqt/resolve.py:437
msgid "<default>"
msgstr ""
@@ -3499,7 +3686,7 @@msgid "File List Toolbar"
msgstr ""
-#: tortoisehg/hgqt/revdetails.py:182
+#: tortoisehg/hgqt/revdetails.py:187
msgid "Update to this revision"
msgstr ""
@@ -3517,7 +3704,7 @@msgid "Revert all files to this revision"
msgstr ""
-#: tortoisehg/hgqt/revert.py:51 tortoisehg/hgqt/wctxactions.py:242
+#: tortoisehg/hgqt/revert.py:51 tortoisehg/hgqt/wctxactions.py:244
#: tortoisehg/hgtk/statusact.py:146
msgid "Confirm Revert"
msgstr "确认还原"
@@ -3783,8 +3970,8 @@msgid "thg: unknown command '%s'\n"
msgstr ""
-#: tortoisehg/hgqt/run.py:245 tortoisehg/hgqt/thread.py:321
-#: tortoisehg/hgqt/thread.py:331 tortoisehg/hgtk/hgtk.py:219
+#: tortoisehg/hgqt/run.py:245 tortoisehg/hgqt/thread.py:320
+#: tortoisehg/hgqt/thread.py:330 tortoisehg/hgtk/hgtk.py:219
#, python-format
msgid "abort: %s!\n"
msgstr "中止: %s!\n"
@@ -4347,19 +4534,19 @@msgid "<unspecified>"
msgstr "<未指定>"
-#: tortoisehg/hgqt/settings.py:264 tortoisehg/hgtk/thgconfig.py:43
+#: tortoisehg/hgqt/settings.py:263 tortoisehg/hgtk/thgconfig.py:43
msgid "UI Language"
msgstr ""
-#: tortoisehg/hgqt/settings.py:266 tortoisehg/hgtk/thgconfig.py:44
+#: tortoisehg/hgqt/settings.py:265 tortoisehg/hgtk/thgconfig.py:44
msgid "Specify your preferred user interface language (restart needed)"
msgstr ""
-#: tortoisehg/hgqt/settings.py:268 tortoisehg/hgtk/thgconfig.py:45
+#: tortoisehg/hgqt/settings.py:267 tortoisehg/hgtk/thgconfig.py:45
msgid "Three-way Merge Tool"
msgstr "3路合并工具"
-#: tortoisehg/hgqt/settings.py:270
+#: tortoisehg/hgqt/settings.py:269
msgid ""
"Graphical merge program for resolving merge conflicts. If left unspecified, "
"Mercurial will use the first applicable tool it finds on your system or use "
@@ -4369,22 +4556,22 @@"manual merging"
msgstr ""
-#: tortoisehg/hgqt/settings.py:276 tortoisehg/hgtk/thgconfig.py:52
+#: tortoisehg/hgqt/settings.py:275 tortoisehg/hgtk/thgconfig.py:52
msgid "Visual Diff Tool"
msgstr ""
-#: tortoisehg/hgqt/settings.py:278 tortoisehg/hgtk/thgconfig.py:53
+#: tortoisehg/hgqt/settings.py:277 tortoisehg/hgtk/thgconfig.py:53
msgid ""
"Specify visual diff tool, as described in the [merge-tools] section of your "
"Mercurial configuration files. If left unspecified, TortoiseHg will use the "
"selected merge tool. Failing that it uses the first applicable tool it finds."
msgstr ""
-#: tortoisehg/hgqt/settings.py:282 tortoisehg/hgtk/thgconfig.py:57
+#: tortoisehg/hgqt/settings.py:281 tortoisehg/hgtk/thgconfig.py:57
msgid "Visual Editor"
msgstr "GUI编辑器"
-#: tortoisehg/hgqt/settings.py:283
+#: tortoisehg/hgqt/settings.py:282
#, python-format
msgid ""
"Specify the visual editor used to view files. Format:<br>myeditor -flags "
@@ -4392,51 +4579,51 @@"href=\"%s\">OpenAtLine</a>"
msgstr ""
+#: tortoisehg/hgqt/settings.py:286
+msgid "Shell"
+msgstr ""
+
#: tortoisehg/hgqt/settings.py:287
-msgid "Shell"
+msgid "Specify your preferred terminal shell application"
msgstr ""
#: tortoisehg/hgqt/settings.py:288
-msgid "Specify your preferred terminal shell application"
+msgid "Immediate Operations"
msgstr ""
#: tortoisehg/hgqt/settings.py:289
-msgid "Immediate Operations"
-msgstr ""
-
-#: tortoisehg/hgqt/settings.py:290
msgid ""
"Space separated list of shell operations you would like to be performed "
"immediately, without user interaction. Commands are \"add remove revert "
"forget\". Default: None (leave blank)"
msgstr ""
+#: tortoisehg/hgqt/settings.py:293
+msgid "Poll Frequency"
+msgstr ""
+
#: tortoisehg/hgqt/settings.py:294
-msgid "Poll Frequency"
-msgstr ""
-
-#: tortoisehg/hgqt/settings.py:295
msgid ""
"The period (in milliseconds) between modification time polling of key "
"repository files, looking for changes. Values under 100ms are ignored. "
"Default: 500"
msgstr ""
-#: tortoisehg/hgqt/settings.py:298 tortoisehg/hgtk/thgconfig.py:63
+#: tortoisehg/hgqt/settings.py:297 tortoisehg/hgtk/thgconfig.py:63
msgid "Tab Width"
msgstr "Tab 宽度"
-#: tortoisehg/hgqt/settings.py:299
+#: tortoisehg/hgqt/settings.py:298
msgid ""
"Specify the number of spaces that tabs expand to in various TortoiseHg "
"windows. Default: 0, Not expanded"
msgstr ""
-#: tortoisehg/hgqt/settings.py:302 tortoisehg/hgtk/thgconfig.py:67
+#: tortoisehg/hgqt/settings.py:301 tortoisehg/hgtk/thgconfig.py:67
msgid "Max Diff Size"
msgstr "最大差分大小"
-#: tortoisehg/hgqt/settings.py:303
+#: tortoisehg/hgqt/settings.py:302
msgid ""
"The maximum size file (in KB) that TortoiseHg will show changes for in the "
"changelog, status, and commit windows. A value of zero implies no limit. "
@@ -4444,41 +4631,41 @@msgstr ""
"设置TortoiseHg在修改历史, 状态栏及提交窗口中所能显示的最大差分大小(以KB计算). 设为0表示不做限制. 默认: 1024 (1MB)"
-#: tortoisehg/hgqt/settings.py:306 tortoisehg/hgtk/thgconfig.py:75
+#: tortoisehg/hgqt/settings.py:305 tortoisehg/hgtk/thgconfig.py:75
msgid "Capture stderr"
msgstr ""
-#: tortoisehg/hgqt/settings.py:307 tortoisehg/hgtk/thgconfig.py:76
+#: tortoisehg/hgqt/settings.py:306 tortoisehg/hgtk/thgconfig.py:76
msgid ""
"Redirect stderr to a buffer which is parsed at the end of the process for "
"runtime errors. Default: True"
msgstr "把标准错误输出重定向到缓存中以便处理结束时进行错误分析. 默认: 开启(True)"
+#: tortoisehg/hgqt/settings.py:308
+msgid "Fork GUI"
+msgstr ""
+
#: tortoisehg/hgqt/settings.py:309
-msgid "Fork GUI"
-msgstr ""
-
-#: tortoisehg/hgqt/settings.py:310
msgid ""
"When running from the command line, fork a background process to run "
"graphical dialogs. Default: True"
msgstr ""
-#: tortoisehg/hgqt/settings.py:312 tortoisehg/hgtk/thgconfig.py:81
+#: tortoisehg/hgqt/settings.py:311 tortoisehg/hgtk/thgconfig.py:81
msgid "Full Path Title"
msgstr ""
-#: tortoisehg/hgqt/settings.py:313
+#: tortoisehg/hgqt/settings.py:312
msgid ""
"Show a full directory path of the repository in the dialog title instead of "
"just the root directory name. Default: False"
msgstr "在对话框标题栏中显示仓库目录的完整路径而不是根路径, 默认: 否(False)"
+#: tortoisehg/hgqt/settings.py:314
+msgid "Auto-resolve merges"
+msgstr ""
+
#: tortoisehg/hgqt/settings.py:315
-msgid "Auto-resolve merges"
-msgstr ""
-
-#: tortoisehg/hgqt/settings.py:316
msgid ""
"Indicates whether TortoiseHg should attempt to automatically resolve changes "
"from both sides to the same file, and only report merge conflicts when this "
@@ -4488,15 +4675,15 @@"to review and resolve changes manually. Default: False."
msgstr ""
-#: tortoisehg/hgqt/settings.py:325 tortoisehg/util/menuthg.py:46
+#: tortoisehg/hgqt/settings.py:324 tortoisehg/util/menuthg.py:46
msgid "Workbench"
msgstr ""
-#: tortoisehg/hgqt/settings.py:326 tortoisehg/hgtk/thgconfig.py:130
+#: tortoisehg/hgqt/settings.py:325 tortoisehg/hgtk/thgconfig.py:130
msgid "Author Coloring"
msgstr "按作者区分颜色"
-#: tortoisehg/hgqt/settings.py:327 tortoisehg/hgtk/thgconfig.py:131
+#: tortoisehg/hgqt/settings.py:326 tortoisehg/hgtk/thgconfig.py:131
msgid ""
"Color changesets by author name. If not enabled, the changes are colored "
"green for merge, red for non-trivial parents, black for normal. Default: "
@@ -4504,51 +4691,51 @@msgstr ""
"根据作者名称来用颜色来区分修改记录. 如果禁用, 修改记录的颜色是:合并操作用绿色、无意义的父记录为红色、正常为黑色. 默认: 否(False)"
-#: tortoisehg/hgqt/settings.py:331
+#: tortoisehg/hgqt/settings.py:330
msgid "Task Tabs"
msgstr ""
-#: tortoisehg/hgqt/settings.py:333
+#: tortoisehg/hgqt/settings.py:332
msgid ""
"Show tabs along the side of the bottom half of each repo widget allowing one "
"to switch task tabs without using the toolbar. Default: off"
msgstr ""
-#: tortoisehg/hgqt/settings.py:336 tortoisehg/hgtk/thgconfig.py:135
+#: tortoisehg/hgqt/settings.py:335 tortoisehg/hgtk/thgconfig.py:135
msgid "Long Summary"
msgstr "长摘要"
-#: tortoisehg/hgqt/settings.py:337 tortoisehg/hgtk/thgconfig.py:136
+#: tortoisehg/hgqt/settings.py:336 tortoisehg/hgtk/thgconfig.py:136
msgid ""
"If true, concatenate multiple lines of changeset summary until they reach 80 "
"characters. Default: False"
msgstr "设置了的话, 会将摘要中的行进行合并, 使每行尽可能达到80个字. 默认: 否(False)"
-#: tortoisehg/hgqt/settings.py:340 tortoisehg/hgtk/thgconfig.py:139
+#: tortoisehg/hgqt/settings.py:339 tortoisehg/hgtk/thgconfig.py:139
msgid "Log Batch Size"
msgstr "日志批次大小"
-#: tortoisehg/hgqt/settings.py:341 tortoisehg/hgtk/thgconfig.py:140
+#: tortoisehg/hgqt/settings.py:340 tortoisehg/hgtk/thgconfig.py:140
msgid ""
"The number of revisions to read and display in the changelog viewer in a "
"single batch. Default: 500"
msgstr "在查看修改历史时一次性读入显示的修订版本数. 默认: 500"
-#: tortoisehg/hgqt/settings.py:344 tortoisehg/hgtk/thgconfig.py:143
+#: tortoisehg/hgqt/settings.py:343 tortoisehg/hgtk/thgconfig.py:143
msgid "Dead Branches"
msgstr "死亡的分支"
-#: tortoisehg/hgqt/settings.py:345 tortoisehg/hgtk/thgconfig.py:144
+#: tortoisehg/hgqt/settings.py:344 tortoisehg/hgtk/thgconfig.py:144
msgid ""
"Comma separated list of branch names that should be ignored when building a "
"list of branch names for a repository. Default: None (leave blank)"
msgstr ""
-#: tortoisehg/hgqt/settings.py:348 tortoisehg/hgtk/thgconfig.py:147
+#: tortoisehg/hgqt/settings.py:347 tortoisehg/hgtk/thgconfig.py:147
msgid "Branch Colors"
msgstr "分支颜色"
-#: tortoisehg/hgqt/settings.py:349
+#: tortoisehg/hgqt/settings.py:348
msgid ""
"Space separated list of branch names and colors of the form branch:#XXXXXX. "
"Spaces and colons in the branch name must be escaped using a backslash (\\). "
@@ -4557,22 +4744,22 @@"blank)"
msgstr ""
-#: tortoisehg/hgqt/settings.py:355 tortoisehg/hgtk/thgconfig.py:154
+#: tortoisehg/hgqt/settings.py:354 tortoisehg/hgtk/thgconfig.py:154
msgid "Hide Tags"
msgstr "隐藏标签"
-#: tortoisehg/hgqt/settings.py:356
+#: tortoisehg/hgqt/settings.py:355
msgid ""
"Space separated list of tags that will not be shown.Useful example: Specify "
"\"qbase qparent qtip\" to hide the standard tags inserted by the Mercurial "
"Queues Extension. Default: None (leave blank)"
msgstr ""
-#: tortoisehg/hgqt/settings.py:360 tortoisehg/hgtk/thgconfig.py:172
+#: tortoisehg/hgqt/settings.py:359 tortoisehg/hgtk/thgconfig.py:172
msgid "After Pull Operation"
msgstr "拉取操作后"
-#: tortoisehg/hgqt/settings.py:362
+#: tortoisehg/hgqt/settings.py:361
msgid ""
"Operation which is performed directly after a successful pull. update "
"equates to pull --update, fetch equates to the fetch extension, rebase "
@@ -4581,177 +4768,177 @@"在拉取操作成功后立即执行的操作. update等同于pull --update, fetch等同于fetch extension, "
"rebase等同于pull --rebase. 默认: 空(none)"
-#: tortoisehg/hgqt/settings.py:368 tortoisehg/hgqt/sync.py:1128
+#: tortoisehg/hgqt/settings.py:367 tortoisehg/hgqt/sync.py:1158
#: tortoisehg/hgtk/thgconfig.py:90
msgid "Username"
msgstr "用户名"
-#: tortoisehg/hgqt/settings.py:369
+#: tortoisehg/hgqt/settings.py:368
msgid ""
"Name associated with commits. The common format is<br>\"Full Name "
"<email@example.com>\""
msgstr ""
-#: tortoisehg/hgqt/settings.py:371 tortoisehg/hgtk/thgconfig.py:92
+#: tortoisehg/hgqt/settings.py:370 tortoisehg/hgtk/thgconfig.py:92
msgid "Summary Line Length"
msgstr "摘要行的长度"
-#: tortoisehg/hgqt/settings.py:372
+#: tortoisehg/hgqt/settings.py:371
msgid ""
"Suggested length of commit message lines. A red vertical line will mark this "
"length. CTRL-E will reflow the current paragraph to the specified line "
"length. Default: 80"
msgstr ""
-#: tortoisehg/hgqt/settings.py:375 tortoisehg/hgtk/thgconfig.py:103
+#: tortoisehg/hgqt/settings.py:374 tortoisehg/hgtk/thgconfig.py:103
msgid "Close After Commit"
msgstr "提交后关闭"
-#: tortoisehg/hgqt/settings.py:376
+#: tortoisehg/hgqt/settings.py:375
msgid "Close the commit tool after every successful commit. Default: False"
msgstr "每次成功提交后关闭提交工具. 默认: False"
-#: tortoisehg/hgqt/settings.py:378 tortoisehg/hgtk/thgconfig.py:106
+#: tortoisehg/hgqt/settings.py:377 tortoisehg/hgtk/thgconfig.py:106
msgid "Push After Commit"
msgstr "提交完推送改动"
-#: tortoisehg/hgqt/settings.py:379
+#: tortoisehg/hgqt/settings.py:378
msgid ""
"Attempt to push to specified URL or alias after each successful commit. "
"Default: No push"
msgstr ""
-#: tortoisehg/hgqt/settings.py:381 tortoisehg/hgtk/thgconfig.py:109
+#: tortoisehg/hgqt/settings.py:380 tortoisehg/hgtk/thgconfig.py:109
msgid "Auto Commit List"
msgstr "自动提交列表"
-#: tortoisehg/hgqt/settings.py:382 tortoisehg/hgtk/thgconfig.py:110
+#: tortoisehg/hgqt/settings.py:381 tortoisehg/hgtk/thgconfig.py:110
msgid ""
"Comma separated list of files that are automatically included in every "
"commit. Intended for use only as a repository setting. Default: None (leave "
"blank)"
msgstr ""
-#: tortoisehg/hgqt/settings.py:385 tortoisehg/hgtk/thgconfig.py:113
+#: tortoisehg/hgqt/settings.py:384 tortoisehg/hgtk/thgconfig.py:113
msgid "Auto Exclude List"
msgstr "自动排除列表"
-#: tortoisehg/hgqt/settings.py:386
+#: tortoisehg/hgqt/settings.py:385
msgid ""
"Comma separated list of files that are automatically unchecked when the "
"status, and commit dialogs are opened. Default: None (leave blank)"
msgstr ""
-#: tortoisehg/hgqt/settings.py:389 tortoisehg/hgtk/thgconfig.py:117
+#: tortoisehg/hgqt/settings.py:388 tortoisehg/hgtk/thgconfig.py:117
msgid "English Messages"
msgstr "英文信息"
-#: tortoisehg/hgqt/settings.py:390 tortoisehg/hgtk/thgconfig.py:118
+#: tortoisehg/hgqt/settings.py:389 tortoisehg/hgtk/thgconfig.py:118
msgid ""
"Generate English commit messages even if LANGUAGE or LANG environment "
"variables are set to a non-English language. This setting is used by the "
"Merge, Tag and Backout dialogs. Default: False"
msgstr ""
-#: tortoisehg/hgqt/settings.py:396 tortoisehg/hgtk/thgconfig.py:179
+#: tortoisehg/hgqt/settings.py:395 tortoisehg/hgtk/thgconfig.py:179
#: tortoisehg/util/menuthg.py:55
msgid "Web Server"
msgstr "Web服务器"
-#: tortoisehg/hgqt/settings.py:397 tortoisehg/hgtk/thgconfig.py:180
+#: tortoisehg/hgqt/settings.py:396 tortoisehg/hgtk/thgconfig.py:180
#: tortoisehg/hgtk/thgpbranch.py:210
msgid "Name"
msgstr "名称"
-#: tortoisehg/hgqt/settings.py:398
+#: tortoisehg/hgqt/settings.py:397
msgid ""
"Repository name to use in the web interface, and by TortoiseHg as a "
"shorthand name. Default is the working directory."
msgstr ""
-#: tortoisehg/hgqt/settings.py:400 tortoisehg/hgtk/thgconfig.py:183
+#: tortoisehg/hgqt/settings.py:399 tortoisehg/hgtk/thgconfig.py:183
#: tortoisehg/hgtk/thgconfig.py:745
msgid "Description"
msgstr "描述"
-#: tortoisehg/hgqt/settings.py:401 tortoisehg/hgtk/thgconfig.py:184
+#: tortoisehg/hgqt/settings.py:400 tortoisehg/hgtk/thgconfig.py:184
msgid "Textual description of the repository's purpose or contents."
msgstr "有关仓库用途或内容的文本描述."
-#: tortoisehg/hgqt/settings.py:403 tortoisehg/hgtk/thgconfig.py:186
+#: tortoisehg/hgqt/settings.py:402 tortoisehg/hgtk/thgconfig.py:186
msgid "Contact"
msgstr "联系方式"
-#: tortoisehg/hgqt/settings.py:404 tortoisehg/hgtk/thgconfig.py:187
+#: tortoisehg/hgqt/settings.py:403 tortoisehg/hgtk/thgconfig.py:187
msgid "Name or email address of the person in charge of the repository."
msgstr "仓库负责人的名字或邮件地址."
-#: tortoisehg/hgqt/settings.py:406 tortoisehg/hgtk/thgconfig.py:189
+#: tortoisehg/hgqt/settings.py:405 tortoisehg/hgtk/thgconfig.py:189
msgid "Style"
msgstr "样式"
-#: tortoisehg/hgqt/settings.py:408 tortoisehg/hgtk/thgconfig.py:191
+#: tortoisehg/hgqt/settings.py:407 tortoisehg/hgtk/thgconfig.py:191
msgid "Which template map style to use"
msgstr "指定一个模板样式"
-#: tortoisehg/hgqt/settings.py:409 tortoisehg/hgtk/thgconfig.py:192
+#: tortoisehg/hgqt/settings.py:408 tortoisehg/hgtk/thgconfig.py:192
msgid "Archive Formats"
msgstr "文档格式"
-#: tortoisehg/hgqt/settings.py:411 tortoisehg/hgtk/thgconfig.py:193
+#: tortoisehg/hgqt/settings.py:410 tortoisehg/hgtk/thgconfig.py:193
msgid "Comma separated list of archive formats allowed for downloading"
msgstr "允许下载的文档格式列表, 以逗号隔开"
-#: tortoisehg/hgqt/settings.py:413 tortoisehg/hgqt/sync.py:188
+#: tortoisehg/hgqt/settings.py:412 tortoisehg/hgqt/sync.py:188
#: tortoisehg/hgtk/thgconfig.py:195 tortoisehg/hgtk/thgconfig.py:368
msgid "Port"
msgstr "端口"
-#: tortoisehg/hgqt/settings.py:413 tortoisehg/hgtk/thgconfig.py:195
+#: tortoisehg/hgqt/settings.py:412 tortoisehg/hgtk/thgconfig.py:195
msgid "Port to listen on"
msgstr "侦听用的端口"
-#: tortoisehg/hgqt/settings.py:414 tortoisehg/hgtk/thgconfig.py:196
+#: tortoisehg/hgqt/settings.py:413 tortoisehg/hgtk/thgconfig.py:196
msgid "Push Requires SSL"
msgstr "SSL加密推送"
-#: tortoisehg/hgqt/settings.py:415 tortoisehg/hgtk/thgconfig.py:197
+#: tortoisehg/hgqt/settings.py:414 tortoisehg/hgtk/thgconfig.py:197
msgid ""
"Whether to require that inbound pushes be transported over SSL to prevent "
"password sniffing."
msgstr "是否在从web推送到本地仓库时采用SSL加密, 以避免密码被窃取."
-#: tortoisehg/hgqt/settings.py:417 tortoisehg/hgtk/thgconfig.py:199
+#: tortoisehg/hgqt/settings.py:416 tortoisehg/hgtk/thgconfig.py:199
msgid "Stripes"
msgstr "条纹间隔"
-#: tortoisehg/hgqt/settings.py:418 tortoisehg/hgtk/thgconfig.py:200
+#: tortoisehg/hgqt/settings.py:417 tortoisehg/hgtk/thgconfig.py:200
msgid ""
"How many lines a \"zebra stripe\" should span in multiline output. Default "
"is 1; set to 0 to disable."
msgstr "多行输出时斑马条纹每个条纹所间隔的行数. 默认是1, 为0则禁用斑马条纹."
-#: tortoisehg/hgqt/settings.py:420 tortoisehg/hgtk/thgconfig.py:202
+#: tortoisehg/hgqt/settings.py:419 tortoisehg/hgtk/thgconfig.py:202
msgid "Max Files"
msgstr "最大文件数"
-#: tortoisehg/hgqt/settings.py:421
+#: tortoisehg/hgqt/settings.py:420
msgid "Maximum number of files to list per changeset. Default: 10"
msgstr ""
-#: tortoisehg/hgqt/settings.py:422 tortoisehg/hgtk/thgconfig.py:204
+#: tortoisehg/hgqt/settings.py:421 tortoisehg/hgtk/thgconfig.py:204
msgid "Max Changes"
msgstr "最多改动数"
-#: tortoisehg/hgqt/settings.py:423
+#: tortoisehg/hgqt/settings.py:422
msgid "Maximum number of changes to list on the changelog. Default: 10"
msgstr ""
-#: tortoisehg/hgqt/settings.py:425 tortoisehg/hgtk/thgconfig.py:206
+#: tortoisehg/hgqt/settings.py:424 tortoisehg/hgtk/thgconfig.py:206
msgid "Allow Push"
msgstr "允许推送"
-#: tortoisehg/hgqt/settings.py:426 tortoisehg/hgtk/thgconfig.py:207
+#: tortoisehg/hgqt/settings.py:425 tortoisehg/hgtk/thgconfig.py:207
msgid ""
"Whether to allow pushing to the repository. If empty or not set, push is not "
"allowed. If the special value \"*\", any remote user can push, including "
@@ -4763,11 +4950,11 @@"是否允许推送到仓库. 如果为空或没设置, 推送是不允许的. 如果指定值为\"*\", 则任何远程用户都能推送, 包括未授权用户. 否则, "
"远程用户必须被授权, 并且授权用户名必须在这个列表里面(空格符或\",\"分隔). 允许推送列表内容是在禁止推送列表内容之后被检查."
-#: tortoisehg/hgqt/settings.py:433 tortoisehg/hgtk/thgconfig.py:214
+#: tortoisehg/hgqt/settings.py:432 tortoisehg/hgtk/thgconfig.py:214
msgid "Deny Push"
msgstr "禁止推送"
-#: tortoisehg/hgqt/settings.py:434 tortoisehg/hgtk/thgconfig.py:215
+#: tortoisehg/hgqt/settings.py:433 tortoisehg/hgtk/thgconfig.py:215
msgid ""
"Whether to deny pushing to the repository. If empty or not set, push is not "
"denied. If the special value \"*\", all remote users are denied push. "
@@ -4778,88 +4965,88 @@"是否禁止推送到仓库. 如果为空或没设置, 推送是允许的. 如果指定值为\"*\", 则任何远程用户都被禁止推送. 否则, 未被授权用户都被禁止, "
"并且所有在这个列表里面的授权用户(空格符或\",\"分隔)也都被禁止. 禁止推送列表内容是在允许推送列表内容之前被检查."
-#: tortoisehg/hgqt/settings.py:440 tortoisehg/hgtk/thgconfig.py:221
+#: tortoisehg/hgqt/settings.py:439 tortoisehg/hgtk/thgconfig.py:221
msgid "Encoding"
msgstr "编码"
-#: tortoisehg/hgqt/settings.py:441 tortoisehg/hgtk/thgconfig.py:222
+#: tortoisehg/hgqt/settings.py:440 tortoisehg/hgtk/thgconfig.py:222
msgid "Character encoding name"
msgstr "字符编码名称"
-#: tortoisehg/hgqt/settings.py:444 tortoisehg/hgtk/thgconfig.py:225
+#: tortoisehg/hgqt/settings.py:443 tortoisehg/hgtk/thgconfig.py:225
msgid "Proxy"
msgstr "代理服务器"
-#: tortoisehg/hgqt/settings.py:445 tortoisehg/hgtk/thgconfig.py:226
+#: tortoisehg/hgqt/settings.py:444 tortoisehg/hgtk/thgconfig.py:226
#: tortoisehg/hgtk/thgconfig.py:369
msgid "Host"
msgstr "主机"
-#: tortoisehg/hgqt/settings.py:446 tortoisehg/hgtk/thgconfig.py:227
+#: tortoisehg/hgqt/settings.py:445 tortoisehg/hgtk/thgconfig.py:227
msgid ""
"Host name and (optional) port of proxy server, for example \"myproxy:8000\""
msgstr "代理服务器主机名和(可选)端口, 例如:\"myproxy:8000\""
-#: tortoisehg/hgqt/settings.py:448 tortoisehg/hgtk/thgconfig.py:229
+#: tortoisehg/hgqt/settings.py:447 tortoisehg/hgtk/thgconfig.py:229
msgid "Bypass List"
msgstr "不使用代理列表"
-#: tortoisehg/hgqt/settings.py:449 tortoisehg/hgtk/thgconfig.py:230
+#: tortoisehg/hgqt/settings.py:448 tortoisehg/hgtk/thgconfig.py:230
msgid ""
"Optional. Comma-separated list of host names that should bypass the proxy"
msgstr "可选. 不使用代理连接的主机列表, 以逗号分隔"
-#: tortoisehg/hgqt/settings.py:452 tortoisehg/hgtk/thgconfig.py:233
+#: tortoisehg/hgqt/settings.py:451 tortoisehg/hgtk/thgconfig.py:233
msgid "Optional. User name to authenticate with at the proxy server"
msgstr "可选. 代理服务器授权的用户名"
-#: tortoisehg/hgqt/settings.py:453 tortoisehg/hgqt/settings.py:566
-#: tortoisehg/hgqt/sync.py:1136 tortoisehg/hgtk/thgconfig.py:234
+#: tortoisehg/hgqt/settings.py:452 tortoisehg/hgqt/settings.py:565
+#: tortoisehg/hgqt/sync.py:1166 tortoisehg/hgtk/thgconfig.py:234
#: tortoisehg/hgtk/thgconfig.py:370
msgid "Password"
msgstr "密码"
-#: tortoisehg/hgqt/settings.py:454 tortoisehg/hgtk/thgconfig.py:235
+#: tortoisehg/hgqt/settings.py:453 tortoisehg/hgtk/thgconfig.py:235
msgid "Optional. Password to authenticate with at the proxy server"
msgstr "可选. 代理服务器授权的密码"
-#: tortoisehg/hgqt/settings.py:458 tortoisehg/hgtk/thgconfig.py:239
+#: tortoisehg/hgqt/settings.py:457 tortoisehg/hgtk/thgconfig.py:239
msgid "From"
msgstr "发件人"
-#: tortoisehg/hgqt/settings.py:459 tortoisehg/hgtk/thgconfig.py:240
+#: tortoisehg/hgqt/settings.py:458 tortoisehg/hgtk/thgconfig.py:240
msgid "Email address to use in the \"From\" header and for the SMTP envelope"
msgstr "邮件地址, 用在发件人和SMTP信封中"
-#: tortoisehg/hgqt/settings.py:461 tortoisehg/hgtk/thgconfig.py:242
+#: tortoisehg/hgqt/settings.py:460 tortoisehg/hgtk/thgconfig.py:242
msgid "To"
msgstr "收件人"
-#: tortoisehg/hgqt/settings.py:462 tortoisehg/hgtk/thgconfig.py:243
+#: tortoisehg/hgqt/settings.py:461 tortoisehg/hgtk/thgconfig.py:243
msgid "Comma-separated list of recipient email addresses"
msgstr "逗号分隔的收件人邮件地址列表"
-#: tortoisehg/hgqt/settings.py:463 tortoisehg/hgtk/thgconfig.py:244
+#: tortoisehg/hgqt/settings.py:462 tortoisehg/hgtk/thgconfig.py:244
msgid "Cc"
msgstr "抄送"
-#: tortoisehg/hgqt/settings.py:464 tortoisehg/hgtk/thgconfig.py:245
+#: tortoisehg/hgqt/settings.py:463 tortoisehg/hgtk/thgconfig.py:245
msgid "Comma-separated list of carbon copy recipient email addresses"
msgstr "逗号分隔的抄送收件人邮件地址列表"
-#: tortoisehg/hgqt/settings.py:465 tortoisehg/hgtk/thgconfig.py:246
+#: tortoisehg/hgqt/settings.py:464 tortoisehg/hgtk/thgconfig.py:246
msgid "Bcc"
msgstr "密送"
-#: tortoisehg/hgqt/settings.py:466 tortoisehg/hgtk/thgconfig.py:247
+#: tortoisehg/hgqt/settings.py:465 tortoisehg/hgtk/thgconfig.py:247
msgid "Comma-separated list of blind carbon copy recipient email addresses"
msgstr "逗号分隔的密送收件人邮件地址列表"
-#: tortoisehg/hgqt/settings.py:468 tortoisehg/hgtk/thgconfig.py:249
+#: tortoisehg/hgqt/settings.py:467 tortoisehg/hgtk/thgconfig.py:249
msgid "method"
msgstr "邮件发送方式"
-#: tortoisehg/hgqt/settings.py:469 tortoisehg/hgtk/thgconfig.py:250
+#: tortoisehg/hgqt/settings.py:468 tortoisehg/hgtk/thgconfig.py:250
msgid ""
"Optional. Method to use to send email messages. If value is \"smtp\" "
"(default), use SMTP (configured below). Otherwise, use as name of program "
@@ -4872,82 +5059,82 @@"使用一个有类似于sendmail功能的程序的名称(在命令行中使用\"-f\"来指定发件人及收件人列表, 在stdin中指定消息内容). 一般地, "
"将此项设为\"sendmail\"或\"/usr/sbin/sendmail\"就可以用sendmail来发送消息."
-#: tortoisehg/hgqt/settings.py:475 tortoisehg/hgtk/thgconfig.py:256
+#: tortoisehg/hgqt/settings.py:474 tortoisehg/hgtk/thgconfig.py:256
msgid "SMTP Host"
msgstr "SMTP 主机"
-#: tortoisehg/hgqt/settings.py:476 tortoisehg/hgtk/thgconfig.py:256
+#: tortoisehg/hgqt/settings.py:475 tortoisehg/hgtk/thgconfig.py:256
msgid "Host name of mail server"
msgstr "邮件服务器主机名"
-#: tortoisehg/hgqt/settings.py:477 tortoisehg/hgtk/thgconfig.py:257
+#: tortoisehg/hgqt/settings.py:476 tortoisehg/hgtk/thgconfig.py:257
msgid "SMTP Port"
msgstr "SMTP 端口"
-#: tortoisehg/hgqt/settings.py:478 tortoisehg/hgtk/thgconfig.py:258
+#: tortoisehg/hgqt/settings.py:477 tortoisehg/hgtk/thgconfig.py:258
msgid "Port to connect to on mail server. Default: 25"
msgstr "邮件服务器连接端口. 默认: 25"
-#: tortoisehg/hgqt/settings.py:480 tortoisehg/hgtk/thgconfig.py:260
+#: tortoisehg/hgqt/settings.py:479 tortoisehg/hgtk/thgconfig.py:260
msgid "SMTP TLS"
msgstr "SMTP TLS"
-#: tortoisehg/hgqt/settings.py:481 tortoisehg/hgtk/thgconfig.py:261
+#: tortoisehg/hgqt/settings.py:480 tortoisehg/hgtk/thgconfig.py:261
msgid "Connect to mail server using TLS. Default: False"
msgstr "用TLS方式连接邮件服务器. 默认: 否(False)"
-#: tortoisehg/hgqt/settings.py:483 tortoisehg/hgtk/thgconfig.py:263
+#: tortoisehg/hgqt/settings.py:482 tortoisehg/hgtk/thgconfig.py:263
msgid "SMTP Username"
msgstr "SMTP 用户名"
-#: tortoisehg/hgqt/settings.py:484 tortoisehg/hgtk/thgconfig.py:264
+#: tortoisehg/hgqt/settings.py:483 tortoisehg/hgtk/thgconfig.py:264
msgid "Username to authenticate to mail server with"
msgstr "邮件服务器验证用的用户名"
-#: tortoisehg/hgqt/settings.py:485 tortoisehg/hgtk/thgconfig.py:265
+#: tortoisehg/hgqt/settings.py:484 tortoisehg/hgtk/thgconfig.py:265
msgid "SMTP Password"
msgstr "SMTP 密码"
-#: tortoisehg/hgqt/settings.py:486 tortoisehg/hgtk/thgconfig.py:266
+#: tortoisehg/hgqt/settings.py:485 tortoisehg/hgtk/thgconfig.py:266
msgid "Password to authenticate to mail server with"
msgstr "邮件服务器验证用的密码"
-#: tortoisehg/hgqt/settings.py:487 tortoisehg/hgtk/thgconfig.py:267
+#: tortoisehg/hgqt/settings.py:486 tortoisehg/hgtk/thgconfig.py:267
msgid "Local Hostname"
msgstr "本机主机名"
-#: tortoisehg/hgqt/settings.py:488 tortoisehg/hgtk/thgconfig.py:268
+#: tortoisehg/hgqt/settings.py:487 tortoisehg/hgtk/thgconfig.py:268
msgid "Hostname the sender can use to identify itself to the mail server."
msgstr "发件人用来向邮件服务器标识自己的主机名"
-#: tortoisehg/hgqt/settings.py:492 tortoisehg/hgtk/thgconfig.py:272
+#: tortoisehg/hgqt/settings.py:491 tortoisehg/hgtk/thgconfig.py:272
msgid "Diff"
msgstr "差分"
-#: tortoisehg/hgqt/settings.py:494 tortoisehg/hgtk/thgconfig.py:273
+#: tortoisehg/hgqt/settings.py:493 tortoisehg/hgtk/thgconfig.py:273
msgid "Patch EOL"
msgstr "补丁中的换行"
-#: tortoisehg/hgqt/settings.py:496 tortoisehg/hgtk/thgconfig.py:274
+#: tortoisehg/hgqt/settings.py:495 tortoisehg/hgtk/thgconfig.py:274
msgid ""
"Normalize file line endings during and after patch to lf or crlf. Strict "
"does no normalization. Auto does per-file detection, and is the recommended "
"setting. Default: strict"
msgstr ""
-#: tortoisehg/hgqt/settings.py:500 tortoisehg/hgtk/thgconfig.py:278
+#: tortoisehg/hgqt/settings.py:499 tortoisehg/hgtk/thgconfig.py:278
msgid "Git Format"
msgstr "Git 格式"
-#: tortoisehg/hgqt/settings.py:501 tortoisehg/hgtk/thgconfig.py:279
+#: tortoisehg/hgqt/settings.py:500 tortoisehg/hgtk/thgconfig.py:279
msgid "Use git extended diff header format. Default: False"
msgstr "使用git的扩展比较头格式. 默认: 否(False)"
-#: tortoisehg/hgqt/settings.py:503
+#: tortoisehg/hgqt/settings.py:502
msgid "MQ Git Format"
msgstr ""
-#: tortoisehg/hgqt/settings.py:505
+#: tortoisehg/hgqt/settings.py:504
msgid ""
"If set to 'keep', mq will obey the [diff] section configuration while "
"preserving existing git patches upon qrefresh. If set to 'yes' or 'no', mq "
@@ -4955,112 +5142,112 @@"possibly losing data in the second case."
msgstr ""
-#: tortoisehg/hgqt/settings.py:509 tortoisehg/hgtk/thgconfig.py:281
+#: tortoisehg/hgqt/settings.py:508 tortoisehg/hgtk/thgconfig.py:281
msgid "No Dates"
msgstr "无日期"
-#: tortoisehg/hgqt/settings.py:510 tortoisehg/hgtk/thgconfig.py:282
+#: tortoisehg/hgqt/settings.py:509 tortoisehg/hgtk/thgconfig.py:282
msgid "Do not include modification dates in diff headers. Default: False"
msgstr "不要在比较头里包含修改日期. 默认: 否(False)"
-#: tortoisehg/hgqt/settings.py:512 tortoisehg/hgtk/thgconfig.py:284
+#: tortoisehg/hgqt/settings.py:511 tortoisehg/hgtk/thgconfig.py:284
msgid "Show Function"
msgstr "显示函数"
-#: tortoisehg/hgqt/settings.py:513 tortoisehg/hgtk/thgconfig.py:285
+#: tortoisehg/hgqt/settings.py:512 tortoisehg/hgtk/thgconfig.py:285
msgid "Show which function each change is in. Default: False"
msgstr "显示每处修改的所在的函数. 默认: 否(False)"
-#: tortoisehg/hgqt/settings.py:515 tortoisehg/hgtk/thgconfig.py:287
+#: tortoisehg/hgqt/settings.py:514 tortoisehg/hgtk/thgconfig.py:287
msgid "Ignore White Space"
msgstr "忽略空格"
-#: tortoisehg/hgqt/settings.py:516 tortoisehg/hgtk/thgconfig.py:288
+#: tortoisehg/hgqt/settings.py:515 tortoisehg/hgtk/thgconfig.py:288
msgid "Ignore white space when comparing lines. Default: False"
msgstr "比较代码行时忽略空格. 默认: 否(False)"
-#: tortoisehg/hgqt/settings.py:518 tortoisehg/hgtk/thgconfig.py:290
+#: tortoisehg/hgqt/settings.py:517 tortoisehg/hgtk/thgconfig.py:290
msgid "Ignore WS Amount"
msgstr "忽略空格数量变化"
-#: tortoisehg/hgqt/settings.py:519 tortoisehg/hgtk/thgconfig.py:291
+#: tortoisehg/hgqt/settings.py:518 tortoisehg/hgtk/thgconfig.py:291
msgid "Ignore changes in the amount of white space. Default: False"
msgstr "忽略空格数量的变化. 默认: 否(False)"
-#: tortoisehg/hgqt/settings.py:521 tortoisehg/hgtk/thgconfig.py:293
+#: tortoisehg/hgqt/settings.py:520 tortoisehg/hgtk/thgconfig.py:293
msgid "Ignore Blank Lines"
msgstr "忽略空行"
-#: tortoisehg/hgqt/settings.py:522 tortoisehg/hgtk/thgconfig.py:294
+#: tortoisehg/hgqt/settings.py:521 tortoisehg/hgtk/thgconfig.py:294
msgid "Ignore changes whose lines are all blank. Default: False"
msgstr "忽略对空行的修改. 默认: 否(False)"
+#: tortoisehg/hgqt/settings.py:525
+msgid "Fonts"
+msgstr ""
+
#: tortoisehg/hgqt/settings.py:526
-msgid "Fonts"
+msgid "Message Font"
msgstr ""
#: tortoisehg/hgqt/settings.py:527
-msgid "Message Font"
-msgstr ""
-
-#: tortoisehg/hgqt/settings.py:528
msgid "Font used to display commit messages. Default: monospace 10"
msgstr ""
+#: tortoisehg/hgqt/settings.py:529
+msgid "Diff Font"
+msgstr ""
+
#: tortoisehg/hgqt/settings.py:530
-msgid "Diff Font"
-msgstr ""
-
-#: tortoisehg/hgqt/settings.py:531
msgid "Font used to display text differences. Default: monospace 10"
msgstr ""
+#: tortoisehg/hgqt/settings.py:532
+msgid "List Font"
+msgstr ""
+
#: tortoisehg/hgqt/settings.py:533
-msgid "List Font"
-msgstr ""
-
-#: tortoisehg/hgqt/settings.py:534
msgid "Font used to display file lists. Default: sans 9"
msgstr ""
+#: tortoisehg/hgqt/settings.py:535
+msgid "ChangeLog Font"
+msgstr ""
+
#: tortoisehg/hgqt/settings.py:536
-msgid "ChangeLog Font"
-msgstr ""
-
-#: tortoisehg/hgqt/settings.py:537
msgid "Font used to display changelog data. Default: monospace 10"
msgstr ""
+#: tortoisehg/hgqt/settings.py:538
+msgid "Output Font"
+msgstr ""
+
#: tortoisehg/hgqt/settings.py:539
-msgid "Output Font"
-msgstr ""
-
-#: tortoisehg/hgqt/settings.py:540
msgid "Font used to display output messages. Default: sans 8"
msgstr ""
-#: tortoisehg/hgqt/settings.py:544 tortoisehg/hgqt/settings.py:976
+#: tortoisehg/hgqt/settings.py:543 tortoisehg/hgqt/settings.py:985
#: tortoisehg/hgtk/thgconfig.py:318
msgid "Extensions"
msgstr "扩展"
-#: tortoisehg/hgqt/settings.py:547 tortoisehg/hgtk/thgconfig.py:321
+#: tortoisehg/hgqt/settings.py:546 tortoisehg/hgtk/thgconfig.py:321
msgid "Issue Tracking"
msgstr "问题跟踪"
-#: tortoisehg/hgqt/settings.py:548 tortoisehg/hgtk/thgconfig.py:323
+#: tortoisehg/hgqt/settings.py:547 tortoisehg/hgtk/thgconfig.py:323
msgid "Issue Regex"
msgstr ""
-#: tortoisehg/hgqt/settings.py:549 tortoisehg/hgtk/thgconfig.py:324
+#: tortoisehg/hgqt/settings.py:548 tortoisehg/hgtk/thgconfig.py:324
msgid "Defines the regex to match when picking up issue numbers."
msgstr ""
-#: tortoisehg/hgqt/settings.py:550 tortoisehg/hgtk/thgconfig.py:325
+#: tortoisehg/hgqt/settings.py:549 tortoisehg/hgtk/thgconfig.py:325
msgid "Issue Link"
msgstr ""
-#: tortoisehg/hgqt/settings.py:551 tortoisehg/hgtk/thgconfig.py:326
+#: tortoisehg/hgqt/settings.py:550 tortoisehg/hgtk/thgconfig.py:326
msgid ""
"Defines the command to run when an issue number is recognized. You may "
"include groups in issue.regex, and corresponding {n} tokens in issue.link "
@@ -5069,59 +5256,59 @@"tokensare found in issue.link, the entire matched string is appended instead."
msgstr ""
+#: tortoisehg/hgqt/settings.py:560
+msgid "Server"
+msgstr ""
+
#: tortoisehg/hgqt/settings.py:561
-msgid "Server"
-msgstr ""
-
-#: tortoisehg/hgqt/settings.py:562
msgid "Path to review board example \"http://demo.reviewboard.org\""
msgstr ""
-#: tortoisehg/hgqt/settings.py:565
+#: tortoisehg/hgqt/settings.py:564
msgid "User name to authenticate with review board"
msgstr ""
+#: tortoisehg/hgqt/settings.py:566
+msgid "Password to authenticate with review board"
+msgstr ""
+
#: tortoisehg/hgqt/settings.py:567
-msgid "Password to authenticate with review board"
+msgid "Server Repository ID"
msgstr ""
#: tortoisehg/hgqt/settings.py:568
-msgid "Server Repository ID"
+msgid "The default repository id for this repo on the review board server"
msgstr ""
#: tortoisehg/hgqt/settings.py:569
-msgid "The default repository id for this repo on the review board server"
+msgid "Target Groups"
msgstr ""
#: tortoisehg/hgqt/settings.py:570
-msgid "Target Groups"
+msgid "A comma separated list of target groups"
msgstr ""
#: tortoisehg/hgqt/settings.py:571
-msgid "A comma separated list of target groups"
+msgid "Target People"
msgstr ""
#: tortoisehg/hgqt/settings.py:572
-msgid "Target People"
-msgstr ""
-
-#: tortoisehg/hgqt/settings.py:573
msgid "A comma separated list of target people"
msgstr ""
-#: tortoisehg/hgqt/settings.py:585
+#: tortoisehg/hgqt/settings.py:584
msgid "TortoiseHg Settings"
msgstr ""
-#: tortoisehg/hgqt/settings.py:590 tortoisehg/hgtk/thgconfig.py:648
+#: tortoisehg/hgqt/settings.py:589 tortoisehg/hgtk/thgconfig.py:648
msgid "Iniparse package not found"
msgstr "iniparse软件包未找到"
-#: tortoisehg/hgqt/settings.py:591 tortoisehg/hgtk/thgconfig.py:649
+#: tortoisehg/hgqt/settings.py:590 tortoisehg/hgtk/thgconfig.py:649
msgid "Can't change settings without iniparse package - view is readonly."
msgstr "没有 iniparse 包不能更改设置 - 查看是只读的."
-#: tortoisehg/hgqt/settings.py:615
+#: tortoisehg/hgqt/settings.py:614
#, python-format
msgid "%s's global settings"
msgstr ""
@@ -5175,21 +5362,21 @@msgid "&Save"
msgstr ""
-#: tortoisehg/hgqt/settings.py:819 tortoisehg/hgtk/thgconfig.py:822
+#: tortoisehg/hgqt/settings.py:828 tortoisehg/hgtk/thgconfig.py:822
msgid "Confirm Reload"
msgstr "确认重新载入"
-#: tortoisehg/hgqt/settings.py:820 tortoisehg/hgtk/thgconfig.py:823
+#: tortoisehg/hgqt/settings.py:829 tortoisehg/hgtk/thgconfig.py:823
msgid ""
"Unsaved changes will be lost.\n"
"Do you want to reload?"
msgstr ""
-#: tortoisehg/hgqt/settings.py:926 tortoisehg/hgtk/thgconfig.py:1550
+#: tortoisehg/hgqt/settings.py:935 tortoisehg/hgtk/thgconfig.py:1550
msgid "Unable to create a Mercurial.ini file"
msgstr "不能创建 Mercurial.ini 文件"
-#: tortoisehg/hgqt/settings.py:927
+#: tortoisehg/hgqt/settings.py:936
msgid "Insufficient access rights, reverting to read-only mode."
msgstr ""
@@ -5326,8 +5513,8 @@msgid "Refresh Toolbar"
msgstr ""
-#: tortoisehg/hgqt/shelve.py:135 tortoisehg/hgqt/status.py:223
-#: tortoisehg/hgqt/status.py:234 tortoisehg/hgtk/commit.py:241
+#: tortoisehg/hgqt/shelve.py:135 tortoisehg/hgqt/status.py:232
+#: tortoisehg/hgqt/status.py:243 tortoisehg/hgtk/commit.py:241
#: tortoisehg/hgtk/hgignore.py:142 tortoisehg/hgtk/history.py:404
msgid "Refresh"
msgstr "刷新"
@@ -5423,110 +5610,114 @@msgid "Filter:"
msgstr ""
-#: tortoisehg/hgqt/status.py:122 tortoisehg/hgtk/status.py:330
+#: tortoisehg/hgqt/status.py:116
+msgid "Status File List Toolbar"
+msgstr ""
+
+#: tortoisehg/hgqt/status.py:135 tortoisehg/hgtk/status.py:330
msgid "Remove filter, show root"
msgstr "移除过滤器, 显示root"
-#: tortoisehg/hgqt/status.py:129
+#: tortoisehg/hgqt/status.py:142
msgid "Check all files"
msgstr ""
-#: tortoisehg/hgqt/status.py:133
+#: tortoisehg/hgqt/status.py:146
msgid "Uncheck all files"
msgstr ""
-#: tortoisehg/hgqt/status.py:189
+#: tortoisehg/hgqt/status.py:198
#, python-format
msgid "%s - status (selection filtered)"
msgstr ""
-#: tortoisehg/hgqt/status.py:191
+#: tortoisehg/hgqt/status.py:200
#, python-format
msgid "%s - status"
msgstr ""
-#: tortoisehg/hgqt/status.py:223 tortoisehg/hgtk/browse.py:112
+#: tortoisehg/hgqt/status.py:232 tortoisehg/hgtk/browse.py:112
#: tortoisehg/hgtk/quickop.py:106 tortoisehg/hgtk/status.py:95
msgid "status"
msgstr "状态"
-#: tortoisehg/hgqt/status.py:249 tortoisehg/hgtk/quickop.py:186
+#: tortoisehg/hgqt/status.py:258 tortoisehg/hgtk/quickop.py:186
msgid "No appropriate files"
msgstr "无合适文件"
-#: tortoisehg/hgqt/status.py:250 tortoisehg/hgtk/quickop.py:187
+#: tortoisehg/hgqt/status.py:259 tortoisehg/hgtk/quickop.py:187
msgid "No files found for this operation"
msgstr "无可进行当前操作的文件"
-#: tortoisehg/hgqt/status.py:297
+#: tortoisehg/hgqt/status.py:306
#, python-format
msgid "Checked count: %d"
msgstr ""
-#: tortoisehg/hgqt/status.py:516
+#: tortoisehg/hgqt/status.py:535
msgid "Stat"
msgstr "查看状态"
-#: tortoisehg/hgqt/status.py:516
+#: tortoisehg/hgqt/status.py:535
msgid "M"
msgstr ""
-#: tortoisehg/hgqt/status.py:516 tortoisehg/hgtk/datamine.py:140
+#: tortoisehg/hgqt/status.py:535 tortoisehg/hgtk/datamine.py:140
msgid "Filename"
msgstr "文件名"
-#: tortoisehg/hgqt/status.py:517 tortoisehg/hgtk/thgconfig.py:414
+#: tortoisehg/hgqt/status.py:536 tortoisehg/hgtk/thgconfig.py:414
msgid "Type"
msgstr "类型"
-#: tortoisehg/hgqt/status.py:517
+#: tortoisehg/hgqt/status.py:536
msgid "Size (KB)"
msgstr ""
-#: tortoisehg/hgqt/status.py:699
+#: tortoisehg/hgqt/status.py:718
msgid ", resolved merge"
msgstr ""
-#: tortoisehg/hgqt/status.py:701
+#: tortoisehg/hgqt/status.py:720
msgid ", unresolved merge"
msgstr ""
-#: tortoisehg/hgqt/status.py:713
+#: tortoisehg/hgqt/status.py:732
#, python-format
msgid "%s is modified"
msgstr ""
-#: tortoisehg/hgqt/status.py:715
+#: tortoisehg/hgqt/status.py:734
#, python-format
msgid "%s is added"
msgstr ""
-#: tortoisehg/hgqt/status.py:717
+#: tortoisehg/hgqt/status.py:736
#, python-format
msgid "%s is removed"
msgstr ""
-#: tortoisehg/hgqt/status.py:719
+#: tortoisehg/hgqt/status.py:738
#, python-format
msgid "%s is not tracked (unknown)"
msgstr ""
-#: tortoisehg/hgqt/status.py:721
+#: tortoisehg/hgqt/status.py:740
#, python-format
msgid "%s is missing!"
msgstr ""
-#: tortoisehg/hgqt/status.py:723
+#: tortoisehg/hgqt/status.py:742
#, python-format
msgid "%s is ignored"
msgstr ""
-#: tortoisehg/hgqt/status.py:725
+#: tortoisehg/hgqt/status.py:744
#, python-format
msgid "%s is not modified (clean)"
msgstr ""
-#: tortoisehg/hgqt/status.py:727
+#: tortoisehg/hgqt/status.py:746
#, python-format
msgid "%s is a dirty subrepo"
msgstr ""
@@ -5596,196 +5787,200 @@msgid "Related Paths:"
msgstr ""
-#: tortoisehg/hgqt/sync.py:266
+#: tortoisehg/hgqt/sync.py:267
#, python-format
msgid "Preview incoming changesets from %s"
msgstr ""
-#: tortoisehg/hgqt/sync.py:267
+#: tortoisehg/hgqt/sync.py:268
#, python-format
msgid "Pull incoming changesets from %s"
msgstr ""
-#: tortoisehg/hgqt/sync.py:268
+#: tortoisehg/hgqt/sync.py:269
#, python-format
msgid "Filter outgoing changesets to %s"
msgstr ""
-#: tortoisehg/hgqt/sync.py:269
+#: tortoisehg/hgqt/sync.py:270
#, python-format
msgid "Push outgoing changesets to %s"
msgstr ""
-#: tortoisehg/hgqt/sync.py:276
+#: tortoisehg/hgqt/sync.py:277
#, python-format
msgid "rev: %d (%s)"
msgstr ""
-#: tortoisehg/hgqt/sync.py:281 tortoisehg/hgtk/commit.py:792
+#: tortoisehg/hgqt/sync.py:282 tortoisehg/hgtk/commit.py:792
msgid "branch: "
msgstr "分支: "
-#: tortoisehg/hgqt/sync.py:287
+#: tortoisehg/hgqt/sync.py:288
msgid "bookmark: "
msgstr ""
-#: tortoisehg/hgqt/sync.py:339 tortoisehg/hgtk/synch.py:157
+#: tortoisehg/hgqt/sync.py:340 tortoisehg/hgtk/synch.py:157
msgid "Post Pull: "
msgstr "拉取完了后: "
-#: tortoisehg/hgqt/sync.py:480
+#: tortoisehg/hgqt/sync.py:501
msgid "Repository not local"
msgstr ""
-#: tortoisehg/hgqt/sync.py:481
+#: tortoisehg/hgqt/sync.py:502
msgid "A terminal shell cannot be opened for remote"
msgstr ""
-#: tortoisehg/hgqt/sync.py:492 tortoisehg/hgqt/workbench.py:688
+#: tortoisehg/hgqt/sync.py:511
+msgid "Repository not found"
+msgstr ""
+
+#: tortoisehg/hgqt/sync.py:516 tortoisehg/hgqt/workbench.py:696
msgid "No shell configured"
msgstr ""
-#: tortoisehg/hgqt/sync.py:493 tortoisehg/hgqt/workbench.py:689
+#: tortoisehg/hgqt/sync.py:517 tortoisehg/hgqt/workbench.py:697
msgid "A terminal shell must be configured"
msgstr ""
-#: tortoisehg/hgqt/sync.py:495 tortoisehg/hgqt/sync.py:1247
+#: tortoisehg/hgqt/sync.py:519 tortoisehg/hgqt/sync.py:1277
msgid "Confirm path delete"
msgstr ""
-#: tortoisehg/hgqt/sync.py:496 tortoisehg/hgqt/sync.py:1248
+#: tortoisehg/hgqt/sync.py:520 tortoisehg/hgqt/sync.py:1278
#, python-format
msgid "Delete %s from your repo configuration file?"
msgstr ""
-#: tortoisehg/hgqt/sync.py:576
+#: tortoisehg/hgqt/sync.py:600
msgid "No URL selected"
msgstr ""
-#: tortoisehg/hgqt/sync.py:577
+#: tortoisehg/hgqt/sync.py:601
msgid "An URL must be selected for this operation."
msgstr ""
-#: tortoisehg/hgqt/sync.py:592
+#: tortoisehg/hgqt/sync.py:616
msgid "Redundant authentication info"
msgstr ""
-#: tortoisehg/hgqt/sync.py:593
+#: tortoisehg/hgqt/sync.py:617
msgid ""
"You have authentication info configured for this host and inside this URL. "
"Remove authentication info from this URL?"
msgstr ""
-#: tortoisehg/hgqt/sync.py:612 tortoisehg/hgqt/sync.py:618
-#: tortoisehg/hgqt/sync.py:624 tortoisehg/hgqt/sync.py:630
-#: tortoisehg/hgqt/sync.py:637
+#: tortoisehg/hgqt/sync.py:636 tortoisehg/hgqt/sync.py:642
+#: tortoisehg/hgqt/sync.py:648 tortoisehg/hgqt/sync.py:654
+#: tortoisehg/hgqt/sync.py:661
msgid "sync command already running"
msgstr ""
-#: tortoisehg/hgqt/sync.py:655
+#: tortoisehg/hgqt/sync.py:679
#, python-format
msgid "Getting incoming changesets from %s..."
msgstr ""
-#: tortoisehg/hgqt/sync.py:660 tortoisehg/hgqt/sync.py:678
+#: tortoisehg/hgqt/sync.py:684 tortoisehg/hgqt/sync.py:702
#, python-format
msgid "Found incoming changesets from %s"
msgstr ""
-#: tortoisehg/hgqt/sync.py:663 tortoisehg/hgqt/sync.py:680
+#: tortoisehg/hgqt/sync.py:687 tortoisehg/hgqt/sync.py:704
#, python-format
msgid "No incoming changesets from %s"
msgstr ""
-#: tortoisehg/hgqt/sync.py:665 tortoisehg/hgqt/sync.py:682
+#: tortoisehg/hgqt/sync.py:689 tortoisehg/hgqt/sync.py:706
#, python-format
msgid "Incoming from %s aborted, ret %d"
msgstr ""
-#: tortoisehg/hgqt/sync.py:692
+#: tortoisehg/hgqt/sync.py:716
#, python-format
msgid "Pull from %s completed"
msgstr ""
-#: tortoisehg/hgqt/sync.py:694
+#: tortoisehg/hgqt/sync.py:718
#, python-format
msgid "Pull from %s aborted, ret %d"
msgstr ""
-#: tortoisehg/hgqt/sync.py:704 tortoisehg/hgqt/update.py:304
+#: tortoisehg/hgqt/sync.py:729 tortoisehg/hgqt/update.py:310
msgid "Merge caused file conflicts"
msgstr ""
-#: tortoisehg/hgqt/sync.py:705 tortoisehg/hgqt/update.py:305
+#: tortoisehg/hgqt/sync.py:730 tortoisehg/hgqt/update.py:311
msgid "File conflicts need to be resolved"
msgstr ""
-#: tortoisehg/hgqt/sync.py:711
+#: tortoisehg/hgqt/sync.py:736
#, python-format
msgid "Pulling from %s..."
msgstr ""
-#: tortoisehg/hgqt/sync.py:726
+#: tortoisehg/hgqt/sync.py:751
#, python-format
msgid "Finding outgoing changesets to %s..."
msgstr ""
-#: tortoisehg/hgqt/sync.py:732
+#: tortoisehg/hgqt/sync.py:758
#, python-format
msgid "%d outgoing changesets to %s"
msgstr ""
-#: tortoisehg/hgqt/sync.py:735
+#: tortoisehg/hgqt/sync.py:761
#, python-format
msgid "No outgoing changesets to %s"
msgstr ""
-#: tortoisehg/hgqt/sync.py:737
+#: tortoisehg/hgqt/sync.py:763
#, python-format
msgid "Outgoing to %s aborted, ret %d"
msgstr ""
-#: tortoisehg/hgqt/sync.py:762 tortoisehg/hgtk/history.py:584
+#: tortoisehg/hgqt/sync.py:788 tortoisehg/hgtk/history.py:584
#, python-format
msgid "%s (submitted)"
msgstr "%s (已提交)"
-#: tortoisehg/hgqt/sync.py:764 tortoisehg/hgtk/history.py:586
+#: tortoisehg/hgqt/sync.py:790 tortoisehg/hgtk/history.py:586
#: tortoisehg/hgtk/history.py:592
#, python-format
msgid "%s (pending)"
msgstr "%s (挂起)"
-#: tortoisehg/hgqt/sync.py:769 tortoisehg/hgtk/history.py:595
+#: tortoisehg/hgqt/sync.py:795 tortoisehg/hgtk/history.py:595
msgid "Unable to parse p4pending output"
msgstr ""
-#: tortoisehg/hgqt/sync.py:771 tortoisehg/hgtk/history.py:597
+#: tortoisehg/hgqt/sync.py:797 tortoisehg/hgtk/history.py:597
#, python-format
msgid "%d pending changelists found"
msgstr "找到 %d 挂起的变更列表"
-#: tortoisehg/hgqt/sync.py:773 tortoisehg/hgtk/history.py:599
+#: tortoisehg/hgqt/sync.py:799 tortoisehg/hgtk/history.py:599
msgid "No pending Perforce changelists"
msgstr ""
-#: tortoisehg/hgqt/sync.py:775 tortoisehg/hgtk/history.py:601
+#: tortoisehg/hgqt/sync.py:801 tortoisehg/hgtk/history.py:601
msgid "Aborted p4pending"
msgstr ""
-#: tortoisehg/hgqt/sync.py:777 tortoisehg/hgtk/history.py:603
+#: tortoisehg/hgqt/sync.py:803 tortoisehg/hgtk/history.py:603
msgid "Unable to determine pending changesets"
msgstr ""
-#: tortoisehg/hgqt/sync.py:787
+#: tortoisehg/hgqt/sync.py:813
msgid "Perforce pending..."
msgstr ""
-#: tortoisehg/hgqt/sync.py:794 tortoisehg/hgtk/history.py:2633
+#: tortoisehg/hgqt/sync.py:820 tortoisehg/hgtk/history.py:2623
msgid "Confirm Push to remote Repository"
msgstr "确认Push到远方版本库"
-#: tortoisehg/hgqt/sync.py:795 tortoisehg/hgtk/history.py:2634
+#: tortoisehg/hgqt/sync.py:821 tortoisehg/hgtk/history.py:2624
#, python-format
msgid ""
"Push to remote repository\n"
@@ -5796,163 +5991,163 @@"%s\n"
"?"
-#: tortoisehg/hgqt/sync.py:798
+#: tortoisehg/hgqt/sync.py:824
#, python-format
msgid "Push to %s aborted"
msgstr ""
-#: tortoisehg/hgqt/sync.py:801
+#: tortoisehg/hgqt/sync.py:827
#, python-format
msgid "Pushing to %s..."
msgstr ""
-#: tortoisehg/hgqt/sync.py:804
+#: tortoisehg/hgqt/sync.py:830
#, python-format
msgid "Push to %s completed"
msgstr ""
-#: tortoisehg/hgqt/sync.py:806
+#: tortoisehg/hgqt/sync.py:832
#, python-format
msgid "Push to %s aborted, ret %d"
msgstr ""
-#: tortoisehg/hgqt/sync.py:818
+#: tortoisehg/hgqt/sync.py:844
msgid "Determining outgoing changesets to email..."
msgstr ""
-#: tortoisehg/hgqt/sync.py:822 tortoisehg/hgtk/history.py:2026
+#: tortoisehg/hgqt/sync.py:848 tortoisehg/hgtk/history.py:2021
#, python-format
msgid "%d outgoing changesets"
msgstr "%d 个输出的变更集"
-#: tortoisehg/hgqt/sync.py:832 tortoisehg/hgtk/history.py:2030
+#: tortoisehg/hgqt/sync.py:858 tortoisehg/hgtk/history.py:2025
msgid "No outgoing changesets"
msgstr ""
-#: tortoisehg/hgqt/sync.py:834
+#: tortoisehg/hgqt/sync.py:860
#, python-format
msgid "Outgoing aborted, ret %d"
msgstr ""
-#: tortoisehg/hgqt/sync.py:846
+#: tortoisehg/hgqt/sync.py:872
msgid "Unable to remove URL"
msgstr ""
-#: tortoisehg/hgqt/sync.py:868
+#: tortoisehg/hgqt/sync.py:894
msgid "Post Pull Behavior"
msgstr ""
-#: tortoisehg/hgqt/sync.py:872
+#: tortoisehg/hgqt/sync.py:898
msgid "Select post-pull operation for this repository"
msgstr ""
-#: tortoisehg/hgqt/sync.py:875
+#: tortoisehg/hgqt/sync.py:901
msgid "None - simply pull changesets"
msgstr ""
-#: tortoisehg/hgqt/sync.py:876
+#: tortoisehg/hgqt/sync.py:902
msgid "Update - pull, then try to update"
msgstr ""
-#: tortoisehg/hgqt/sync.py:882
+#: tortoisehg/hgqt/sync.py:908
msgid "Fetch - use fetch (auto merge pulled changes)"
msgstr ""
-#: tortoisehg/hgqt/sync.py:884
+#: tortoisehg/hgqt/sync.py:910
msgid "Fetch - use fetch extension (fetch is not active!)"
msgstr ""
-#: tortoisehg/hgqt/sync.py:891
+#: tortoisehg/hgqt/sync.py:917
msgid "Rebase - rebase local commits above pulled changes"
msgstr ""
-#: tortoisehg/hgqt/sync.py:893
+#: tortoisehg/hgqt/sync.py:919
msgid "Rebase - use rebase extension (rebase is not active!)"
msgstr ""
-#: tortoisehg/hgqt/sync.py:911
+#: tortoisehg/hgqt/sync.py:937
msgid "<a href=\"config\">Launch settings tool...</a>"
msgstr ""
-#: tortoisehg/hgqt/sync.py:944
+#: tortoisehg/hgqt/sync.py:970
msgid "Unable to save post pull operation"
msgstr ""
-#: tortoisehg/hgqt/sync.py:968
+#: tortoisehg/hgqt/sync.py:994
msgid "Save Path"
msgstr ""
-#: tortoisehg/hgqt/sync.py:978 tortoisehg/hgqt/sync.py:1291
+#: tortoisehg/hgqt/sync.py:1004 tortoisehg/hgqt/sync.py:1321
#: tortoisehg/hgtk/thgconfig.py:371 tortoisehg/hgtk/thgconfig.py:954
msgid "Alias"
msgstr "别名"
-#: tortoisehg/hgqt/sync.py:981 tortoisehg/hgqt/sync.py:1291
+#: tortoisehg/hgqt/sync.py:1007 tortoisehg/hgqt/sync.py:1321
#: tortoisehg/hgtk/thgconfig.py:368
msgid "URL"
msgstr "URL"
-#: tortoisehg/hgqt/sync.py:990
+#: tortoisehg/hgqt/sync.py:1016
msgid "Remove authentication data from URL"
msgstr ""
-#: tortoisehg/hgqt/sync.py:992
+#: tortoisehg/hgqt/sync.py:1018
msgid ""
"User authentication data should be associated with the hostname using the "
"security dialog."
msgstr ""
-#: tortoisehg/hgqt/sync.py:1014
+#: tortoisehg/hgqt/sync.py:1040
msgid "Unable to save an URL"
msgstr ""
-#: tortoisehg/hgqt/sync.py:1025
+#: tortoisehg/hgqt/sync.py:1051
msgid "Confirm URL replace"
msgstr ""
-#: tortoisehg/hgqt/sync.py:1026
+#: tortoisehg/hgqt/sync.py:1052
#, python-format
msgid "%s already exists, replace URL?"
msgstr ""
-#: tortoisehg/hgqt/sync.py:1050
+#: tortoisehg/hgqt/sync.py:1076
msgid "Certificate Query Error"
msgstr ""
-#: tortoisehg/hgqt/sync.py:1059
+#: tortoisehg/hgqt/sync.py:1089
msgid "Security: "
msgstr ""
-#: tortoisehg/hgqt/sync.py:1074
+#: tortoisehg/hgqt/sync.py:1104
#, python-format
msgid "<b>Host:</b> %s"
msgstr ""
-#: tortoisehg/hgqt/sync.py:1076
+#: tortoisehg/hgqt/sync.py:1106
msgid "Secure HTTPS Connection"
msgstr ""
-#: tortoisehg/hgqt/sync.py:1083
+#: tortoisehg/hgqt/sync.py:1113
msgid "Verify with Certificate Authority certificates (best)"
msgstr ""
-#: tortoisehg/hgqt/sync.py:1085
+#: tortoisehg/hgqt/sync.py:1115
msgid "Verify with stored host fingerprint (good)"
msgstr ""
-#: tortoisehg/hgqt/sync.py:1087
+#: tortoisehg/hgqt/sync.py:1117
msgid "No host validation, but still encrypted (bad)"
msgstr ""
-#: tortoisehg/hgqt/sync.py:1098
+#: tortoisehg/hgqt/sync.py:1128
msgid "Query"
msgstr ""
-#: tortoisehg/hgqt/sync.py:1117
+#: tortoisehg/hgqt/sync.py:1147
msgid "User Authentication"
msgstr ""
-#: tortoisehg/hgqt/sync.py:1124
+#: tortoisehg/hgqt/sync.py:1154
msgid ""
"Optional. Username to authenticate with. If not given, and the remote\n"
"site requires basic or digest authentication, the user will be prompted for\n"
@@ -5960,60 +6155,60 @@"foo.username = $USER."
msgstr ""
-#: tortoisehg/hgqt/sync.py:1133
+#: tortoisehg/hgqt/sync.py:1163
msgid ""
"Optional. Password to authenticate with. If not given, and the remote\n"
"site requires basic or digest authentication, the user will be prompted for\n"
"it."
msgstr ""
-#: tortoisehg/hgqt/sync.py:1140
+#: tortoisehg/hgqt/sync.py:1170
msgid ""
"Mercurial keyring extension is enabled. Passwords will be stored in a "
"platform-native secure method."
msgstr ""
-#: tortoisehg/hgqt/sync.py:1146
+#: tortoisehg/hgqt/sync.py:1176
msgid ""
"Optional. PEM encoded client certificate key file. Environment variables\n"
"are expanded in the filename."
msgstr ""
-#: tortoisehg/hgqt/sync.py:1148
+#: tortoisehg/hgqt/sync.py:1178
msgid "User Certificate Key File"
msgstr ""
-#: tortoisehg/hgqt/sync.py:1152
+#: tortoisehg/hgqt/sync.py:1182
msgid ""
"Optional. PEM encoded client certificate chain file. Environment variables\n"
"are expanded in the filename."
msgstr ""
-#: tortoisehg/hgqt/sync.py:1154
+#: tortoisehg/hgqt/sync.py:1184
msgid "User Certificate Chain File"
msgstr ""
-#: tortoisehg/hgqt/sync.py:1174
+#: tortoisehg/hgqt/sync.py:1204
msgid "Unable to save authentication"
msgstr ""
-#: tortoisehg/hgqt/sync.py:1342
+#: tortoisehg/hgqt/sync.py:1372
msgid "Allow push of a new branch (--new-branch)"
msgstr ""
-#: tortoisehg/hgqt/sync.py:1347
+#: tortoisehg/hgqt/sync.py:1377
msgid "Force push or pull (override safety checks, --force)"
msgstr ""
-#: tortoisehg/hgqt/sync.py:1352
+#: tortoisehg/hgqt/sync.py:1382
msgid "Recurse into subrepositories (--subrepos)"
msgstr ""
-#: tortoisehg/hgqt/sync.py:1357
+#: tortoisehg/hgqt/sync.py:1387
msgid "Temporarily disable configured HTTP proxy"
msgstr ""
-#: tortoisehg/hgqt/sync.py:1364
+#: tortoisehg/hgqt/sync.py:1394
msgid "Emit debugging output (--debug)"
msgstr ""
@@ -6050,7 +6245,7 @@msgid "local"
msgstr "本地"
-#: tortoisehg/hgqt/tag.py:184 tortoisehg/hgtk/bookmark.py:49
+#: tortoisehg/hgqt/tag.py:184 tortoisehg/hgtk/bookmark.py:46
#: tortoisehg/hgtk/commit.py:262 tortoisehg/hgtk/status.py:124
msgid "Move"
msgstr "移动"
@@ -6145,29 +6340,29 @@msgid "Import - %s"
msgstr "导入 - %s"
-#: tortoisehg/hgqt/thgimport.py:155
+#: tortoisehg/hgqt/thgimport.py:156
msgid "Working directory is not clean! <a href=\"view\">View changes...</a>"
msgstr ""
-#: tortoisehg/hgqt/thgimport.py:174
+#: tortoisehg/hgqt/thgimport.py:175
msgid "Select patches"
msgstr ""
-#: tortoisehg/hgqt/thgimport.py:186
+#: tortoisehg/hgqt/thgimport.py:187
msgid "Select Directory containing patches"
msgstr ""
-#: tortoisehg/hgqt/thgimport.py:209 tortoisehg/hgtk/thgimport.py:281
+#: tortoisehg/hgqt/thgimport.py:210 tortoisehg/hgtk/thgimport.py:281
#, python-format
msgid "%s patches"
msgstr "%s 补丁"
-#: tortoisehg/hgqt/thgimport.py:212
+#: tortoisehg/hgqt/thgimport.py:213
#, python-format
msgid "%s will be imported to "
msgstr ""
-#: tortoisehg/hgqt/thgimport.py:215 tortoisehg/hgtk/thgimport.py:287
+#: tortoisehg/hgqt/thgimport.py:216 tortoisehg/hgtk/thgimport.py:287
msgid "Nothing to import"
msgstr ""
@@ -6197,39 +6392,34 @@msgid "Strip - %s"
msgstr "截去 - %s"
-#: tortoisehg/hgqt/thgstrip.py:172 tortoisehg/hgtk/thgstrip.py:179
-#, python-format
-msgid "%s changesets"
-msgstr ""
-
-#: tortoisehg/hgqt/thgstrip.py:174 tortoisehg/hgtk/thgstrip.py:180
-#, python-format
-msgid "%s will be stripped"
-msgstr ""
-
-#: tortoisehg/hgqt/thgstrip.py:179 tortoisehg/hgtk/thgstrip.py:176
+#: tortoisehg/hgqt/thgstrip.py:172
+#, python-format
+msgid "<b>%d changesets</b> will be stripped"
+msgstr ""
+
+#: tortoisehg/hgqt/thgstrip.py:178 tortoisehg/hgtk/thgstrip.py:176
msgid "Unknown revision!"
msgstr "未知的版本!"
+#: tortoisehg/hgqt/thgstrip.py:202
+msgid "Detected uncommitted local changes."
+msgstr ""
+
#: tortoisehg/hgqt/thgstrip.py:203
-msgid "Detected uncommitted local changes."
-msgstr ""
-
-#: tortoisehg/hgqt/thgstrip.py:204
msgid "Do you want to discard them and continue?"
msgstr ""
-#: tortoisehg/hgqt/thgstrip.py:205 tortoisehg/hgtk/thgstrip.py:217
+#: tortoisehg/hgqt/thgstrip.py:204 tortoisehg/hgtk/thgstrip.py:217
msgid "&Yes (--force)"
msgstr "&Yes (--force)"
-#: tortoisehg/hgqt/thgstrip.py:206 tortoisehg/hgtk/commit.py:325
+#: tortoisehg/hgqt/thgstrip.py:205 tortoisehg/hgtk/commit.py:325
#: tortoisehg/hgtk/commit.py:1193 tortoisehg/hgtk/commit.py:1200
#: tortoisehg/hgtk/thgstrip.py:217
msgid "&No"
msgstr "否(&N)"
-#: tortoisehg/hgqt/thgstrip.py:207 tortoisehg/hgtk/thgstrip.py:214
+#: tortoisehg/hgqt/thgstrip.py:206 tortoisehg/hgtk/thgstrip.py:214
msgid "Confirm Strip"
msgstr "确认截去"
@@ -6239,110 +6429,110 @@msgid "response expected"
msgstr "期待回复"
-#: tortoisehg/hgqt/thread.py:129 tortoisehg/hgtk/hgthread.py:94
+#: tortoisehg/hgqt/thread.py:128 tortoisehg/hgtk/hgthread.py:94
msgid "password: "
msgstr "密码: "
-#: tortoisehg/hgqt/thread.py:277 tortoisehg/hgtk/hgthread.py:187
+#: tortoisehg/hgqt/thread.py:276 tortoisehg/hgtk/hgthread.py:187
msgid "abort: "
msgstr "中止: "
-#: tortoisehg/hgqt/thread.py:279
+#: tortoisehg/hgqt/thread.py:278
msgid "hint: "
msgstr ""
-#: tortoisehg/hgqt/thread.py:283
+#: tortoisehg/hgqt/thread.py:282
#, python-format
msgid "HTTP Error: %d (%s)"
msgstr ""
-#: tortoisehg/hgqt/thread.py:286
+#: tortoisehg/hgqt/thread.py:285
#, python-format
msgid "URLError: %s"
msgstr ""
-#: tortoisehg/hgqt/thread.py:294 tortoisehg/hgtk/hgthread.py:198
+#: tortoisehg/hgqt/thread.py:293 tortoisehg/hgtk/hgthread.py:198
msgid "SSL: Server certificate verify failed"
msgstr "SSL: 服务器认证失败"
-#: tortoisehg/hgqt/thread.py:296 tortoisehg/hgtk/hgthread.py:200
+#: tortoisehg/hgqt/thread.py:295 tortoisehg/hgtk/hgthread.py:200
#, python-format
msgid "SSL: unknown error %s:%s"
msgstr "SSL: 未知错误 %s:%s"
-#: tortoisehg/hgqt/thread.py:298 tortoisehg/hgtk/hgthread.py:202
+#: tortoisehg/hgqt/thread.py:297 tortoisehg/hgtk/hgthread.py:202
#, python-format
msgid "SSL error: %s"
msgstr "SSL 错误: %s"
-#: tortoisehg/hgqt/thread.py:303
+#: tortoisehg/hgqt/thread.py:302
#, python-format
msgid ""
"hg: command '%s' is ambiguous:\n"
" %s\n"
msgstr ""
-#: tortoisehg/hgqt/thread.py:307
+#: tortoisehg/hgqt/thread.py:306
#, python-format
msgid "hg: parse error at %s: %s\n"
msgstr ""
-#: tortoisehg/hgqt/thread.py:310
+#: tortoisehg/hgqt/thread.py:309
#, python-format
msgid "hg: parse error: %s\n"
msgstr ""
-#: tortoisehg/hgqt/thread.py:313
+#: tortoisehg/hgqt/thread.py:312
#, python-format
msgid "timed out waiting for lock held by %s"
msgstr ""
-#: tortoisehg/hgqt/thread.py:315
+#: tortoisehg/hgqt/thread.py:314
#, python-format
msgid "lock held by %s"
msgstr ""
-#: tortoisehg/hgqt/thread.py:316 tortoisehg/hgqt/thread.py:346
-#: tortoisehg/hgqt/thread.py:353
+#: tortoisehg/hgqt/thread.py:315 tortoisehg/hgqt/thread.py:345
+#: tortoisehg/hgqt/thread.py:352
#, python-format
msgid "abort: %s: %s\n"
msgstr ""
-#: tortoisehg/hgqt/thread.py:318
+#: tortoisehg/hgqt/thread.py:317
#, python-format
msgid "abort: could not lock %s: %s\n"
msgstr ""
-#: tortoisehg/hgqt/thread.py:323
+#: tortoisehg/hgqt/thread.py:322
#, python-format
msgid "abort: %s"
msgstr "取消:%s"
-#: tortoisehg/hgqt/thread.py:327
+#: tortoisehg/hgqt/thread.py:326
msgid " empty string\n"
msgstr ""
-#: tortoisehg/hgqt/thread.py:334 tortoisehg/hgqt/thread.py:348
-#: tortoisehg/hgqt/thread.py:355
+#: tortoisehg/hgqt/thread.py:333 tortoisehg/hgqt/thread.py:347
+#: tortoisehg/hgqt/thread.py:354
#, python-format
msgid "abort: %s\n"
msgstr ""
-#: tortoisehg/hgqt/thread.py:340
+#: tortoisehg/hgqt/thread.py:339
#, python-format
msgid "abort: error: %s\n"
msgstr ""
-#: tortoisehg/hgqt/thread.py:343
+#: tortoisehg/hgqt/thread.py:342
msgid "broken pipe\n"
msgstr ""
-#: tortoisehg/hgqt/thread.py:366
+#: tortoisehg/hgqt/thread.py:365
#, python-format
msgid "[command terminated by user %s]"
msgstr ""
-#: tortoisehg/hgqt/thread.py:368
+#: tortoisehg/hgqt/thread.py:367
#, python-format
msgid "[command interrupted %s]"
msgstr ""
@@ -6380,15 +6570,15 @@msgid "Update - %s"
msgstr "更新 - %s"
-#: tortoisehg/hgqt/update.py:170 tortoisehg/hgtk/update.py:189
+#: tortoisehg/hgqt/update.py:171 tortoisehg/hgtk/update.py:189
msgid "(same as parent)"
msgstr "(和父版本一致)"
-#: tortoisehg/hgqt/update.py:177 tortoisehg/hgtk/update.py:196
+#: tortoisehg/hgqt/update.py:178 tortoisehg/hgtk/update.py:196
msgid "unknown revision!"
msgstr "未知版本!"
-#: tortoisehg/hgqt/update.py:217 tortoisehg/hgtk/update.py:231
+#: tortoisehg/hgqt/update.py:223 tortoisehg/hgtk/update.py:231
msgid ""
"Detected uncommitted local changes in working tree.\n"
"Please select to continue:\n"
@@ -6398,23 +6588,23 @@"请选择是否继续:\n"
"\n"
-#: tortoisehg/hgqt/update.py:220 tortoisehg/hgtk/update.py:234
+#: tortoisehg/hgqt/update.py:226 tortoisehg/hgtk/update.py:234
msgid "Discard - discard local changes, no backup"
msgstr "丢弃 - 丢弃本地改动, 无备份"
-#: tortoisehg/hgqt/update.py:221 tortoisehg/hgtk/update.py:235
+#: tortoisehg/hgqt/update.py:227 tortoisehg/hgtk/update.py:235
msgid "&Shelve"
msgstr "剥离改动(&S)"
-#: tortoisehg/hgqt/update.py:222
+#: tortoisehg/hgqt/update.py:228
msgid "Shelve - move local changes to a patch"
msgstr ""
-#: tortoisehg/hgqt/update.py:224 tortoisehg/hgtk/update.py:238
+#: tortoisehg/hgqt/update.py:230 tortoisehg/hgtk/update.py:238
msgid "Merge - allow to merge with local changes"
msgstr "合并 - 允许与本地版本合并"
-#: tortoisehg/hgqt/update.py:233 tortoisehg/hgtk/update.py:251
+#: tortoisehg/hgqt/update.py:239 tortoisehg/hgtk/update.py:251
msgid "Confirm Update"
msgstr "确认更新"
@@ -6422,101 +6612,101 @@msgid "[non-existant]"
msgstr ""
-#: tortoisehg/hgqt/visdiff.py:139 tortoisehg/hgtk/visdiff.py:125
+#: tortoisehg/hgqt/visdiff.py:140 tortoisehg/hgtk/visdiff.py:125
msgid "Tool launch failure"
msgstr "工具载入失败"
-#: tortoisehg/hgqt/visdiff.py:140 tortoisehg/hgqt/wctxactions.py:211
+#: tortoisehg/hgqt/visdiff.py:141 tortoisehg/hgqt/wctxactions.py:213
#: tortoisehg/hgtk/visdiff.py:126
#, python-format
msgid "%s : %s"
msgstr "%s : %s"
-#: tortoisehg/hgqt/visdiff.py:147 tortoisehg/hgqt/visdiff.py:219
+#: tortoisehg/hgqt/visdiff.py:148 tortoisehg/hgqt/visdiff.py:220
#: tortoisehg/hgtk/visdiff.py:132 tortoisehg/hgtk/visdiff.py:201
msgid "No diff tool found"
msgstr ""
-#: tortoisehg/hgqt/visdiff.py:148 tortoisehg/hgqt/visdiff.py:220
+#: tortoisehg/hgqt/visdiff.py:149 tortoisehg/hgqt/visdiff.py:221
#: tortoisehg/hgtk/visdiff.py:133 tortoisehg/hgtk/visdiff.py:202
msgid "No visual diff tools were detected"
msgstr ""
-#: tortoisehg/hgqt/visdiff.py:153 tortoisehg/hgtk/visdiff.py:138
+#: tortoisehg/hgqt/visdiff.py:154 tortoisehg/hgtk/visdiff.py:138
msgid "[working copy]"
msgstr ""
-#: tortoisehg/hgqt/visdiff.py:155 tortoisehg/hgtk/visdiff.py:140
+#: tortoisehg/hgqt/visdiff.py:156 tortoisehg/hgtk/visdiff.py:140
msgid "[original]"
msgstr ""
-#: tortoisehg/hgqt/visdiff.py:194 tortoisehg/hgtk/visdiff.py:177
+#: tortoisehg/hgqt/visdiff.py:195 tortoisehg/hgtk/visdiff.py:177
msgid "Unable to find changeset"
msgstr ""
-#: tortoisehg/hgqt/visdiff.py:195 tortoisehg/hgtk/visdiff.py:178
+#: tortoisehg/hgqt/visdiff.py:196 tortoisehg/hgtk/visdiff.py:178
msgid "You likely need to refresh this application"
msgstr ""
-#: tortoisehg/hgqt/visdiff.py:212 tortoisehg/hgtk/visdiff.py:195
+#: tortoisehg/hgqt/visdiff.py:213 tortoisehg/hgtk/visdiff.py:195
msgid "No file changes"
msgstr "无改动"
-#: tortoisehg/hgqt/visdiff.py:213 tortoisehg/hgtk/visdiff.py:196
+#: tortoisehg/hgqt/visdiff.py:214 tortoisehg/hgtk/visdiff.py:196
msgid "There are no file changes to view"
msgstr "无改动可查看"
-#: tortoisehg/hgqt/visdiff.py:345 tortoisehg/hgtk/visdiff.py:326
+#: tortoisehg/hgqt/visdiff.py:346 tortoisehg/hgtk/visdiff.py:326
msgid "cleaning up temp directory\n"
msgstr ""
-#: tortoisehg/hgqt/visdiff.py:365 tortoisehg/hgtk/visdiff.py:352
+#: tortoisehg/hgqt/visdiff.py:366 tortoisehg/hgtk/visdiff.py:352
msgid "working changes"
msgstr "当前改动"
-#: tortoisehg/hgqt/visdiff.py:367
+#: tortoisehg/hgqt/visdiff.py:368
#, python-format
msgid "changeset %d:%s"
msgstr ""
-#: tortoisehg/hgqt/visdiff.py:369
+#: tortoisehg/hgqt/visdiff.py:370
#, python-format
msgid "revisions %d:%s to %d:%s"
msgstr ""
-#: tortoisehg/hgqt/visdiff.py:371 tortoisehg/hgtk/visdiff.py:357
+#: tortoisehg/hgqt/visdiff.py:372 tortoisehg/hgtk/visdiff.py:357
msgid "Visual Diffs - "
msgstr "文件差分 - "
-#: tortoisehg/hgqt/visdiff.py:373 tortoisehg/hgtk/visdiff.py:359
+#: tortoisehg/hgqt/visdiff.py:374 tortoisehg/hgtk/visdiff.py:359
msgid " filtered"
msgstr ""
-#: tortoisehg/hgqt/visdiff.py:388 tortoisehg/hgtk/visdiff.py:370
+#: tortoisehg/hgqt/visdiff.py:389 tortoisehg/hgtk/visdiff.py:370
msgid "Temporary files are removed when this dialog is closed"
msgstr "临时文件在对话框关闭时自动删除"
-#: tortoisehg/hgqt/visdiff.py:406
+#: tortoisehg/hgqt/visdiff.py:407
msgid "Select Tool:"
msgstr ""
-#: tortoisehg/hgqt/visdiff.py:430 tortoisehg/hgtk/visdiff.py:424
+#: tortoisehg/hgqt/visdiff.py:431 tortoisehg/hgtk/visdiff.py:424
msgid "Dir diff to p1"
msgstr ""
-#: tortoisehg/hgqt/visdiff.py:432 tortoisehg/hgtk/visdiff.py:426
+#: tortoisehg/hgqt/visdiff.py:433 tortoisehg/hgtk/visdiff.py:426
msgid "Dir diff to p2"
msgstr ""
-#: tortoisehg/hgqt/visdiff.py:434 tortoisehg/hgtk/visdiff.py:428
+#: tortoisehg/hgqt/visdiff.py:435 tortoisehg/hgtk/visdiff.py:428
msgid "3-way dir diff"
msgstr ""
-#: tortoisehg/hgqt/visdiff.py:437 tortoisehg/hgtk/visdiff.py:434
+#: tortoisehg/hgqt/visdiff.py:438 tortoisehg/hgtk/visdiff.py:434
msgid "Directory diff"
msgstr ""
-#: tortoisehg/hgqt/visdiff.py:605 tortoisehg/hgtk/visdiff.py:631
+#: tortoisehg/hgqt/visdiff.py:606 tortoisehg/hgtk/visdiff.py:631
msgid "No repository found here"
msgstr "这里没找到仓库"
@@ -6597,71 +6787,71 @@msgid " errors"
msgstr ""
-#: tortoisehg/hgqt/wctxactions.py:110
+#: tortoisehg/hgqt/wctxactions.py:111
msgid " output"
msgstr ""
-#: tortoisehg/hgqt/wctxactions.py:116 tortoisehg/hgqt/wctxactions.py:123
-#: tortoisehg/hgqt/wctxactions.py:126 tortoisehg/hgtk/gdialog.py:582
+#: tortoisehg/hgqt/wctxactions.py:118 tortoisehg/hgqt/wctxactions.py:125
+#: tortoisehg/hgqt/wctxactions.py:128 tortoisehg/hgtk/gdialog.py:582
#: tortoisehg/hgtk/gdialog.py:585
msgid " Aborted"
msgstr " 中止"
-#: tortoisehg/hgqt/wctxactions.py:128
+#: tortoisehg/hgqt/wctxactions.py:130
msgid " not implemented"
msgstr ""
-#: tortoisehg/hgqt/wctxactions.py:197 tortoisehg/hgtk/gdialog.py:682
+#: tortoisehg/hgqt/wctxactions.py:199 tortoisehg/hgtk/gdialog.py:682
#: tortoisehg/hgtk/gtklib.py:406
msgid "No visual editor configured"
msgstr "未设置GUI编辑器"
-#: tortoisehg/hgqt/wctxactions.py:198 tortoisehg/hgtk/gdialog.py:683
+#: tortoisehg/hgqt/wctxactions.py:200 tortoisehg/hgtk/gdialog.py:683
#: tortoisehg/hgtk/gtklib.py:407
msgid "Please configure a visual editor."
msgstr "请设置一个GUI编辑器."
-#: tortoisehg/hgqt/wctxactions.py:210
+#: tortoisehg/hgqt/wctxactions.py:212
msgid "Editor launch failure"
msgstr ""
-#: tortoisehg/hgqt/wctxactions.py:230 tortoisehg/hgtk/statusact.py:125
+#: tortoisehg/hgqt/wctxactions.py:232 tortoisehg/hgtk/statusact.py:125
msgid "Uncommited merge - please select a parent revision"
msgstr "未提交的合并 - 请选择一个父版本"
-#: tortoisehg/hgqt/wctxactions.py:231 tortoisehg/hgtk/statusact.py:126
+#: tortoisehg/hgqt/wctxactions.py:233 tortoisehg/hgtk/statusact.py:126
msgid "Revert files to local or other parent?"
msgstr "要还原文件到本地版本或其他父版本吗?"
-#: tortoisehg/hgqt/wctxactions.py:232 tortoisehg/hgtk/statusact.py:127
+#: tortoisehg/hgqt/wctxactions.py:234 tortoisehg/hgtk/statusact.py:127
msgid "&Local"
msgstr "本地(&L)"
-#: tortoisehg/hgqt/wctxactions.py:232 tortoisehg/hgtk/statusact.py:127
+#: tortoisehg/hgqt/wctxactions.py:234 tortoisehg/hgtk/statusact.py:127
msgid "&Other"
msgstr "其他(&O)"
-#: tortoisehg/hgqt/wctxactions.py:243
+#: tortoisehg/hgqt/wctxactions.py:245
msgid "Revert local file changes?"
msgstr ""
-#: tortoisehg/hgqt/wctxactions.py:244
+#: tortoisehg/hgqt/wctxactions.py:246
msgid "&Revert with backup"
msgstr ""
-#: tortoisehg/hgqt/wctxactions.py:244
+#: tortoisehg/hgqt/wctxactions.py:246
msgid "&Discard changes"
msgstr ""
-#: tortoisehg/hgqt/wctxactions.py:298
+#: tortoisehg/hgqt/wctxactions.py:300
msgid "Confirm Delete Unversioned"
msgstr ""
-#: tortoisehg/hgqt/wctxactions.py:299
+#: tortoisehg/hgqt/wctxactions.py:301
msgid "Delete the following unversioned files?"
msgstr ""
-#: tortoisehg/hgqt/wctxactions.py:311 tortoisehg/hgtk/statusact.py:40
+#: tortoisehg/hgqt/wctxactions.py:313 tortoisehg/hgtk/statusact.py:40
msgid "Copy file to"
msgstr "复制文件到"
@@ -6713,245 +6903,245 @@msgid "Save"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:37 tortoisehg/hgqt/workbench.py:404
+#: tortoisehg/hgqt/workbench.py:45 tortoisehg/hgqt/workbench.py:413
msgid "TortoiseHg Workbench"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:62
+#: tortoisehg/hgqt/workbench.py:70
msgid "New Repository..."
msgstr ""
-#: tortoisehg/hgqt/workbench.py:64 tortoisehg/hgqt/workbench.py:183
+#: tortoisehg/hgqt/workbench.py:72 tortoisehg/hgqt/workbench.py:192
msgid "Clone Repository..."
msgstr ""
-#: tortoisehg/hgqt/workbench.py:66
+#: tortoisehg/hgqt/workbench.py:74
msgid "Open Repository..."
msgstr ""
-#: tortoisehg/hgqt/workbench.py:98
+#: tortoisehg/hgqt/workbench.py:107
msgid "&File"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:99
+#: tortoisehg/hgqt/workbench.py:108
msgid "&View"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:100
+#: tortoisehg/hgqt/workbench.py:109
msgid "&Repository"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:101
+#: tortoisehg/hgqt/workbench.py:110
msgid "&Help"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:103
+#: tortoisehg/hgqt/workbench.py:112
msgid "Edit Toolbar"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:105
+#: tortoisehg/hgqt/workbench.py:114
msgid "Dock Toolbar"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:107
+#: tortoisehg/hgqt/workbench.py:116
msgid "Sync Toolbar"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:109
+#: tortoisehg/hgqt/workbench.py:118
msgid "Task Toolbar"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:176
+#: tortoisehg/hgqt/workbench.py:185
msgid "&Open Repository..."
msgstr ""
-#: tortoisehg/hgqt/workbench.py:178
+#: tortoisehg/hgqt/workbench.py:187
msgid "&Close Repository"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:181
+#: tortoisehg/hgqt/workbench.py:190
msgid "&New Repository..."
msgstr ""
-#: tortoisehg/hgqt/workbench.py:187
+#: tortoisehg/hgqt/workbench.py:196
msgid "&Settings..."
msgstr ""
-#: tortoisehg/hgqt/workbench.py:193
+#: tortoisehg/hgqt/workbench.py:202
msgid "Show Repository Registry"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:200
+#: tortoisehg/hgqt/workbench.py:209
msgid "Show Paths"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:204
+#: tortoisehg/hgqt/workbench.py:213
msgid "Show Output &Log"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:211
+#: tortoisehg/hgqt/workbench.py:220
msgid "Choose Log Columns..."
msgstr ""
-#: tortoisehg/hgqt/workbench.py:214
+#: tortoisehg/hgqt/workbench.py:223
msgid "Save Open Repositories On Exit"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:230
+#: tortoisehg/hgqt/workbench.py:239
msgid "Revision &Details"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:232
+#: tortoisehg/hgqt/workbench.py:241
msgid "S&ynchronize"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:233
+#: tortoisehg/hgqt/workbench.py:242
msgid "&Manifest"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:234
+#: tortoisehg/hgqt/workbench.py:243
msgid "&Search"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:236
+#: tortoisehg/hgqt/workbench.py:245
msgid "Patch &Queue"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:238
+#: tortoisehg/hgqt/workbench.py:247
msgid "&Patch Branch"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:241 tortoisehg/hgtk/status.py:1320
+#: tortoisehg/hgqt/workbench.py:250 tortoisehg/hgtk/status.py:1320
msgid "&Refresh"
msgstr "刷新(&R)"
-#: tortoisehg/hgqt/workbench.py:244
+#: tortoisehg/hgqt/workbench.py:253
msgid "Refresh current repository"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:245
+#: tortoisehg/hgqt/workbench.py:254
msgid "Refresh &Task Tab"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:248
+#: tortoisehg/hgqt/workbench.py:257
msgid "Refresh only the current task tab"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:250
+#: tortoisehg/hgqt/workbench.py:259
msgid "Load all revisions"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:252
+#: tortoisehg/hgqt/workbench.py:261
msgid "Load all revisions into graph"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:254
+#: tortoisehg/hgqt/workbench.py:263
msgid "Web Server..."
msgstr ""
-#: tortoisehg/hgqt/workbench.py:257
+#: tortoisehg/hgqt/workbench.py:266
msgid "Shelve..."
msgstr ""
-#: tortoisehg/hgqt/workbench.py:259 tortoisehg/hgtk/history.py:458
+#: tortoisehg/hgqt/workbench.py:268 tortoisehg/hgtk/history.py:458
msgid "Import..."
msgstr "导入..."
-#: tortoisehg/hgqt/workbench.py:262 tortoisehg/hgtk/recovery.py:68
+#: tortoisehg/hgqt/workbench.py:271 tortoisehg/hgtk/recovery.py:68
msgid "Verify"
msgstr "校验"
-#: tortoisehg/hgqt/workbench.py:264 tortoisehg/hgtk/recovery.py:63
+#: tortoisehg/hgqt/workbench.py:273 tortoisehg/hgtk/recovery.py:63
msgid "Recover"
msgstr "恢复"
-#: tortoisehg/hgqt/workbench.py:267
+#: tortoisehg/hgqt/workbench.py:276
msgid "Resolve..."
msgstr ""
-#: tortoisehg/hgqt/workbench.py:270
+#: tortoisehg/hgqt/workbench.py:279
msgid "Rollback/Undo..."
msgstr ""
-#: tortoisehg/hgqt/workbench.py:273
+#: tortoisehg/hgqt/workbench.py:282
msgid "Purge..."
msgstr ""
-#: tortoisehg/hgqt/workbench.py:276
+#: tortoisehg/hgqt/workbench.py:285
msgid "Bisect..."
msgstr ""
-#: tortoisehg/hgqt/workbench.py:286
+#: tortoisehg/hgqt/workbench.py:295
msgid "Help"
msgstr "帮助"
-#: tortoisehg/hgqt/workbench.py:299
+#: tortoisehg/hgqt/workbench.py:308
msgid "Filter Toolbar"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:302
+#: tortoisehg/hgqt/workbench.py:311
msgid "Filter graph with revision sets or branches"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:304
+#: tortoisehg/hgqt/workbench.py:313
msgid "Workbench Toolbars"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:311 tortoisehg/hgtk/history.py:438
-#: tortoisehg/hgtk/history.py:1861 tortoisehg/hgtk/synch.py:57
+#: tortoisehg/hgqt/workbench.py:320 tortoisehg/hgtk/history.py:438
+#: tortoisehg/hgtk/history.py:1856 tortoisehg/hgtk/synch.py:57
msgid "Incoming"
msgstr "拉取预览"
-#: tortoisehg/hgqt/workbench.py:312
-msgid "Check for incoming changes from default pull target"
-msgstr ""
-
-#: tortoisehg/hgqt/workbench.py:314 tortoisehg/hgtk/history.py:440
-#: tortoisehg/hgtk/history.py:1991
+#: tortoisehg/hgqt/workbench.py:321
+msgid "Check for incoming changes from selected URL"
+msgstr ""
+
+#: tortoisehg/hgqt/workbench.py:323 tortoisehg/hgtk/history.py:440
+#: tortoisehg/hgtk/history.py:1986
msgid "Pull"
msgstr "拉取"
-#: tortoisehg/hgqt/workbench.py:315
-msgid "Pull incoming changes from default pull target"
-msgstr ""
-
-#: tortoisehg/hgqt/workbench.py:317 tortoisehg/hgtk/history.py:442
-#: tortoisehg/hgtk/history.py:2034 tortoisehg/hgtk/synch.py:68
+#: tortoisehg/hgqt/workbench.py:324
+msgid "Pull incoming changes from selected URL"
+msgstr ""
+
+#: tortoisehg/hgqt/workbench.py:326 tortoisehg/hgtk/history.py:442
+#: tortoisehg/hgtk/history.py:2029 tortoisehg/hgtk/synch.py:68
msgid "Outgoing"
msgstr "推送预览"
-#: tortoisehg/hgqt/workbench.py:318
-msgid "Detect outgoing changes to default push target"
-msgstr ""
-
-#: tortoisehg/hgqt/workbench.py:320 tortoisehg/hgtk/history.py:444
-#: tortoisehg/hgtk/history.py:2074 tortoisehg/hgtk/synch.py:73
+#: tortoisehg/hgqt/workbench.py:327
+msgid "Detect outgoing changes to selected URL"
+msgstr ""
+
+#: tortoisehg/hgqt/workbench.py:329 tortoisehg/hgtk/history.py:444
+#: tortoisehg/hgtk/history.py:2069 tortoisehg/hgtk/synch.py:73
msgid "Push"
msgstr "推送"
-#: tortoisehg/hgqt/workbench.py:321
-msgid "Push outgoing changes to default push target"
-msgstr ""
-
-#: tortoisehg/hgqt/workbench.py:406
+#: tortoisehg/hgqt/workbench.py:330
+msgid "Push outgoing changes to selected URL"
+msgstr ""
+
+#: tortoisehg/hgqt/workbench.py:415
#, python-format
msgid "%s - TortoiseHg Workbench - %s"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:409
+#: tortoisehg/hgqt/workbench.py:418
#, python-format
msgid "%s - TortoiseHg Workbench"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:562
+#: tortoisehg/hgqt/workbench.py:573
msgid "Select repository directory to open"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:583
+#: tortoisehg/hgqt/workbench.py:595
msgid "Failed to open repository"
msgstr ""
-#: tortoisehg/hgqt/workbench.py:710
+#: tortoisehg/hgqt/workbench.py:718
#, python-format
msgid "Hg file log viewer [%s] - %s"
msgstr ""
@@ -7045,101 +7235,86 @@msgid "Failed to backout"
msgstr "反转操作失败"
-#: tortoisehg/hgtk/bookmark.py:54
-msgid "Set Current"
-msgstr "设为当前"
-
-#: tortoisehg/hgtk/bookmark.py:56 tortoisehg/hgtk/bookmark.py:182
+#: tortoisehg/hgtk/bookmark.py:51 tortoisehg/hgtk/bookmark.py:144
#: tortoisehg/hgtk/merge.py:184
#, python-format
msgid "unexpected type: %s"
msgstr "异常类型: %s"
-#: tortoisehg/hgtk/bookmark.py:69
+#: tortoisehg/hgtk/bookmark.py:64
msgid "Old name:"
msgstr "原名称:"
-#: tortoisehg/hgtk/bookmark.py:92
-msgid "Make new/moved bookmark current"
-msgstr "使 新/移动 标签 为当前"
-
-#: tortoisehg/hgtk/bookmark.py:167 tortoisehg/hgtk/gdialog.py:918
+#: tortoisehg/hgtk/bookmark.py:131 tortoisehg/hgtk/gdialog.py:918
#: tortoisehg/hgtk/hginit.py:87 tortoisehg/hgtk/tagadd.py:203
#, python-format
msgid "unexpected response id: %s"
msgstr "非预期的应答id: %s"
-#: tortoisehg/hgtk/bookmark.py:208 tortoisehg/hgtk/bookmark.py:238
-#: tortoisehg/hgtk/bookmark.py:292 tortoisehg/hgtk/bookmark.py:324
+#: tortoisehg/hgtk/bookmark.py:170 tortoisehg/hgtk/bookmark.py:196
+#: tortoisehg/hgtk/bookmark.py:246
msgid "Bookmark input is empty"
msgstr "书签输入为空"
-#: tortoisehg/hgtk/bookmark.py:209 tortoisehg/hgtk/bookmark.py:239
-#: tortoisehg/hgtk/bookmark.py:293 tortoisehg/hgtk/bookmark.py:325
+#: tortoisehg/hgtk/bookmark.py:171 tortoisehg/hgtk/bookmark.py:197
+#: tortoisehg/hgtk/bookmark.py:247
msgid "Please enter bookmark name"
msgstr "请输入标签名"
-#: tortoisehg/hgtk/bookmark.py:216 tortoisehg/hgtk/bookmark.py:246
-#: tortoisehg/hgtk/bookmark.py:274 tortoisehg/hgtk/bookmark.py:306
-#: tortoisehg/hgtk/bookmark.py:332
+#: tortoisehg/hgtk/bookmark.py:178 tortoisehg/hgtk/bookmark.py:204
+#: tortoisehg/hgtk/bookmark.py:228 tortoisehg/hgtk/bookmark.py:260
msgid "Bookmarking completed"
msgstr "书签设置完毕"
-#: tortoisehg/hgtk/bookmark.py:217
+#: tortoisehg/hgtk/bookmark.py:179
#, python-format
msgid "Bookmark \"%s\" has been added"
msgstr "\"%s\" 书签己添加"
-#: tortoisehg/hgtk/bookmark.py:224 tortoisehg/hgtk/bookmark.py:227
-#: tortoisehg/hgtk/bookmark.py:254 tortoisehg/hgtk/bookmark.py:257
-#: tortoisehg/hgtk/bookmark.py:278 tortoisehg/hgtk/bookmark.py:281
-#: tortoisehg/hgtk/bookmark.py:311 tortoisehg/hgtk/bookmark.py:314
-#: tortoisehg/hgtk/bookmark.py:337 tortoisehg/hgtk/bookmark.py:340
+#: tortoisehg/hgtk/bookmark.py:182 tortoisehg/hgtk/bookmark.py:185
+#: tortoisehg/hgtk/bookmark.py:208 tortoisehg/hgtk/bookmark.py:211
+#: tortoisehg/hgtk/bookmark.py:232 tortoisehg/hgtk/bookmark.py:235
+#: tortoisehg/hgtk/bookmark.py:265 tortoisehg/hgtk/bookmark.py:268
msgid "Error in bookmarking"
msgstr "书签设置过程中出错"
-#: tortoisehg/hgtk/bookmark.py:247
+#: tortoisehg/hgtk/bookmark.py:205
#, python-format
msgid "Bookmark \"%s\" has been moved"
msgstr "书签 \"%s\" 已移动"
-#: tortoisehg/hgtk/bookmark.py:267
+#: tortoisehg/hgtk/bookmark.py:221
msgid "Bookmark name is empty"
msgstr "书签名为空"
-#: tortoisehg/hgtk/bookmark.py:268
+#: tortoisehg/hgtk/bookmark.py:222
msgid "Please select bookmark name to remove"
msgstr "请选择要删除的书签名"
-#: tortoisehg/hgtk/bookmark.py:275
+#: tortoisehg/hgtk/bookmark.py:229
#, python-format
msgid "Bookmark \"%s\" has been removed"
msgstr "\"%s\"书签己被删除"
-#: tortoisehg/hgtk/bookmark.py:298
+#: tortoisehg/hgtk/bookmark.py:252
msgid "Bookmark new name input is empty"
msgstr "书签新名称为空"
-#: tortoisehg/hgtk/bookmark.py:299
+#: tortoisehg/hgtk/bookmark.py:253
msgid "Please enter new bookmark name"
msgstr "请输入新的书签名"
-#: tortoisehg/hgtk/bookmark.py:307
+#: tortoisehg/hgtk/bookmark.py:261
#, python-format
msgid "Bookmark \"%s\" has been renamed to \"%s\""
msgstr "\"%s\"书签已经被重命名为\"%s\""
-#: tortoisehg/hgtk/bookmark.py:333
-#, python-format
-msgid "Bookmark \"%s\" has been made current"
-msgstr "当前书签 \"%s\" 已被创建"
-
-#: tortoisehg/hgtk/bookmark.py:346 tortoisehg/hgtk/bookmark.py:373
+#: tortoisehg/hgtk/bookmark.py:275 tortoisehg/hgtk/bookmark.py:293
#, python-format
msgid "a bookmark named \"%s\" already exists"
msgstr "书签名称 \"%s\" 已存在"
-#: tortoisehg/hgtk/bookmark.py:355 tortoisehg/hgtk/bookmark.py:382
+#: tortoisehg/hgtk/bookmark.py:281
#, python-format
msgid "No bookmark named \"%s\" exists"
msgstr "书签名称 \"%s\" 不存在"
@@ -7400,7 +7575,7 @@
#: tortoisehg/hgtk/commit.py:325 tortoisehg/hgtk/commit.py:1193
#: tortoisehg/hgtk/commit.py:1200 tortoisehg/hgtk/history.py:220
-#: tortoisehg/hgtk/history.py:2646 tortoisehg/hgtk/status.py:1320
+#: tortoisehg/hgtk/history.py:2636 tortoisehg/hgtk/status.py:1320
#: tortoisehg/hgtk/statusact.py:127 tortoisehg/hgtk/statusact.py:148
#: tortoisehg/hgtk/thgconfig.py:775 tortoisehg/hgtk/thgconfig.py:849
#: tortoisehg/hgtk/thgmq.py:369 tortoisehg/hgtk/update.py:239
@@ -7630,11 +7805,11 @@msgstr "提交更改..."
#: tortoisehg/hgtk/commit.py:1265 tortoisehg/hgtk/history.py:613
-#: tortoisehg/hgtk/history.py:638 tortoisehg/hgtk/history.py:1780
-#: tortoisehg/hgtk/history.py:1862 tortoisehg/hgtk/history.py:1992
-#: tortoisehg/hgtk/history.py:2035 tortoisehg/hgtk/history.py:2075
-#: tortoisehg/hgtk/history.py:2419 tortoisehg/hgtk/history.py:2449
-#: tortoisehg/hgtk/history.py:2706 tortoisehg/hgtk/history.py:2737
+#: tortoisehg/hgtk/history.py:638 tortoisehg/hgtk/history.py:1775
+#: tortoisehg/hgtk/history.py:1857 tortoisehg/hgtk/history.py:1987
+#: tortoisehg/hgtk/history.py:2030 tortoisehg/hgtk/history.py:2070
+#: tortoisehg/hgtk/history.py:2414 tortoisehg/hgtk/history.py:2444
+#: tortoisehg/hgtk/history.py:2696 tortoisehg/hgtk/history.py:2727
#: tortoisehg/hgtk/recovery.py:178 tortoisehg/hgtk/synch.py:550
msgid "Cannot run now"
msgstr "现在无法执行"
@@ -7663,10 +7838,6 @@msgid "Message format needs to be configured"
msgstr "改动说明的格式未被配置"
-#: tortoisehg/hgtk/commit.py:1352 tortoisehg/hgtk/commit.py:1357
-msgid "Warning"
-msgstr "警告"
-
#: tortoisehg/hgtk/commit.py:1353
#, python-format
msgid "The summary line length of %i is greater than %i"
@@ -8454,7 +8625,7 @@msgid "Re_fresh"
msgstr "刷新(_f)"
-#: tortoisehg/hgtk/history.py:250 tortoisehg/hgtk/history.py:1538
+#: tortoisehg/hgtk/history.py:250 tortoisehg/hgtk/history.py:1533
msgid "Reload revision history"
msgstr "重新载入版本历史"
@@ -8515,11 +8686,11 @@msgid "Pending"
msgstr "挂起"
-#: tortoisehg/hgtk/history.py:392 tortoisehg/hgtk/history.py:1462
+#: tortoisehg/hgtk/history.py:392 tortoisehg/hgtk/history.py:1457
msgid "Load more Revisions"
msgstr "载入更多版本"
-#: tortoisehg/hgtk/history.py:394 tortoisehg/hgtk/history.py:1465
+#: tortoisehg/hgtk/history.py:394 tortoisehg/hgtk/history.py:1460
msgid "Load all Revisions"
msgstr "载入所有版本"
@@ -8620,11 +8791,11 @@msgstr ""
#: tortoisehg/hgtk/history.py:614 tortoisehg/hgtk/history.py:639
-#: tortoisehg/hgtk/history.py:1781 tortoisehg/hgtk/history.py:1863
-#: tortoisehg/hgtk/history.py:1993 tortoisehg/hgtk/history.py:2036
-#: tortoisehg/hgtk/history.py:2076 tortoisehg/hgtk/history.py:2420
-#: tortoisehg/hgtk/history.py:2450 tortoisehg/hgtk/history.py:2707
-#: tortoisehg/hgtk/history.py:2738 tortoisehg/hgtk/recovery.py:179
+#: tortoisehg/hgtk/history.py:1776 tortoisehg/hgtk/history.py:1858
+#: tortoisehg/hgtk/history.py:1988 tortoisehg/hgtk/history.py:2031
+#: tortoisehg/hgtk/history.py:2071 tortoisehg/hgtk/history.py:2415
+#: tortoisehg/hgtk/history.py:2445 tortoisehg/hgtk/history.py:2697
+#: tortoisehg/hgtk/history.py:2728 tortoisehg/hgtk/recovery.py:179
#: tortoisehg/hgtk/synch.py:551
msgid "Please try again after the previous command has completed"
msgstr ""
@@ -8816,7 +8987,7 @@msgid "_Update..."
msgstr "更新(_U)..."
-#: tortoisehg/hgtk/history.py:1289 tortoisehg/hgtk/history.py:1409
+#: tortoisehg/hgtk/history.py:1289 tortoisehg/hgtk/history.py:1404
msgid "_Merge with..."
msgstr "合并(_M)..."
@@ -8860,263 +9031,259 @@msgid "Add/Remove _Tag..."
msgstr "添加/移除标签(_T)..."
+#: tortoisehg/hgtk/history.py:1342
+msgid "Add/Move/Remove B_ookmark..."
+msgstr ""
+
#: tortoisehg/hgtk/history.py:1343
-msgid "Add/Move/Remove B_ookmark..."
-msgstr ""
-
-#: tortoisehg/hgtk/history.py:1344
msgid "Rename Bookmark..."
msgstr "重命名书签..."
-#: tortoisehg/hgtk/history.py:1347
-msgid "Set Current Bookmark..."
-msgstr "设置当前书签..."
-
-#: tortoisehg/hgtk/history.py:1353
+#: tortoisehg/hgtk/history.py:1348
msgid "Import Revision to MQ"
msgstr "导入修正到 MQ"
-#: tortoisehg/hgtk/history.py:1355
+#: tortoisehg/hgtk/history.py:1350
msgid "Strip Revision..."
msgstr "截去版本..."
-#: tortoisehg/hgtk/history.py:1378
+#: tortoisehg/hgtk/history.py:1373
msgid "Reset"
msgstr "重置"
-#: tortoisehg/hgtk/history.py:1379
+#: tortoisehg/hgtk/history.py:1374
msgid "Mark as Good"
msgstr "标记为好的"
-#: tortoisehg/hgtk/history.py:1380
+#: tortoisehg/hgtk/history.py:1375
msgid "Mark as Bad"
msgstr "标记为差的"
-#: tortoisehg/hgtk/history.py:1381
+#: tortoisehg/hgtk/history.py:1376
msgid "Skip Testing"
msgstr "跳过测试"
-#: tortoisehg/hgtk/history.py:1392
+#: tortoisehg/hgtk/history.py:1387
msgid "_Diff with selected"
msgstr "与选中的比较"
-#: tortoisehg/hgtk/history.py:1393
+#: tortoisehg/hgtk/history.py:1388
msgid "Visual Diff with selected"
msgstr "与选中的进行可视化比较"
-#: tortoisehg/hgtk/history.py:1402
+#: tortoisehg/hgtk/history.py:1397
msgid "Email from here to selected..."
msgstr "邮寄从当前到选中的..."
-#: tortoisehg/hgtk/history.py:1404
+#: tortoisehg/hgtk/history.py:1399
msgid "Bundle from here to selected..."
msgstr "打包从当前到选中的..."
-#: tortoisehg/hgtk/history.py:1406
+#: tortoisehg/hgtk/history.py:1401
msgid "Export Patches from here to selected..."
msgstr "导出从当前到选中的..."
-#: tortoisehg/hgtk/history.py:1424
+#: tortoisehg/hgtk/history.py:1419
msgid "Transplant Revision range to local"
msgstr "移植版本范围到本地"
-#: tortoisehg/hgtk/history.py:1429
+#: tortoisehg/hgtk/history.py:1424
msgid "Rebase on top of selected"
msgstr "重定位到选中的"
-#: tortoisehg/hgtk/history.py:1434
+#: tortoisehg/hgtk/history.py:1429
msgid "Import from here to selected to MQ"
msgstr "从这里选择后导入到 MQ"
-#: tortoisehg/hgtk/history.py:1438
+#: tortoisehg/hgtk/history.py:1433
msgid "Select common ancestor revision"
msgstr ""
-#: tortoisehg/hgtk/history.py:1493
+#: tortoisehg/hgtk/history.py:1488
msgid "Load more"
msgstr "更多"
-#: tortoisehg/hgtk/history.py:1493
+#: tortoisehg/hgtk/history.py:1488
msgid "load more revisions"
msgstr "更多版本"
-#: tortoisehg/hgtk/history.py:1496
+#: tortoisehg/hgtk/history.py:1491
msgid "Load all"
msgstr "全部"
-#: tortoisehg/hgtk/history.py:1496
+#: tortoisehg/hgtk/history.py:1491
msgid "load all revisions"
msgstr "所有版本"
-#: tortoisehg/hgtk/history.py:1541
+#: tortoisehg/hgtk/history.py:1536
msgid "Download and view incoming changesets"
msgstr "下载和查看可拉取的改动集"
-#: tortoisehg/hgtk/history.py:1543
+#: tortoisehg/hgtk/history.py:1538
msgid "Accept changes from Bundle preview"
msgstr "接受包预览中的改动"
-#: tortoisehg/hgtk/history.py:1546
+#: tortoisehg/hgtk/history.py:1541
msgid "Reject changes from Bundle preview"
msgstr "拒绝包预览中的改动"
-#: tortoisehg/hgtk/history.py:1549
+#: tortoisehg/hgtk/history.py:1544
msgid "Pull incoming changesets"
msgstr "拉取改动集"
-#: tortoisehg/hgtk/history.py:1551
+#: tortoisehg/hgtk/history.py:1546
msgid "Import patches"
msgstr "导入补丁"
-#: tortoisehg/hgtk/history.py:1554
+#: tortoisehg/hgtk/history.py:1549
msgid "Determine and mark outgoing changesets"
msgstr "确定和标记可推送的改动集"
-#: tortoisehg/hgtk/history.py:1556
+#: tortoisehg/hgtk/history.py:1551
msgid "Push outgoing changesets"
msgstr "推送改动集"
-#: tortoisehg/hgtk/history.py:1558
+#: tortoisehg/hgtk/history.py:1553
msgid "Email outgoing changesets"
msgstr "邮寄改动集"
-#: tortoisehg/hgtk/history.py:1561
+#: tortoisehg/hgtk/history.py:1556
msgid "Stop current transaction"
msgstr "停止当前事务"
-#: tortoisehg/hgtk/history.py:1593
+#: tortoisehg/hgtk/history.py:1588
msgid "After Pull:"
msgstr "拉取后:"
-#: tortoisehg/hgtk/history.py:1594 tortoisehg/hgtk/synch.py:148
+#: tortoisehg/hgtk/history.py:1589 tortoisehg/hgtk/synch.py:148
msgid "Nothing"
msgstr "空"
-#: tortoisehg/hgtk/history.py:1597 tortoisehg/hgtk/synch.py:151
+#: tortoisehg/hgtk/history.py:1592 tortoisehg/hgtk/synch.py:151
msgid "Fetch"
msgstr "获取"
-#: tortoisehg/hgtk/history.py:1618
+#: tortoisehg/hgtk/history.py:1613
msgid "Configure aliases and after pull behavior"
msgstr "配置别名以及拉取后的行为"
-#: tortoisehg/hgtk/history.py:1778
+#: tortoisehg/hgtk/history.py:1773
msgid "Applying bundle..."
msgstr ""
-#: tortoisehg/hgtk/history.py:1779
+#: tortoisehg/hgtk/history.py:1774
msgid "Applying bundle"
msgstr ""
-#: tortoisehg/hgtk/history.py:1824 tortoisehg/hgtk/history.py:1966
-#: tortoisehg/hgtk/history.py:1999 tortoisehg/hgtk/history.py:2613
+#: tortoisehg/hgtk/history.py:1819 tortoisehg/hgtk/history.py:1961
+#: tortoisehg/hgtk/history.py:1994 tortoisehg/hgtk/history.py:2603
msgid "No remote path specified"
msgstr "未指定远程路径"
-#: tortoisehg/hgtk/history.py:1825 tortoisehg/hgtk/history.py:1967
-#: tortoisehg/hgtk/history.py:2000 tortoisehg/hgtk/history.py:2614
+#: tortoisehg/hgtk/history.py:1820 tortoisehg/hgtk/history.py:1962
+#: tortoisehg/hgtk/history.py:1995 tortoisehg/hgtk/history.py:2604
msgid "Please enter or select a remote path"
msgstr "请输入或选择一个远程路径"
-#: tortoisehg/hgtk/history.py:1852
+#: tortoisehg/hgtk/history.py:1847
#, python-format
msgid "%d incoming changesets"
msgstr ""
-#: tortoisehg/hgtk/history.py:1854
+#: tortoisehg/hgtk/history.py:1849
msgid "Aborted incoming"
msgstr ""
-#: tortoisehg/hgtk/history.py:1856
+#: tortoisehg/hgtk/history.py:1851
msgid "No incoming changesets"
msgstr ""
-#: tortoisehg/hgtk/history.py:1860
+#: tortoisehg/hgtk/history.py:1855
msgid "Checking incoming changesets..."
msgstr ""
-#: tortoisehg/hgtk/history.py:1879
+#: tortoisehg/hgtk/history.py:1874
msgid "Accept incoming previewed changesets"
msgstr "接受拉取预览的改动集"
-#: tortoisehg/hgtk/history.py:1885
+#: tortoisehg/hgtk/history.py:1880
msgid "Reject incoming previewed changesets"
msgstr "拒绝拉取预览的改动集"
-#: tortoisehg/hgtk/history.py:1928
+#: tortoisehg/hgtk/history.py:1923
msgid "Bundle Preview"
msgstr "Bundle预览"
+#: tortoisehg/hgtk/history.py:1928
+msgid "Failed to preview, a bundle file unrelated to this repository"
+msgstr ""
+
#: tortoisehg/hgtk/history.py:1933
-msgid "Failed to preview, a bundle file unrelated to this repository"
-msgstr ""
-
-#: tortoisehg/hgtk/history.py:1938
msgid "Failed to preview, not a Mercurial bundle file"
msgstr ""
-#: tortoisehg/hgtk/history.py:1942
+#: tortoisehg/hgtk/history.py:1937
msgid "Open Bundle"
msgstr "打开Bundle"
-#: tortoisehg/hgtk/history.py:1980
+#: tortoisehg/hgtk/history.py:1975
msgid "Finished pull with rebase"
msgstr ""
-#: tortoisehg/hgtk/history.py:1983
+#: tortoisehg/hgtk/history.py:1978
msgid "Finished pull"
msgstr "拉取完成"
-#: tortoisehg/hgtk/history.py:1985
+#: tortoisehg/hgtk/history.py:1980
msgid "No changesets to pull"
msgstr "没有变更集可用来拉取"
-#: tortoisehg/hgtk/history.py:1987 tortoisehg/hgtk/history.py:2732
+#: tortoisehg/hgtk/history.py:1982 tortoisehg/hgtk/history.py:2722
msgid "Aborted pull"
msgstr "终止的拉取"
-#: tortoisehg/hgtk/history.py:1990
+#: tortoisehg/hgtk/history.py:1985
msgid "Pulling changesets..."
msgstr "拉取变更集..."
+#: tortoisehg/hgtk/history.py:2023
+msgid "Aborted outgoing"
+msgstr ""
+
#: tortoisehg/hgtk/history.py:2028
-msgid "Aborted outgoing"
-msgstr ""
-
-#: tortoisehg/hgtk/history.py:2033
msgid "Checking outgoing changesets..."
msgstr ""
-#: tortoisehg/hgtk/history.py:2042 tortoisehg/hgtk/synch.py:505
+#: tortoisehg/hgtk/history.py:2037 tortoisehg/hgtk/synch.py:505
msgid "No repository selected"
msgstr "未选择仓库"
-#: tortoisehg/hgtk/history.py:2043 tortoisehg/hgtk/synch.py:506
+#: tortoisehg/hgtk/history.py:2038 tortoisehg/hgtk/synch.py:506
msgid "Select a peer repository to compare with"
msgstr "选择一个对等仓库进行比较"
-#: tortoisehg/hgtk/history.py:2068
+#: tortoisehg/hgtk/history.py:2063
msgid "Finished push"
msgstr "推送完成"
-#: tortoisehg/hgtk/history.py:2070 tortoisehg/hgtk/history.py:2698
+#: tortoisehg/hgtk/history.py:2065 tortoisehg/hgtk/history.py:2688
msgid "Aborted push"
msgstr "终止的推送"
-#: tortoisehg/hgtk/history.py:2073
+#: tortoisehg/hgtk/history.py:2068
msgid "Pushing changesets..."
msgstr "推送变更集..."
-#: tortoisehg/hgtk/history.py:2185
+#: tortoisehg/hgtk/history.py:2180
#, python-format
msgid "unknown dnd dest: %s"
msgstr ""
-#: tortoisehg/hgtk/history.py:2304
+#: tortoisehg/hgtk/history.py:2299
msgid "Confirm Revert All Files"
msgstr "确认还原所有文件"
-#: tortoisehg/hgtk/history.py:2305
+#: tortoisehg/hgtk/history.py:2300
#, python-format
msgid ""
"Revert all files to revision %d?\n"
@@ -9125,74 +9292,74 @@"要还原所有文件到版本%d吗?\n"
"这将会覆盖您的本地改动"
-#: tortoisehg/hgtk/history.py:2355
+#: tortoisehg/hgtk/history.py:2350
msgid "Save patches to"
msgstr "保存补丁到"
-#: tortoisehg/hgtk/history.py:2391
+#: tortoisehg/hgtk/history.py:2386
msgid "Write bundle to"
msgstr "打包保存到"
-#: tortoisehg/hgtk/history.py:2404
+#: tortoisehg/hgtk/history.py:2399
#, python-format
msgid "Bundling from %(base)s to %(rev)s..."
msgstr ""
-#: tortoisehg/hgtk/history.py:2406
+#: tortoisehg/hgtk/history.py:2401
#, python-format
msgid "Bundling from %(base)s to tip..."
msgstr ""
-#: tortoisehg/hgtk/history.py:2412
+#: tortoisehg/hgtk/history.py:2407
msgid "Finish bundling"
msgstr ""
-#: tortoisehg/hgtk/history.py:2414
+#: tortoisehg/hgtk/history.py:2409
msgid "Aborted bundling"
msgstr ""
-#: tortoisehg/hgtk/history.py:2416
+#: tortoisehg/hgtk/history.py:2411
msgid "Failed to bundle"
msgstr ""
-#: tortoisehg/hgtk/history.py:2418
+#: tortoisehg/hgtk/history.py:2413
msgid "Bundling"
msgstr ""
-#: tortoisehg/hgtk/history.py:2441
+#: tortoisehg/hgtk/history.py:2436
msgid "Finish importing"
msgstr "导入完成"
-#: tortoisehg/hgtk/history.py:2443
+#: tortoisehg/hgtk/history.py:2438
msgid "Aborted importing"
msgstr "终止的导入"
-#: tortoisehg/hgtk/history.py:2445 tortoisehg/hgtk/thgimport.py:188
+#: tortoisehg/hgtk/history.py:2440 tortoisehg/hgtk/thgimport.py:188
msgid "Failed to import"
msgstr "导入失败"
-#: tortoisehg/hgtk/history.py:2447
+#: tortoisehg/hgtk/history.py:2442
msgid "Importing"
msgstr "导入"
-#: tortoisehg/hgtk/history.py:2448
+#: tortoisehg/hgtk/history.py:2443
msgid "Importing to Patch Queue..."
msgstr "导入到 Patch Queue..."
-#: tortoisehg/hgtk/history.py:2456
+#: tortoisehg/hgtk/history.py:2451
msgid "Confirm Rebase Revision"
msgstr "确认重定位版本"
-#: tortoisehg/hgtk/history.py:2457
+#: tortoisehg/hgtk/history.py:2452
#, python-format
msgid "Rebase revision %d on top of %d?"
msgstr "重定位版本%d到%d之上"
-#: tortoisehg/hgtk/history.py:2622
+#: tortoisehg/hgtk/history.py:2612
msgid "Confirm Forced Push to Remote Repository"
msgstr "确认要强制Push到远方版本库"
-#: tortoisehg/hgtk/history.py:2623
+#: tortoisehg/hgtk/history.py:2613
#, python-format
msgid ""
"Forced push to remote repository\n"
@@ -9203,15 +9370,15 @@"%s\n"
"(根据需要在远方版本库创建新的分支)?"
-#: tortoisehg/hgtk/history.py:2625 tortoisehg/hgtk/history.py:2641
+#: tortoisehg/hgtk/history.py:2615 tortoisehg/hgtk/history.py:2631
msgid "Forced &Push"
msgstr "强制 &Push"
-#: tortoisehg/hgtk/history.py:2627
+#: tortoisehg/hgtk/history.py:2617
msgid "Confirm Push of New Branches to Remote Repository"
msgstr ""
-#: tortoisehg/hgtk/history.py:2628
+#: tortoisehg/hgtk/history.py:2618
#, python-format
msgid ""
"Push to remote repository\n"
@@ -9222,15 +9389,15 @@"%s\n"
"(如果需要在远程创建一个新的分支)?"
-#: tortoisehg/hgtk/history.py:2630 tortoisehg/hgtk/history.py:2635
+#: tortoisehg/hgtk/history.py:2620 tortoisehg/hgtk/history.py:2625
msgid "&Push"
msgstr "&Push"
-#: tortoisehg/hgtk/history.py:2638
+#: tortoisehg/hgtk/history.py:2628
msgid "Confirm Forced Push"
msgstr "确认强制Push"
-#: tortoisehg/hgtk/history.py:2639
+#: tortoisehg/hgtk/history.py:2629
#, python-format
msgid ""
"Forced push to repository\n"
@@ -9241,51 +9408,51 @@"%s\n"
"(根据需要创建新的分支)?"
-#: tortoisehg/hgtk/history.py:2676
+#: tortoisehg/hgtk/history.py:2666
#, python-format
msgid "Finished push to revision %s"
msgstr ""
-#: tortoisehg/hgtk/history.py:2684
+#: tortoisehg/hgtk/history.py:2674
#, python-format
msgid "Finished pushing branch %s"
msgstr ""
-#: tortoisehg/hgtk/history.py:2701
+#: tortoisehg/hgtk/history.py:2691
#, python-format
msgid "Pushing branch %s..."
msgstr "推送分支 %s..."
-#: tortoisehg/hgtk/history.py:2703
+#: tortoisehg/hgtk/history.py:2693
#, python-format
msgid "Pushing changesets to revision %s..."
msgstr ""
-#: tortoisehg/hgtk/history.py:2705
+#: tortoisehg/hgtk/history.py:2695
#, python-format
msgid "Push to %s"
msgstr "推送到 %s"
-#: tortoisehg/hgtk/history.py:2730
+#: tortoisehg/hgtk/history.py:2720
#, python-format
msgid "Finished pull to revision %s"
msgstr ""
-#: tortoisehg/hgtk/history.py:2735
+#: tortoisehg/hgtk/history.py:2725
#, python-format
msgid "Pulling changesets to revision %s..."
msgstr ""
-#: tortoisehg/hgtk/history.py:2736
+#: tortoisehg/hgtk/history.py:2726
#, python-format
msgid "Pull to %s"
msgstr "拉取到 %s"
-#: tortoisehg/hgtk/history.py:2749 tortoisehg/hgtk/status.py:999
+#: tortoisehg/hgtk/history.py:2739 tortoisehg/hgtk/status.py:999
msgid "Save patch to"
msgstr "保存补丁到"
-#: tortoisehg/hgtk/history.py:2900 tortoisehg/hgtk/history.py:2910
+#: tortoisehg/hgtk/history.py:2890 tortoisehg/hgtk/history.py:2900
msgid "Refresh required"
msgstr ""
@@ -10891,6 +11058,16 @@msgid "Failed to strip"
msgstr "截去操作失败"
+#: tortoisehg/hgtk/thgstrip.py:179
+#, python-format
+msgid "%s changesets"
+msgstr ""
+
+#: tortoisehg/hgtk/thgstrip.py:180
+#, python-format
+msgid "%s will be stripped"
+msgstr ""
+
#: tortoisehg/hgtk/thgstrip.py:215
msgid ""
"Detected uncommitted local changes.\n"
@@ -10996,23 +11173,23 @@msgid "Universal Date"
msgstr "通用日期"
-#: tortoisehg/util/hglib.py:301
+#: tortoisehg/util/hglib.py:290
msgid "inotify is not supported on this platform"
msgstr ""
-#: tortoisehg/util/hglib.py:303
+#: tortoisehg/util/hglib.py:292
msgid "eol is incompatible with win32text"
msgstr ""
-#: tortoisehg/util/hglib.py:305
+#: tortoisehg/util/hglib.py:294
msgid "win32text is incompatible with eol"
msgstr ""
-#: tortoisehg/util/hglib.py:307
+#: tortoisehg/util/hglib.py:296
msgid "hgsubversion is incompatible with perfarce"
msgstr ""
-#: tortoisehg/util/hglib.py:309
+#: tortoisehg/util/hglib.py:298
msgid "perfarce is incompatible with hgsubversion"
msgstr ""
@@ -12466,6 +12643,12 @@#~ msgid "Invalid Remote Repository"
#~ msgstr "无效的远程仓库"
+#~ msgid "Make new/moved bookmark current"
+#~ msgstr "使 新/移动 标签 为当前"
+
+#~ msgid "Set Current"
+#~ msgstr "设为当前"
+
#~ msgid ""
#~ "Commit message text for new changeset that reverses the effect of the "
#~ "change being backed out."
@@ -12473,11 +12656,22 @@#~ "Commit message text for new changeset that reverses the effect of the "
#~ "change being backed out."
+#, python-format
+#~ msgid "Bookmark \"%s\" has been made current"
+#~ msgstr "当前书签 \"%s\" 已被创建"
+
+#~ msgid "Set Current Bookmark..."
+#~ msgstr "设置当前书签..."
+
#~ msgid "New name:"
#~ msgstr "新名称:"
#~ msgid "&Rename"
#~ msgstr "重命名(&R)"
+#~ msgid ""
+#~ "** Please report this bug to http://bitbucket.org/tortoisehg/thg/issues\n"
+#~ msgstr "** 请报告此错误至 http://bitbucket.org/tortoisehg/thg/issues\n"
+
#~ msgid "None"
#~ msgstr "无"
|
This file's diff was not loaded because this changeset is very large. Load changes Loading... |
|
@@ -104,11 +104,23 @@ try:
from mercurial import subrepo, commands
- def genSubrepoRevChangedDescription(sfrom, sto):
+ def genSubrepoRevChangedDescription(subrelpath, sfrom, sto):
"""Generate a subrepository revision change description"""
out = []
opts = {'date':None, 'user':None, 'rev':[sfrom]}
- if not sfrom:
+ subabspath = os.path.join(repo.root, subrelpath)
+ missingsub = not os.path.isdir(subabspath)
+ def isinitialrevision(rev):
+ return all([el == '0' for el in rev])
+ if isinitialrevision(sfrom):
+ sfrom = ''
+ if isinitialrevision(sto):
+ sto = ''
+ if not sfrom and not sto:
+ sstatedesc = 'new'
+ out.append(_('Subrepo created and set to initial revision.') + u'\n\n')
+ return out, sstatedesc
+ elif not sfrom:
sstatedesc = 'new'
out.append(_('Subrepo initialized to revision:') + u'\n\n')
elif not sto:
@@ -117,52 +129,73 @@ return out, sstatedesc
else:
sstatedesc = 'changed'
+
out.append(_('Revision has changed from:') + u'\n\n')
+ if missingsub:
+ out.append(hglib.tounicode(_('changeset: %s') % sfrom + '\n'))
+ else:
+ _ui.pushbuffer()
+ commands.log(_ui, srepo, **opts)
+ out.append(hglib.tounicode(_ui.popbuffer()))
+
+ out.append(_('To:') + u'\n')
+ if missingsub:
+ stolog = _('changeset: %s') % sto + '\n\n'
+ stolog += _('Subrepository not found in working directory.') + '\n'
+ stolog += _('Further subrepository revision information cannot be retrieved.') + '\n'
+ else:
+ opts['rev'] = [sto]
_ui.pushbuffer()
commands.log(_ui, srepo, **opts)
- out.append(hglib.tounicode(_ui.popbuffer()))
- out.append(_('To:') + u'\n')
- opts['rev'] = [sto]
- _ui.pushbuffer()
- commands.log(_ui, srepo, **opts)
- stolog = _ui.popbuffer()
+ stolog = _ui.popbuffer()
+
if not stolog:
stolog = _('Initial revision')
out.append(hglib.tounicode(stolog))
+
return out, sstatedesc
srev = ctx.substate.get(wfile, subrepo.nullstate)[1]
+ srepo = None
try:
- sub = ctx.sub(wfile)
- if isinstance(sub, subrepo.hgsubrepo):
- srepo = sub._repo
- sactual = srepo['.'].hex()
+ subabspath = os.path.join(repo.root, wfile)
+ if not os.path.isdir(subabspath):
+ sactual = ''
else:
- self.error = _('Not a Mercurial subrepo, not previewable')
- return
+ sub = ctx.sub(wfile)
+ if isinstance(sub, subrepo.hgsubrepo):
+ srepo = sub._repo
+ sactual = srepo['.'].hex()
+ else:
+ self.error = _('Not a Mercurial subrepo, not previewable')
+ return
except (util.Abort), e:
- sub = ctx.p1().sub(wfile)
- srepo = sub._repo
sactual = ''
+
out = []
_ui = uimod.ui()
- _ui.pushbuffer()
- commands.status(_ui, srepo)
- data = _ui.popbuffer()
- if data:
- out.append(_('File Status:') + u'\n')
- out.append(hglib.tounicode(data))
- out.append(u'\n')
+
+ if srepo is None or ctx.rev() is not None:
+ data = []
+ else:
+ _ui.pushbuffer()
+ commands.status(_ui, srepo)
+ data = _ui.popbuffer()
+ if data:
+ out.append(_('File Status:') + u'\n')
+ out.append(hglib.tounicode(data))
+ out.append(u'\n')
+
sstatedesc = 'changed'
if ctx.rev() is not None:
sparent = ctx.p1().substate.get(wfile, subrepo.nullstate)[1]
- subrepochange, sstatedesc = genSubrepoRevChangedDescription(sparent, srev)
+ subrepochange, sstatedesc = genSubrepoRevChangedDescription(wfile, sparent, srev)
out += subrepochange
else:
sstatedesc = 'dirty'
if srev != sactual:
subrepochange, sstatedesc = \
- genSubrepoRevChangedDescription(srev, sactual)
+ genSubrepoRevChangedDescription(wfile, srev, sactual)
out += subrepochange
if data:
sstatedesc += ' and dirty'
|
@@ -132,6 +132,7 @@
def setupUi(self, o):
self.editToolbar = QToolBar(self)
+ self.editToolbar.setContextMenuPolicy(Qt.PreventContextMenu)
self.addToolBar(Qt.ToolBarArea(Qt.TopToolBarArea), self.editToolbar)
self.actionClose = QAction(self, shortcut=QKeySequence.Close)
self.actionReload = QAction(self, shortcut=QKeySequence.Refresh)
@@ -264,6 +265,7 @@
def setupUi(self, o):
self.editToolbar = QToolBar(self)
+ self.editToolbar.setContextMenuPolicy(Qt.PreventContextMenu)
self.addToolBar(Qt.ToolBarArea(Qt.TopToolBarArea), self.editToolbar)
self.actionClose = QAction(self, shortcut=QKeySequence.Close)
self.actionReload = QAction(self, shortcut=QKeySequence.Refresh)
|
@@ -270,6 +270,7 @@ sw.outgoingNodes.connect(self.setOutgoingNodes)
sw.showMessage.connect(self.showMessage)
sw.incomingBundle.connect(self.setBundle)
+ sw.pullCompleted.connect(self.onPullCompleted)
sw.refreshTargets(self.rev)
return sw
@@ -312,24 +313,35 @@ self.revDetailsWidget.setRepo(self.repo)
self.manifestDemand.forward('setRepo', self.repo)
+ def onPullCompleted(self):
+ if self.bundle:
+ # create a new bundlerepo instance; revision numbers may change
+ brepo = thgrepo.repository(self.repo.ui, self.repo.root,
+ bundle=self.bundle)
+ repo = thgrepo.repository(self.repo.ui, self.repo.root)
+ if len(repo) == len(brepo):
+ # all bundle revisions pulled
+ self.clearBundle()
+ self.reload()
+ else:
+ # refresh revset with remaining revisions
+ self.revset = range(len(repo), len(brepo))
+ self.repo = brepo
+ self.repoview.setRepo(brepo)
+ self.revDetailsWidget.setRepo(brepo)
+ self.manifestDemand.forward('setRepo', brepo)
+ self.reload()
+ self.repomodel.revset = self.revset
+ self.repoview.resetBrowseHistory(self.revset)
+ self._reload_rev = self.revset[0]
+
def acceptBundle(self):
self.taskTabsWidget.setCurrentIndex(self.syncTabIndex)
self.syncDemand.pullBundle(self.bundle, None)
- self.clearBundle()
def pullBundleToRev(self):
self.taskTabsWidget.setCurrentIndex(self.syncTabIndex)
self.syncDemand.pullBundle(self.bundle, self.rev)
- removed = [self.repo[self.rev]]
- while removed:
- ctx = removed.pop()
- if ctx.rev() in self.revset:
- self.revset.remove(ctx.rev())
- removed.extend(ctx.parents())
- self.repomodel.revset = self.revset
- if not self.revset:
- self.clearBundle()
- self.refresh()
def rejectBundle(self):
self.clearBundle()
|
@@ -56,6 +56,7 @@ outgoingNodes = pyqtSignal(object)
incomingBundle = pyqtSignal(QString)
showMessage = pyqtSignal(unicode)
+ pullCompleted = pyqtSignal()
output = pyqtSignal(QString, QString)
progress = pyqtSignal(QString, object, QString, QString, object)
@@ -721,6 +722,7 @@ self.showMessage.emit(_('Pull from %s completed') % urlu)
else:
self.showMessage.emit(_('Pull from %s aborted, ret %d') % (urlu, ret))
+ self.pullCompleted.emit()
# handle file conflicts during rebase
if self.opts.get('rebase'):
if os.path.exists(self.repo.join('rebasestate')):
@@ -755,9 +757,14 @@ urlu = hglib.tounicode(url)
self.showMessage.emit(_('Finding outgoing changesets to %s...') % urlu)
if self.embedded and not self.opts.get('subrepos'):
+ def verifyhash(hash):
+ if len(hash) != 40:
+ return False
+ bad = [c for c in hash if c not in '0123456789abcdef']
+ return not bad
def outputnodes(ret, data):
if ret == 0:
- nodes = [n for n in data.splitlines() if len(n) == 40]
+ nodes = [n for n in data.splitlines() if verifyhash(n)]
if nodes:
self.outgoingNodes.emit(nodes)
self.showMessage.emit(_('%d outgoing changesets to %s') %
|
@@ -18,7 +18,7 @@ <?define helpFolder.guid = {4B71277D-72E9-48F2-8A06-C706E9C3B4C0} ?>
<!-- i18n.wxs -->
- <?define i18nFolder.guid = {F88D7B07-D61C-4EE8-9BE0-B8CB6E8A52DB} ?>
+ <?define i18nFolder.guid = {5191051C-742F-470E-AD76-D83C2F1EDE4E} ?>
<!-- templates.wxs -->
<?define templates.root.guid = {6A82D0BF-6878-42F3-92FD-AB39F7A97EEF} ?>
@@ -43,7 +43,7 @@ <?define Icons.guid = {34369923-9610-461C-9FB3-26CA3A139836} ?>
<!-- thg-i18n.wxs -->
- <?define thgI18nFolder.guid = {55DC742A-1E22-4A6C-B090-FD1E91AB8646} ?>
+ <?define thgI18nFolder.guid = {BC570E20-FB79-49B8-AFEF-B4BB867EE60F} ?>
<!-- tortoisehg.wxs -->
<?define ProductUpgradeCode = {838657CF-C9EC-452D-800D-0E70FC021D0A} ?>
|
@@ -5,7 +5,7 @@ <?include defines.wxi ?>
<?define hg_po_langs =
- da;de;el;fr;it;ja;pt_BR;sv;zh_CN;zh_TW
+ da;de;el;fr;it;ja;pt_BR;ro;sv;zh_CN;zh_TW
?>
<Fragment>
|
@@ -5,7 +5,7 @@ <?include defines.wxi ?>
<?define thg_po_langs =
- cs;da;de;en_GB;es;fa;fr;he;hr;hu;it;ja;ko;nl;nn;oc;pl;pt;pt_BR;ru;sv;tr;uk;zh_CN;zh_TW
+ cs;da;de;en_AU;en_GB;es;et;fa;fr;he;hr;hu;it;ja;ko;nb;nl;nn;oc;pl;pt;pt_BR;ru;sr;sv;tr;uk;zh_CN;zh_TW
?>
<!-- lang 'ca' is used for key path -->
|
Loading...