Commits

Yuya Nishihara committed 16a8201 Merge

Merge with stable

  • Participants
  • Parent commits 1f7dfd2, bf969ce

Comments (0)

Files changed (60)

 76c445826308aa262a35a0b6e66da0c7b782c91b 2.4.3
 0efe52b0f63faf640a22a85e5f13c0153771386e 2.5
 b54c477c7bf5a6c7f6ff268dab812224ba9bda96 2.5.1
+980b9c4d8d2034b6c09570d7e2e56aa7a578e121 2.6

File doc/source/archive.txt

 	:synopsis: Dialog used to make an archive of a repository
 
 You can choose from quite a lot of formats to make an archive of a repository.
-There are the usual compressed formats. But it's also possible to make a plain
-folder of files in another place than the Working Directory (it's like a clone,
-but without the .hg folder). Can be useful for doing builds for example (think
-'svn export'). One can make an archive with only the files of the selected rev.
-Some people seem to use this to send changes to external people that do not have
-access to the repository.
+There are the usual compressed formats, of course, but it's also possible to make a
+folder of the uncompressed files in a place other than the Working Directory (like a clone,
+but without the .hg folder). Such archives, for example, can be useful for doing builds (similar
+to 'svn export'). Archives may also be useful for sending changes to external people
+without access to the reposity, where only the effected files of a given revision or set
+of revisions need be included in the archive.
+
+
+From TortoiseHg
+---------------
 
 From the changelog context menu in the Workbench select
-:menuselection:`Archive...` for the choosen changeset, or,
-within the folder, type :command:`thg archive`.
+:menuselection:`Export --> Archive...` for the choosen changeset.
 
 .. figure:: figures/archive.png
 	:alt: Archive dialog
 :guilabel:`Only files modified/created in this revision`
 	To limit the number of files in the archive.
 :guilabel:`Destination path`
-	The filename or directory where the archive will be created. It is filled
+	The filename or directory where the archive will be created. The archive is filled
 	with the name of the current repository, suffixed with the revision number
 	of the selected revision, and has the appropriate extension of the selected
 	archive type.

File doc/source/conf.py

 # built documents.
 #
 # The short X.Y version.
-version = '2.5'
+version = '2.6'
 # The full version, including alpha/beta/rc tags.
-release = '2.5.0'
+release = '2.6.0'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.

File i18n/tortoisehg/ar.po

 msgstr ""
 "Project-Id-Version: tortoisehg\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
-"POT-Creation-Date: 2012-10-10 14:08-0300\n"
+"POT-Creation-Date: 2012-11-25 08:56-0200\n"
 "PO-Revision-Date: 2011-10-25 07:12+0000\n"
 "Last-Translator: Fadi Mansour <Unknown>\n"
 "Language-Team: Arabic <ar@li.org>\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= "
 "3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n"
-"X-Launchpad-Export-Date: 2012-10-11 05:04+0000\n"
-"X-Generator: Launchpad (build 16118)\n"
+"X-Launchpad-Export-Date: 2012-11-26 04:45+0000\n"
+"X-Generator: Launchpad (build 16293)\n"
 
 #: TortoiseHgOverlayServer.py:51
 msgid "TortoiseHg Overlay Icon Server"
 #: tortoisehg/hgqt/archive.py:40 tortoisehg/hgqt/backout.py:420
 #: tortoisehg/hgqt/bookmark.py:50 tortoisehg/hgqt/csinfo.py:105
 #: tortoisehg/hgqt/csinfo.py:106 tortoisehg/hgqt/cslist.py:86
-#: tortoisehg/hgqt/merge.py:454 tortoisehg/hgqt/tag.py:49
+#: tortoisehg/hgqt/merge.py:458 tortoisehg/hgqt/tag.py:49
 msgid "Revision:"
 msgstr "المراجعة:"
 
 msgstr "فقط الملفات المعدلة/المنشأة في هذه المراجعة"
 
 #: tortoisehg/hgqt/archive.py:47 tortoisehg/hgqt/grep.py:68
-#: tortoisehg/hgqt/sync.py:1718
+#: tortoisehg/hgqt/sync.py:1714
 msgid "Recurse into subrepositories"
 msgstr "النزول للمجلدات الفرعية"
 
 msgstr ""
 
 #: tortoisehg/hgqt/archive.py:114 tortoisehg/hgqt/backout.py:300
-#: tortoisehg/hgqt/commit.py:416 tortoisehg/hgqt/commit.py:424
-#: tortoisehg/hgqt/commit.py:761 tortoisehg/hgqt/commit.py:830
-#: tortoisehg/hgqt/commit.py:858 tortoisehg/hgqt/compress.py:152
-#: tortoisehg/hgqt/customtools.py:452 tortoisehg/hgqt/graft.py:50
-#: tortoisehg/hgqt/graft.py:275 tortoisehg/hgqt/graft.py:296
-#: tortoisehg/hgqt/lfprompt.py:23 tortoisehg/hgqt/merge.py:105
-#: tortoisehg/hgqt/merge.py:241 tortoisehg/hgqt/merge.py:319
-#: tortoisehg/hgqt/quickop.py:186 tortoisehg/hgqt/rebase.py:240
-#: tortoisehg/hgqt/rebase.py:261 tortoisehg/hgqt/rename.py:110
-#: tortoisehg/hgqt/reporegistry.py:208 tortoisehg/hgqt/resolve.py:356
-#: tortoisehg/hgqt/settings.py:1127 tortoisehg/hgqt/settings.py:1252
-#: tortoisehg/hgqt/wctxactions.py:267 tortoisehg/hgqt/wctxactions.py:282
-#: tortoisehg/hgqt/wctxactions.py:291 tortoisehg/hgqt/wctxactions.py:358
+#: tortoisehg/hgqt/commit.py:435 tortoisehg/hgqt/commit.py:443
+#: tortoisehg/hgqt/commit.py:777 tortoisehg/hgqt/commit.py:791
+#: tortoisehg/hgqt/commit.py:860 tortoisehg/hgqt/commit.py:888
+#: tortoisehg/hgqt/compress.py:152 tortoisehg/hgqt/customtools.py:452
+#: tortoisehg/hgqt/graft.py:45 tortoisehg/hgqt/graft.py:271
+#: tortoisehg/hgqt/graft.py:292 tortoisehg/hgqt/lfprompt.py:23
+#: tortoisehg/hgqt/merge.py:107 tortoisehg/hgqt/merge.py:243
+#: tortoisehg/hgqt/merge.py:322 tortoisehg/hgqt/quickop.py:186
+#: tortoisehg/hgqt/rebase.py:240 tortoisehg/hgqt/rebase.py:261
+#: tortoisehg/hgqt/rename.py:110 tortoisehg/hgqt/reporegistry.py:208
+#: tortoisehg/hgqt/resolve.py:423 tortoisehg/hgqt/settings.py:1137
+#: tortoisehg/hgqt/settings.py:1262 tortoisehg/hgqt/wctxactions.py:267
+#: tortoisehg/hgqt/wctxactions.py:282 tortoisehg/hgqt/wctxactions.py:291
+#: tortoisehg/hgqt/wctxactions.py:358
 msgid "Cancel"
 msgstr ""
 
 msgid "Backout to the second parent of the merge revision"
 msgstr ""
 
-#: tortoisehg/hgqt/backout.py:203 tortoisehg/hgqt/merge.py:160
+#: tortoisehg/hgqt/backout.py:203 tortoisehg/hgqt/merge.py:162
 msgid "Working directory status"
 msgstr ""
 
 #: tortoisehg/hgqt/backout.py:209 tortoisehg/hgqt/compress.py:69
-#: tortoisehg/hgqt/graft.py:122 tortoisehg/hgqt/merge.py:168
+#: tortoisehg/hgqt/graft.py:118 tortoisehg/hgqt/merge.py:170
 #: tortoisehg/hgqt/rebase.py:113
 msgid "Checking..."
 msgstr ""
 "href=\"discard\"><b>discard</b></a> changes."
 msgstr ""
 
-#: tortoisehg/hgqt/backout.py:228 tortoisehg/hgqt/graft.py:95
-#: tortoisehg/hgqt/merge.py:221 tortoisehg/hgqt/rebase.py:76
-#: tortoisehg/hgqt/sync.py:1233 tortoisehg/hgqt/update.py:103
+#: tortoisehg/hgqt/backout.py:228 tortoisehg/hgqt/graft.py:91
+#: tortoisehg/hgqt/merge.py:223 tortoisehg/hgqt/rebase.py:76
+#: tortoisehg/hgqt/sync.py:1229 tortoisehg/hgqt/update.py:103
 msgid "Automatically resolve merge conflicts where possible"
 msgstr ""
 
-#: tortoisehg/hgqt/backout.py:274 tortoisehg/hgqt/merge.py:291
+#: tortoisehg/hgqt/backout.py:274 tortoisehg/hgqt/merge.py:294
 msgid "<b>Uncommitted local changes are detected</b>"
 msgstr ""
 
 msgstr ""
 
 #: tortoisehg/hgqt/backout.py:299 tortoisehg/hgqt/compress.py:151
-#: tortoisehg/hgqt/graft.py:274 tortoisehg/hgqt/merge.py:240
-#: tortoisehg/hgqt/merge.py:318 tortoisehg/hgqt/rebase.py:239
-#: tortoisehg/hgqt/settings.py:1252 tortoisehg/hgqt/update.py:321
+#: tortoisehg/hgqt/graft.py:270 tortoisehg/hgqt/merge.py:242
+#: tortoisehg/hgqt/merge.py:321 tortoisehg/hgqt/rebase.py:239
+#: tortoisehg/hgqt/settings.py:1262 tortoisehg/hgqt/update.py:321
 msgid "&Discard"
 msgstr ""
 
 #: tortoisehg/hgqt/backout.py:301 tortoisehg/hgqt/compress.py:153
-#: tortoisehg/hgqt/graft.py:276 tortoisehg/hgqt/merge.py:320
+#: tortoisehg/hgqt/graft.py:272 tortoisehg/hgqt/merge.py:323
 #: tortoisehg/hgqt/rebase.py:241
 msgid "Confirm Discard"
 msgstr ""
 
 #: tortoisehg/hgqt/backout.py:302 tortoisehg/hgqt/compress.py:154
-#: tortoisehg/hgqt/graft.py:277 tortoisehg/hgqt/merge.py:321
+#: tortoisehg/hgqt/graft.py:273 tortoisehg/hgqt/merge.py:324
 #: tortoisehg/hgqt/rebase.py:242
 msgid "Discard outstanding changes to working directory?"
 msgstr ""
 msgid "Backing out, then merging..."
 msgstr ""
 
-#: tortoisehg/hgqt/backout.py:328 tortoisehg/hgqt/merge.py:349
+#: tortoisehg/hgqt/backout.py:328 tortoisehg/hgqt/merge.py:352
 msgid "All conflicting files will be marked unresolved."
 msgstr ""
 
 "Automatically advance to next page when backout and merge are complete."
 msgstr ""
 
-#: tortoisehg/hgqt/backout.py:372 tortoisehg/hgqt/merge.py:402
+#: tortoisehg/hgqt/backout.py:372 tortoisehg/hgqt/merge.py:406
 #, python-format
 msgid ""
 "%d files have <b>merge conflicts</b> that must be <a "
 "href=\"resolve\"><b>resolved</b></a>"
 msgstr ""
 
-#: tortoisehg/hgqt/backout.py:377 tortoisehg/hgqt/merge.py:412
+#: tortoisehg/hgqt/backout.py:377 tortoisehg/hgqt/merge.py:416
 msgid "No merge conflicts, ready to commit"
 msgstr ""
 
 msgstr ""
 
 #: tortoisehg/hgqt/backout.py:422 tortoisehg/hgqt/matching.py:101
-#: tortoisehg/hgqt/merge.py:456
+#: tortoisehg/hgqt/merge.py:460
 msgid "Parents"
 msgstr ""
 
-#: tortoisehg/hgqt/backout.py:426 tortoisehg/hgqt/merge.py:460
-#: tortoisehg/hgqt/repomodel.py:639 tortoisehg/hgqt/repomodel.py:641
+#: tortoisehg/hgqt/backout.py:426 tortoisehg/hgqt/merge.py:464
+#: tortoisehg/hgqt/repomodel.py:668 tortoisehg/hgqt/repomodel.py:670
 #: tortoisehg/hgqt/shelve.py:24 tortoisehg/hgqt/thgimport.py:88
 msgid "Working Directory"
 msgstr ""
 
-#: tortoisehg/hgqt/backout.py:466 tortoisehg/hgqt/merge.py:497
+#: tortoisehg/hgqt/backout.py:466 tortoisehg/hgqt/merge.py:501
 msgid "Working Directory (merged)"
 msgstr ""
 
-#: tortoisehg/hgqt/backout.py:474 tortoisehg/hgqt/merge.py:505
+#: tortoisehg/hgqt/backout.py:474 tortoisehg/hgqt/merge.py:509
 msgid "Commit message"
 msgstr ""
 
-#: tortoisehg/hgqt/backout.py:498 tortoisehg/hgqt/merge.py:531
+#: tortoisehg/hgqt/backout.py:498 tortoisehg/hgqt/merge.py:535
 msgid "Skip final confirmation page, close after commit."
 msgstr ""
 
 msgid "Backed out changeset: "
 msgstr ""
 
-#: tortoisehg/hgqt/backout.py:514 tortoisehg/hgqt/commit.py:676
-#: tortoisehg/hgqt/mq.py:823
+#: tortoisehg/hgqt/backout.py:514 tortoisehg/hgqt/commit.py:691
+#: tortoisehg/hgqt/mq.py:771
 msgid "Confirm Discard Message"
 msgstr ""
 
 msgid "Please wait while making backout."
 msgstr ""
 
-#: tortoisehg/hgqt/backout.py:594 tortoisehg/hgqt/merge.py:584
+#: tortoisehg/hgqt/backout.py:594 tortoisehg/hgqt/merge.py:612
 msgid "Committing..."
 msgstr ""
 
-#: tortoisehg/hgqt/backout.py:595 tortoisehg/hgqt/merge.py:585
+#: tortoisehg/hgqt/backout.py:595 tortoisehg/hgqt/merge.py:613
 msgid "Please wait while committing merged files."
 msgstr ""
 
 #: tortoisehg/hgqt/backout.py:620 tortoisehg/hgqt/cmdui.py:311
-#: tortoisehg/hgqt/merge.py:620
+#: tortoisehg/hgqt/merge.py:686
 msgid "Finished"
 msgstr ""
 
 msgstr ""
 
 #: tortoisehg/hgqt/bisect.py:72 tortoisehg/hgqt/compress.py:140
-#: tortoisehg/hgqt/graft.py:227 tortoisehg/hgqt/rebase.py:203
+#: tortoisehg/hgqt/graft.py:223 tortoisehg/hgqt/rebase.py:203
 msgid "Close"
 msgstr ""
 
 msgstr ""
 
 #: tortoisehg/hgqt/bisect.py:114 tortoisehg/hgqt/bisect.py:135
-#: tortoisehg/hgqt/commit.py:877 tortoisehg/hgqt/commit.py:1198
-#: tortoisehg/hgqt/commit.py:1218 tortoisehg/hgqt/hgignore.py:260
-#: tortoisehg/hgqt/hginit.py:179 tortoisehg/hgqt/status.py:486
-#: tortoisehg/hgqt/wctxactions.py:185
+#: tortoisehg/hgqt/commit.py:907 tortoisehg/hgqt/commit.py:1232
+#: tortoisehg/hgqt/commit.py:1252 tortoisehg/hgqt/hgignore.py:260
+#: tortoisehg/hgqt/hginit.py:179 tortoisehg/hgqt/merge.py:629
+#: tortoisehg/hgqt/status.py:487 tortoisehg/hgqt/wctxactions.py:185
 #, python-format
 msgid "%s (hint: %s)"
 msgstr ""
 msgid "New Name:"
 msgstr ""
 
-#: tortoisehg/hgqt/bookmark.py:67 tortoisehg/hgqt/commit.py:830
+#: tortoisehg/hgqt/bookmark.py:67 tortoisehg/hgqt/commit.py:860
 #: tortoisehg/hgqt/tag.py:98 tortoisehg/hgqt/wctxactions.py:56
 #: tortoisehg/hgqt/wctxactions.py:62
 msgid "&Add"
 msgid "Re&name"
 msgstr ""
 
-#: tortoisehg/hgqt/bookmark.py:69 tortoisehg/hgqt/commit.py:858
+#: tortoisehg/hgqt/bookmark.py:69 tortoisehg/hgqt/commit.py:888
 #: tortoisehg/hgqt/tag.py:99
 msgid "&Remove"
 msgstr ""
 msgid "Close current branch"
 msgstr ""
 
-#: tortoisehg/hgqt/bugreport.py:26
+#: tortoisehg/hgqt/bugreport.py:27
 #, 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:192
+#: tortoisehg/hgqt/bugreport.py:45 tortoisehg/hgqt/qscilib.py:192
 #: tortoisehg/hgqt/rename.py:166
 msgid "Copy"
 msgstr ""
 
-#: tortoisehg/hgqt/bugreport.py:45
+#: tortoisehg/hgqt/bugreport.py:46
 msgid "Quit"
 msgstr ""
 
-#: tortoisehg/hgqt/bugreport.py:48
+#: tortoisehg/hgqt/bugreport.py:49
 msgid "TortoiseHg Bug Report"
 msgstr ""
 
-#: tortoisehg/hgqt/bugreport.py:95
+#: tortoisehg/hgqt/bugreport.py:98
 msgid "Save error report to"
 msgstr ""
 
-#: tortoisehg/hgqt/bugreport.py:97
+#: tortoisehg/hgqt/bugreport.py:100
 msgid "Text files (*.txt)"
 msgstr ""
 
-#: tortoisehg/hgqt/bugreport.py:101
+#: tortoisehg/hgqt/bugreport.py:104
 msgid "Error writing file"
 msgstr ""
 
-#: tortoisehg/hgqt/bugreport.py:124 tortoisehg/hgqt/qqueue.py:336
+#: tortoisehg/hgqt/bugreport.py:127 tortoisehg/hgqt/qqueue.py:336
 #: tortoisehg/hgqt/qreorder.py:228
 msgid "TortoiseHg Error"
 msgstr ""
 
-#: tortoisehg/hgqt/bugreport.py:146
+#: tortoisehg/hgqt/bugreport.py:149
 msgid ""
 "If you still have trouble, <a href=\"#bugreport\">please file a bug "
 "report</a>."
 msgid "Revert file(s) to contents at this revision"
 msgstr ""
 
-#: tortoisehg/hgqt/chunks.py:195
+#: tortoisehg/hgqt/chunks.py:188
 msgid "Patch failed to apply"
 msgstr ""
 
-#: tortoisehg/hgqt/chunks.py:201 tortoisehg/hgqt/mq.py:244
-#: tortoisehg/hgqt/mq.py:751
+#: tortoisehg/hgqt/chunks.py:194 tortoisehg/hgqt/mq.py:192
+#: tortoisehg/hgqt/mq.py:699
 msgid "Manually resolve rejected chunks?"
 msgstr ""
 
-#: tortoisehg/hgqt/chunks.py:203
+#: tortoisehg/hgqt/chunks.py:196
 msgid "Edit patched file and rejects?"
 msgstr ""
 
+#: tortoisehg/hgqt/chunks.py:230
+msgid "No deletable chunks"
+msgstr ""
+
 #: tortoisehg/hgqt/chunks.py:237
-msgid "No deletable chunks"
-msgstr ""
-
-#: tortoisehg/hgqt/chunks.py:241
+msgid "Completely remove file from patch?"
+msgstr ""
+
+#: tortoisehg/hgqt/chunks.py:239
+msgid "Revert all file changes?"
+msgstr ""
+
+#: tortoisehg/hgqt/chunks.py:240
 msgid "No chunks remain"
 msgstr ""
 
-#: tortoisehg/hgqt/chunks.py:242
-msgid "Remove all file changes?"
-msgstr ""
-
-#: tortoisehg/hgqt/chunks.py:275
+#: tortoisehg/hgqt/chunks.py:271
 msgid "file has been deleted, refresh"
 msgstr ""
 
-#: tortoisehg/hgqt/chunks.py:278
+#: tortoisehg/hgqt/chunks.py:274
 msgid "file has been modified, refresh"
 msgstr ""
 
-#: tortoisehg/hgqt/chunks.py:312
+#: tortoisehg/hgqt/chunks.py:308
 msgid "Unable to merge chunks"
 msgstr ""
 
-#: tortoisehg/hgqt/chunks.py:313
+#: tortoisehg/hgqt/chunks.py:309
 msgid "Add or remove patches must be merged in the working directory"
 msgstr ""
 
-#: tortoisehg/hgqt/chunks.py:399
+#: tortoisehg/hgqt/chunks.py:395
 msgid "Unable to remove"
 msgstr ""
 
-#: tortoisehg/hgqt/chunks.py:400
+#: tortoisehg/hgqt/chunks.py:396
 #, python-format
 msgid ""
 "Unable to remove file %s,\n"
 "permission denied"
 msgstr ""
 
-#: tortoisehg/hgqt/chunks.py:536
+#: tortoisehg/hgqt/chunks.py:532
 msgctxt "files"
 msgid "All"
 msgstr ""
 
-#: tortoisehg/hgqt/chunks.py:541
+#: tortoisehg/hgqt/chunks.py:537
 msgctxt "files"
 msgid "None"
 msgstr ""
 
-#: tortoisehg/hgqt/chunks.py:597
+#: tortoisehg/hgqt/chunks.py:593
 #, python-format
 msgid "Chunks selected: %d / %d"
 msgstr ""
 msgid "Destination:"
 msgstr ""
 
-#: tortoisehg/hgqt/clone.py:95 tortoisehg/hgqt/commit.py:121
-#: tortoisehg/hgqt/graft.py:92 tortoisehg/hgqt/merge.py:208
-#: tortoisehg/hgqt/mq.py:622 tortoisehg/hgqt/postreview_ui.py:170
+#: tortoisehg/hgqt/clone.py:95 tortoisehg/hgqt/commit.py:140
+#: tortoisehg/hgqt/graft.py:88 tortoisehg/hgqt/merge.py:210
+#: tortoisehg/hgqt/mq.py:570 tortoisehg/hgqt/postreview_ui.py:170
 #: tortoisehg/hgqt/rebase.py:57 tortoisehg/hgqt/sync.py:177
 #: tortoisehg/hgqt/tag.py:64
 msgid "Options"
 msgid "Do not verify host certificate"
 msgstr ""
 
-#: tortoisehg/hgqt/clone.py:151 tortoisehg/hgqt/sync.py:1743
+#: tortoisehg/hgqt/clone.py:151 tortoisehg/hgqt/sync.py:1739
 msgid "Remote command:"
 msgstr ""
 
 msgid "&Clone"
 msgstr ""
 
-#: tortoisehg/hgqt/clone.py:183 tortoisehg/hgqt/cmdui.py:476
-#: tortoisehg/hgqt/thgimport.py:119 tortoisehg/hgqt/thgstrip.py:114
+#: tortoisehg/hgqt/clone.py:183 tortoisehg/hgqt/cmdui.py:477
+#: tortoisehg/hgqt/thgimport.py:119 tortoisehg/hgqt/thgstrip.py:112
 #: tortoisehg/hgqt/update.py:147
 msgid "Detail"
 msgstr ""
 msgid "Failed!"
 msgstr ""
 
-#: tortoisehg/hgqt/cmdui.py:485
+#: tortoisehg/hgqt/cmdui.py:486
 msgid "TortoiseHg Command Dialog"
 msgstr ""
 
-#: tortoisehg/hgqt/cmdui.py:505 tortoisehg/hgqt/graft.py:297
-#: tortoisehg/hgqt/merge.py:106 tortoisehg/hgqt/rebase.py:262
-#: tortoisehg/hgqt/resolve.py:357 tortoisehg/hgqt/settings.py:1124
+#: tortoisehg/hgqt/cmdui.py:506 tortoisehg/hgqt/graft.py:293
+#: tortoisehg/hgqt/merge.py:108 tortoisehg/hgqt/rebase.py:262
+#: tortoisehg/hgqt/resolve.py:424 tortoisehg/hgqt/settings.py:1134
 msgid "Confirm Exit"
 msgstr ""
 
-#: tortoisehg/hgqt/cmdui.py:506
+#: tortoisehg/hgqt/cmdui.py:507
 msgid ""
 "Mercurial command is still running.\n"
 "Are you sure you want to terminate?"
 msgstr ""
 
-#: tortoisehg/hgqt/cmdui.py:550
+#: tortoisehg/hgqt/cmdui.py:551
 msgid "TortoiseHg"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:80
+#: tortoisehg/hgqt/commit.py:99
 msgctxt "window title"
 msgid "Commit"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:102
+#: tortoisehg/hgqt/commit.py:121
 msgid "Commit Dialog Toolbar"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:106 tortoisehg/hgqt/commit.py:568
+#: tortoisehg/hgqt/commit.py:125 tortoisehg/hgqt/commit.py:591
 msgid "Branch: "
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:114
+#: tortoisehg/hgqt/commit.py:133
 msgid "Copy message"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:116
+#: tortoisehg/hgqt/commit.py:135
 msgid "Copy one of the recent commit messages"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:128
+#: tortoisehg/hgqt/commit.py:147
 msgid "Show Issues"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:130
+#: tortoisehg/hgqt/commit.py:149
 msgid "Please wait..."
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:138
+#: tortoisehg/hgqt/commit.py:157
 #, python-format
 msgid "Failed to load issue tracker '%s': %s"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:141 tortoisehg/hgqt/commit.py:510
+#: tortoisehg/hgqt/commit.py:160 tortoisehg/hgqt/commit.py:530
 #: tortoisehg/hgqt/settings.py:370
 msgid "Issue Tracker"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:149
+#: tortoisehg/hgqt/commit.py:168
 msgid "Show Issues..."
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:153 tortoisehg/hgqt/grep.py:53
+#: tortoisehg/hgqt/commit.py:172 tortoisehg/hgqt/grep.py:53
 #: tortoisehg/hgqt/serve_ui.py:87
 msgid "Stop"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:270
+#: tortoisehg/hgqt/commit.py:289
 msgid "Commit changes"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:270
+#: tortoisehg/hgqt/commit.py:289
 msgid "Commit"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:271
+#: tortoisehg/hgqt/commit.py:290
 msgid "Amend current revision"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:271
+#: tortoisehg/hgqt/commit.py:290
 msgid "Amend"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:275
+#: tortoisehg/hgqt/commit.py:294
 msgid "Create a new patch"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:275 tortoisehg/hgqt/mq.py:977
+#: tortoisehg/hgqt/commit.py:294 tortoisehg/hgqt/mq.py:925
 msgid "QNew"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:276
+#: tortoisehg/hgqt/commit.py:295
 msgid "Refresh current patch"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:276 tortoisehg/hgqt/mq.py:605
-#: tortoisehg/hgqt/mq.py:986
+#: tortoisehg/hgqt/commit.py:295 tortoisehg/hgqt/mq.py:553
+#: tortoisehg/hgqt/mq.py:934
 msgid "QRefresh"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:409
+#: tortoisehg/hgqt/commit.py:428
 msgid "Confirm Branch Change"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:410
+#: tortoisehg/hgqt/commit.py:429
 #, python-format
 msgid "Named branch \"%s\" already exists, last used in revision %d\n"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:414
+#: tortoisehg/hgqt/commit.py:433
 msgid "Restart &Branch"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:415 tortoisehg/hgqt/commit.py:423
+#: tortoisehg/hgqt/commit.py:434 tortoisehg/hgqt/commit.py:442
 msgid "&Commit to current branch"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:418 tortoisehg/hgqt/sync.py:1085
+#: tortoisehg/hgqt/commit.py:437 tortoisehg/hgqt/sync.py:1081
 msgid "Confirm New Branch"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:419
+#: tortoisehg/hgqt/commit.py:438
 #, python-format
 msgid "Create new named branch \"%s\" with this commit?\n"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:422
+#: tortoisehg/hgqt/commit.py:441
 msgid "Create &Branch"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:461
+#: tortoisehg/hgqt/commit.py:481
 msgctxt "start progress"
 msgid "MQ Action"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:570
+#: tortoisehg/hgqt/commit.py:593
 msgid "Close Branch: "
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:572
+#: tortoisehg/hgqt/commit.py:595
 msgid "New Branch: "
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:585
+#: tortoisehg/hgqt/commit.py:600 tortoisehg/hgqt/merge.py:546
 #, python-format
 msgid "<b>Selected Options:</b> %s"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:599 tortoisehg/hgqt/revpanel.py:24
+#: tortoisehg/hgqt/commit.py:614 tortoisehg/hgqt/revpanel.py:24
 #: tortoisehg/hgqt/update.py:87
 msgid "Parent:"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:600 tortoisehg/hgqt/pbranch.py:879
+#: tortoisehg/hgqt/commit.py:615 tortoisehg/hgqt/pbranch.py:879
 msgid "Patch name:"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:622
+#: tortoisehg/hgqt/commit.py:637
 #, python-format
 msgid "Close %s branch"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:635
+#: tortoisehg/hgqt/commit.py:650
 #, python-format
 msgid "Rollback commit to revision %d"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:644
+#: tortoisehg/hgqt/commit.py:659
 msgid "Confirm Undo"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:649
+#: tortoisehg/hgqt/commit.py:664
 msgctxt "start progress"
 msgid "Rollback"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:677 tortoisehg/hgqt/mq.py:824
+#: tortoisehg/hgqt/commit.py:692 tortoisehg/hgqt/mq.py:772
 msgid "Discard current commit message?"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:757
+#: tortoisehg/hgqt/commit.py:771
+msgid "Default username is not configured"
+msgstr ""
+
+#: tortoisehg/hgqt/commit.py:772
+msgid ""
+"A default username is not configured. This username is used when you commit "
+"unless you set a different username on a given repository.\n"
+"\n"
+"You must configure a default username before being able to commit.\n"
+"\n"
+"Do you want to configure your default username now?"
+msgstr ""
+
+#: tortoisehg/hgqt/commit.py:777
+msgid "&Configure"
+msgstr ""
+
+#: tortoisehg/hgqt/commit.py:787
 msgid "Message Translation Failure"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:758
+#: tortoisehg/hgqt/commit.py:788
 msgid ""
 "Unable to translate message to local encoding\n"
 "Consider setting HGENCODING environment variable\n"
 "Replace untranslatable characters with \"?\"?\n"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:761
+#: tortoisehg/hgqt/commit.py:791
 msgid "&Replace"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:769 tortoisehg/hgqt/commit.py:782
+#: tortoisehg/hgqt/commit.py:799 tortoisehg/hgqt/commit.py:812
 msgid "Nothing Commited"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:770
+#: tortoisehg/hgqt/commit.py:800
 msgid "Please enter commit message"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:783
+#: tortoisehg/hgqt/commit.py:813
 msgid ""
 "No issue link was found in the commit message.  The commit message should "
 "contain an issue link.  Configure this in the 'Issue Tracking' section of "
 "the settings."
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:812
+#: tortoisehg/hgqt/commit.py:842
 msgid "No files checked"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:813
+#: tortoisehg/hgqt/commit.py:843
 msgid "No modified files checkmarked for commit"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:828 tortoisehg/hgqt/lfprompt.py:16
+#: tortoisehg/hgqt/commit.py:858 tortoisehg/hgqt/lfprompt.py:16
 msgid "Confirm Add"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:829
+#: tortoisehg/hgqt/commit.py:859
 msgid "Add selected untracked files?"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:856 tortoisehg/hgqt/quickop.py:181
+#: tortoisehg/hgqt/commit.py:886 tortoisehg/hgqt/quickop.py:181
 msgid "Confirm Remove"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:857
+#: tortoisehg/hgqt/commit.py:887
 msgid "Remove selected deleted files?"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:915
+#: tortoisehg/hgqt/commit.py:947
 msgctxt "start progress"
 msgid "Commit"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:951
+#: tortoisehg/hgqt/commit.py:983
 #, python-format
 msgid "%s - commit options"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:958
+#: tortoisehg/hgqt/commit.py:990
 msgid "Set username:"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:985 tortoisehg/hgqt/commit.py:1032
-#: tortoisehg/hgqt/commit.py:1055 tortoisehg/hgqt/commit.py:1071
+#: tortoisehg/hgqt/commit.py:1017 tortoisehg/hgqt/commit.py:1064
+#: tortoisehg/hgqt/commit.py:1087 tortoisehg/hgqt/commit.py:1105
 msgid "Save in Repo"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:990
+#: tortoisehg/hgqt/commit.py:1022
 msgid "Save Global"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1002
+#: tortoisehg/hgqt/commit.py:1034
 msgid "Set Date:"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1006
+#: tortoisehg/hgqt/commit.py:1038
 msgid "Update"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1025
+#: tortoisehg/hgqt/commit.py:1057
 msgid "Push After Commit:"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1048
+#: tortoisehg/hgqt/commit.py:1080
 msgid "Auto Includes:"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1073
+#: tortoisehg/hgqt/commit.py:1107
 msgid "Recurse into subrepositories (--subrepos)"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1102
+#: tortoisehg/hgqt/commit.py:1136
 msgid "Unable to save username"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1103 tortoisehg/hgqt/commit.py:1126
-#: tortoisehg/hgqt/commit.py:1149 tortoisehg/hgqt/commit.py:1172
-#: tortoisehg/hgqt/sync.py:1175 tortoisehg/hgqt/sync.py:1273
-#: tortoisehg/hgqt/sync.py:1351 tortoisehg/hgqt/sync.py:1540
+#: tortoisehg/hgqt/commit.py:1137 tortoisehg/hgqt/commit.py:1160
+#: tortoisehg/hgqt/commit.py:1183 tortoisehg/hgqt/commit.py:1206
+#: tortoisehg/hgqt/sync.py:1171 tortoisehg/hgqt/sync.py:1269
+#: tortoisehg/hgqt/sync.py:1347 tortoisehg/hgqt/sync.py:1536
 msgid "Iniparse must be installed."
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1118 tortoisehg/hgqt/commit.py:1141
-#: tortoisehg/hgqt/commit.py:1164 tortoisehg/hgqt/commit.py:1187
-#: tortoisehg/hgqt/settings.py:1492 tortoisehg/hgqt/sync.py:1185
-#: tortoisehg/hgqt/sync.py:1284 tortoisehg/hgqt/sync.py:1374
-#: tortoisehg/hgqt/sync.py:1579
+#: tortoisehg/hgqt/commit.py:1152 tortoisehg/hgqt/commit.py:1175
+#: tortoisehg/hgqt/commit.py:1198 tortoisehg/hgqt/commit.py:1221
+#: tortoisehg/hgqt/settings.py:1502 tortoisehg/hgqt/sync.py:1181
+#: tortoisehg/hgqt/sync.py:1280 tortoisehg/hgqt/sync.py:1370
+#: tortoisehg/hgqt/sync.py:1575
 msgid "Unable to write configuration file"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1125
+#: tortoisehg/hgqt/commit.py:1159
 msgid "Unable to save after commit push"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1148
+#: tortoisehg/hgqt/commit.py:1182
 msgid "Unable to save auto include list"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1171
+#: tortoisehg/hgqt/commit.py:1205
 msgid "Unable to save recurse in subrepos."
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1202
+#: tortoisehg/hgqt/commit.py:1236
 msgid "Invalid date format"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1222
+#: tortoisehg/hgqt/commit.py:1256
 msgid "No username configured"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1293
+#: tortoisehg/hgqt/commit.py:1327
 #, python-format
 msgid "%s - commit"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1346
+#: tortoisehg/hgqt/commit.py:1380
 msgid "TortoiseHg Commit"
 msgstr ""
 
-#: tortoisehg/hgqt/commit.py:1347
+#: tortoisehg/hgqt/commit.py:1381
 msgid "Are you sure that you want to cancel the commit operation?"
 msgstr ""
 
 msgstr ""
 
 #: tortoisehg/hgqt/csinfo.py:108 tortoisehg/hgqt/csinfo.py:110
-#: tortoisehg/hgqt/sync.py:1749
+#: tortoisehg/hgqt/sync.py:1745
 msgid "Branch:"
 msgstr ""
 
 msgstr ""
 
 #: tortoisehg/hgqt/filectxactions.py:63 tortoisehg/hgqt/grep.py:568
-#: tortoisehg/util/menuthg.py:76
+#: tortoisehg/util/menuthg.py:79
 msgid "Diff to parent"
 msgstr ""
 
 msgid "Open a shell terminal in the selected folder"
 msgstr ""
 
-#: tortoisehg/hgqt/filectxactions.py:188
+#: tortoisehg/hgqt/filectxactions.py:194
 msgid "Cannot display visual diff"
 msgstr ""
 
-#: tortoisehg/hgqt/filectxactions.py:189
+#: tortoisehg/hgqt/filectxactions.py:195
 msgid "Visual diffs are not supported for unapplied patches"
 msgstr ""
 
-#: tortoisehg/hgqt/filectxactions.py:265
+#: tortoisehg/hgqt/filectxactions.py:271
 #, python-format
 msgid "Hg file log viewer - %s"
 msgstr ""
 
-#: tortoisehg/hgqt/filectxactions.py:309 tortoisehg/hgqt/wctxactions.py:238
+#: tortoisehg/hgqt/filectxactions.py:315 tortoisehg/hgqt/wctxactions.py:238
 msgid "Cannot open subrepository"
 msgstr ""
 
-#: tortoisehg/hgqt/filectxactions.py:310 tortoisehg/hgqt/wctxactions.py:239
+#: tortoisehg/hgqt/filectxactions.py:316 tortoisehg/hgqt/wctxactions.py:239
 msgid "The selected subrepository does not exist on the working directory"
 msgstr ""
 
 msgid "File or diffs not displayed: "
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:54
+#: tortoisehg/hgqt/filedata.py:54 tortoisehg/hgqt/filedata.py:121
 #, python-format
 msgid ""
 "File is larger than the specified max size.\n"
 "maxdiff = %s KB"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:61
+#: tortoisehg/hgqt/filedata.py:61 tortoisehg/hgqt/filedata.py:124
 msgid "File is binary"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:65
+#: tortoisehg/hgqt/filedata.py:65 tortoisehg/hgqt/filedata.py:128
 msgid "File may be binary (maximum line length exceeded)"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:74 tortoisehg/hgqt/filedata.py:381
+#: tortoisehg/hgqt/filedata.py:74 tortoisehg/hgqt/filedata.py:395
 #, python-format
 msgid " <i>(renamed from %s)</i>"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:76 tortoisehg/hgqt/filedata.py:376
-#: tortoisehg/hgqt/filedata.py:386
+#: tortoisehg/hgqt/filedata.py:76 tortoisehg/hgqt/filedata.py:390
+#: tortoisehg/hgqt/filedata.py:400
 msgid " <i>(was added)</i>"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:109 tortoisehg/hgqt/filedata.py:369
+#: tortoisehg/hgqt/filedata.py:110 tortoisehg/hgqt/filedata.py:383
 msgid "exec mode has been <font color='red'>set</font>"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:111 tortoisehg/hgqt/filedata.py:371
+#: tortoisehg/hgqt/filedata.py:112 tortoisehg/hgqt/filedata.py:385
 msgid "exec mode has been <font color='red'>unset</font>"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:113 tortoisehg/hgqt/filedata.py:133
+#: tortoisehg/hgqt/filedata.py:114 tortoisehg/hgqt/filedata.py:148
 msgid " <i>(is a symlink)</i>"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:162
+#: tortoisehg/hgqt/filedata.py:117
+msgid "Diff not displayed: "
+msgstr ""
+
+#: tortoisehg/hgqt/filedata.py:177
 #, python-format
 msgid ""
 "[WARNING] Invalid subrepo revision ID:\n"
 "\n"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:182
+#: tortoisehg/hgqt/filedata.py:197
 msgid "Subrepo created and set to initial revision."
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:186
+#: tortoisehg/hgqt/filedata.py:201
 msgid "Subrepo initialized to revision:"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:189
+#: tortoisehg/hgqt/filedata.py:204
 msgid "Subrepo removed from repository."
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:193
+#: tortoisehg/hgqt/filedata.py:208
 msgid "Subrepo was not changed."
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:194
+#: tortoisehg/hgqt/filedata.py:209
 msgid "Subrepo state is:"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:196 tortoisehg/hgqt/filedata.py:206
-#: tortoisehg/hgqt/filedata.py:211 tortoisehg/hgqt/filedata.py:215
-#: tortoisehg/hgqt/filedata.py:221
+#: tortoisehg/hgqt/filedata.py:211 tortoisehg/hgqt/filedata.py:221
+#: tortoisehg/hgqt/filedata.py:226 tortoisehg/hgqt/filedata.py:230
+#: tortoisehg/hgqt/filedata.py:236
 #, python-format
 msgid "changeset: %s"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:203
+#: tortoisehg/hgqt/filedata.py:218
 msgid "Revision has changed to:"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:212 tortoisehg/hgqt/hgemail_ui.py:264
+#: tortoisehg/hgqt/filedata.py:227 tortoisehg/hgqt/hgemail_ui.py:264
 msgid "From:"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:216
+#: tortoisehg/hgqt/filedata.py:231
 msgid "Subrepository not found in the working directory."
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:218 tortoisehg/hgqt/filedata.py:224
+#: tortoisehg/hgqt/filedata.py:233 tortoisehg/hgqt/filedata.py:239
 msgid "Further subrepository revision information cannot be retrieved."
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:222
+#: tortoisehg/hgqt/filedata.py:237
 msgid "Subrepository is either damaged or missing some revisions"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:226
+#: tortoisehg/hgqt/filedata.py:241
 msgid ""
 "You may need to open the missing subrepository and manually\n"
 "pull the missing revisions from its source repository."
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:235 tortoisehg/hgqt/settings.py:610
+#: tortoisehg/hgqt/filedata.py:250 tortoisehg/hgqt/settings.py:610
 msgid "Initial revision"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:255
+#: tortoisehg/hgqt/filedata.py:270
 msgid "Not a Mercurial subrepo, not previewable"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:270
+#: tortoisehg/hgqt/filedata.py:285
 msgid "The subrepository is dirty."
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:270
+#: tortoisehg/hgqt/filedata.py:285
 msgid "File Status:"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:295
+#: tortoisehg/hgqt/filedata.py:310
 msgid "(is a changed sub-repository)"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:296
+#: tortoisehg/hgqt/filedata.py:311
 msgid "(is an unchanged sub-repository)"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:297
+#: tortoisehg/hgqt/filedata.py:312
 msgid "(is a dirty sub-repository)"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:298
+#: tortoisehg/hgqt/filedata.py:313
 msgid "(is a new sub-repository)"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:299 tortoisehg/hgqt/filedata.py:302
+#: tortoisehg/hgqt/filedata.py:314 tortoisehg/hgqt/filedata.py:317
 msgid "(is a removed sub-repository)"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:300
+#: tortoisehg/hgqt/filedata.py:315
 msgid "(is a changed and dirty sub-repository)"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:301
+#: tortoisehg/hgqt/filedata.py:316
 msgid "(is a new and dirty sub-repository)"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:306
+#: tortoisehg/hgqt/filedata.py:321
 #, python-format
 msgid " <a href=\"subrepo:%s\">open...</a>"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:309
+#: tortoisehg/hgqt/filedata.py:324
 #, python-format
 msgid "Error previewing subrepo: %s"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:316
+#: tortoisehg/hgqt/filedata.py:330
 #, python-format
 msgid ""
 "File or diffs not displayed: File is larger than the specified max size.\n"
 "maxdiff = %s KB"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:331 tortoisehg/hgqt/filedata.py:334
+#: tortoisehg/hgqt/filedata.py:345 tortoisehg/hgqt/filedata.py:348
 msgid " <i>(was deleted)</i>"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:336
+#: tortoisehg/hgqt/filedata.py:350
 msgid " <i>(was added, now missing)</i>"
 msgstr ""
 
-#: tortoisehg/hgqt/filedata.py:342
+#: tortoisehg/hgqt/filedata.py:356
 msgid " <i>(is unversioned)</i>"
 msgstr ""
 
 msgid "Too many rows selected for menu"
 msgstr ""
 
-#: tortoisehg/hgqt/filedialogs.py:184 tortoisehg/hgqt/workbench.py:347
+#: tortoisehg/hgqt/filedialogs.py:184 tortoisehg/hgqt/workbench.py:346
 msgid "Back"
 msgstr ""
 
-#: tortoisehg/hgqt/filedialogs.py:186 tortoisehg/hgqt/workbench.py:350
+#: tortoisehg/hgqt/filedialogs.py:186 tortoisehg/hgqt/workbench.py:349
 msgid "Forward"
 msgstr ""
 
 msgid "Previous diff"
 msgstr ""
 
-#: tortoisehg/hgqt/filedialogs.py:753 tortoisehg/hgqt/repowidget.py:1225
+#: tortoisehg/hgqt/filedialogs.py:753 tortoisehg/hgqt/repowidget.py:1227
 msgid "Diff to parent..."
 msgstr ""
 
-#: tortoisehg/hgqt/filedialogs.py:756 tortoisehg/hgqt/repowidget.py:1227
+#: tortoisehg/hgqt/filedialogs.py:756 tortoisehg/hgqt/repowidget.py:1229
 msgid "Diff to local..."
 msgstr ""
 
 msgid "Show Revision"
 msgstr ""
 
-#: tortoisehg/hgqt/graft.py:44
+#: tortoisehg/hgqt/graft.py:39
 msgid "Interrupted graft operation found"
 msgstr ""
 
-#: tortoisehg/hgqt/graft.py:45
+#: tortoisehg/hgqt/graft.py:40
 msgid ""
 "An interrupted graft operation has been found.\n"
 "\n"
 "interrupted graft operation first."
 msgstr ""
 
-#: tortoisehg/hgqt/graft.py:49
+#: tortoisehg/hgqt/graft.py:44
 msgid "Continue or abort interrupted graft operation?"
 msgstr ""
 
-#: tortoisehg/hgqt/graft.py:67
+#: tortoisehg/hgqt/graft.py:63
 #, python-format
 msgid "Graft %d changesets on top of changeset %s"
 msgstr ""
 
-#: tortoisehg/hgqt/graft.py:84
+#: tortoisehg/hgqt/graft.py:80
 msgid "To graft destination"
 msgstr ""
 
-#: tortoisehg/hgqt/graft.py:110
+#: tortoisehg/hgqt/graft.py:106
 msgid "Graft"
 msgstr ""
 
-#: tortoisehg/hgqt/graft.py:113 tortoisehg/hgqt/graft.py:313
+#: tortoisehg/hgqt/graft.py:109 tortoisehg/hgqt/graft.py:309
 #: tortoisehg/hgqt/rebase.py:101 tortoisehg/hgqt/rebase.py:274
-#: tortoisehg/hgqt/repowidget.py:1608 tortoisehg/hgqt/repowidget.py:1635
+#: tortoisehg/hgqt/repowidget.py:1610 tortoisehg/hgqt/repowidget.py:1637
 msgid "Abort"
 msgstr ""
 
-#: tortoisehg/hgqt/graft.py:130
+#: tortoisehg/hgqt/graft.py:126
 #, python-format
 msgid "Graft - %s"
 msgstr ""
 
-#: tortoisehg/hgqt/graft.py:135
+#: tortoisehg/hgqt/graft.py:131
 msgid "Graft changeset"
 msgstr ""
 
-#: tortoisehg/hgqt/graft.py:137
+#: tortoisehg/hgqt/graft.py:133
 #, python-format
 msgid "Graft changeset #%d of %d"
 msgstr ""
 
-#: tortoisehg/hgqt/graft.py:166
+#: tortoisehg/hgqt/graft.py:162
 msgid ""
 "Before graft, you must <a href=\"commit\"><b>commit</b></a> or <a "
 "href=\"discard\"><b>discard</b></a> changes."
 msgstr ""
 
-#: tortoisehg/hgqt/graft.py:171
+#: tortoisehg/hgqt/graft.py:167
 msgid "You may continue or start the graft"
 msgstr ""
 
+#: tortoisehg/hgqt/graft.py:213
+msgid "Graft is complete"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:215
+msgid "Graft aborted"
+msgstr ""
+
 #: tortoisehg/hgqt/graft.py:217
-msgid "Graft is complete"
-msgstr ""
-
-#: tortoisehg/hgqt/graft.py:219
-msgid "Graft aborted"
-msgstr ""
-
-#: tortoisehg/hgqt/graft.py:221
 msgid "Graft failed"
 msgstr ""
 
-#: tortoisehg/hgqt/graft.py:234
+#: tortoisehg/hgqt/graft.py:230
 msgid ""
 "Graft generated merge <b>conflicts</b> that must be <a "
 "href=\"resolve\"><b>resolved</b></a>"
 msgstr ""
 
-#: tortoisehg/hgqt/graft.py:240
+#: tortoisehg/hgqt/graft.py:236
 msgid "You may continue the graft"
 msgstr ""
 
-#: tortoisehg/hgqt/graft.py:293
+#: tortoisehg/hgqt/graft.py:289
 msgid "Exiting with an unfinished graft is not recommended."
 msgstr ""
 
-#: tortoisehg/hgqt/graft.py:294
+#: tortoisehg/hgqt/graft.py:290
 msgid "Consider aborting the graft first."
 msgstr ""
 
-#: tortoisehg/hgqt/graft.py:295 tortoisehg/hgqt/merge.py:104
+#: tortoisehg/hgqt/graft.py:291 tortoisehg/hgqt/merge.py:106
 #: tortoisehg/hgqt/rebase.py:260
 msgid "&Exit"
 msgstr ""
 
+#: tortoisehg/hgqt/graft.py:306
+msgid "Graft already in progress"
+msgstr ""
+
+#: tortoisehg/hgqt/graft.py:307
+msgid "Resuming graft already in progress"
+msgstr ""
+
 #: tortoisehg/hgqt/graft.py:310
-msgid "Graft already in progress"
-msgstr ""
-
-#: tortoisehg/hgqt/graft.py:311
-msgid "Resuming graft already in progress"
-msgstr ""
-
-#: tortoisehg/hgqt/graft.py:314
 msgid "You must provide revisions to graft"
 msgstr ""
 
 msgid "grep: %s\n"
 msgstr ""
 
-#: tortoisehg/hgqt/grep.py:361 tortoisehg/hgqt/revset.py:395
+#: tortoisehg/hgqt/grep.py:361 tortoisehg/hgqt/revset.py:401
 #, python-format
 msgid "%d matches found"
 msgstr ""
 
-#: tortoisehg/hgqt/grep.py:363 tortoisehg/hgqt/revset.py:397
+#: tortoisehg/hgqt/grep.py:363 tortoisehg/hgqt/revset.py:403
 msgid "No matches found"
 msgstr ""
 
 msgid "Annotate file"
 msgstr ""
 
-#: tortoisehg/hgqt/grep.py:723
+#: tortoisehg/hgqt/grep.py:727
 msgid "File"
 msgstr ""
 
-#: tortoisehg/hgqt/grep.py:723
+#: tortoisehg/hgqt/grep.py:727
 msgid "Line"
 msgstr ""
 
-#: tortoisehg/hgqt/grep.py:723
+#: tortoisehg/hgqt/grep.py:727
 msgid "Rev"
 msgstr ""
 
-#: tortoisehg/hgqt/grep.py:723 tortoisehg/hgqt/settings.py:809
-#: tortoisehg/hgqt/settings.py:955 tortoisehg/hgqt/settings.py:1055
+#: tortoisehg/hgqt/grep.py:727 tortoisehg/hgqt/settings.py:816
+#: tortoisehg/hgqt/settings.py:965 tortoisehg/hgqt/settings.py:1065
 msgid "User"
 msgstr ""
 
-#: tortoisehg/hgqt/grep.py:724
+#: tortoisehg/hgqt/grep.py:728
 msgid "Match Text"
 msgstr ""
 
 msgid "Failed to open Email dialog"
 msgstr ""
 
-#: tortoisehg/hgqt/hgemail_ui.py:261 tortoisehg/hgqt/settings.py:815
+#: tortoisehg/hgqt/hgemail_ui.py:261 tortoisehg/hgqt/settings.py:822
 msgid "Email"
 msgstr ""
 
 msgid "Add"
 msgstr ""
 
-#: tortoisehg/hgqt/hgignore.py:73 tortoisehg/hgqt/resolve.py:128
-#: tortoisehg/hgqt/settings.py:1177
+#: tortoisehg/hgqt/hgignore.py:73 tortoisehg/hgqt/resolve.py:151
+#: tortoisehg/hgqt/resolve.py:177 tortoisehg/hgqt/settings.py:1187
 msgid "Edit File"
 msgstr ""
 
 msgstr ""
 
 #: tortoisehg/hgqt/logcolumns.py:100 tortoisehg/hgqt/settings.py:599
-#: tortoisehg/hgqt/workbench.py:840 tortoisehg/util/menuthg.py:46
+#: tortoisehg/hgqt/workbench.py:839 tortoisehg/util/menuthg.py:46
 msgid "Workbench"
 msgstr ""
 
 msgid "Status"
 msgstr ""
 
-#: tortoisehg/hgqt/manifestdialog.py:403
+#: tortoisehg/hgqt/manifestdialog.py:408
 msgid "Failed to open Manifest dialog"
 msgstr ""
 
 msgid "Find revisions matching fields of:"
 msgstr ""
 
-#: tortoisehg/hgqt/matching.py:73 tortoisehg/hgqt/matching.py:202
-#: tortoisehg/hgqt/matching.py:223
+#: tortoisehg/hgqt/matching.py:73 tortoisehg/hgqt/matching.py:196
+#: tortoisehg/hgqt/matching.py:217
 msgid "Revision to Match:"
 msgstr ""
 
 msgid "Summary (first description line)"
 msgstr ""
 
-#: tortoisehg/hgqt/matching.py:88 tortoisehg/hgqt/settings.py:758
+#: tortoisehg/hgqt/matching.py:88 tortoisehg/hgqt/settings.py:765
 msgid "Description"
 msgstr ""
 
 msgid "Subrepo states"
 msgstr ""
 
-#: tortoisehg/hgqt/matching.py:100 tortoisehg/hgqt/repofilter.py:226
+#: tortoisehg/hgqt/matching.py:100 tortoisehg/hgqt/repofilter.py:227
 msgid "Branch"
 msgstr ""
 
 msgid "Phase"
 msgstr ""
 
-#: tortoisehg/hgqt/matching.py:141
+#: tortoisehg/hgqt/matching.py:135
 msgid "&Match"
 msgstr ""
 
-#: tortoisehg/hgqt/matching.py:152
+#: tortoisehg/hgqt/matching.py:146
 #, python-format
 msgid "Find matches - %s"
 msgstr ""
 
-#: tortoisehg/hgqt/matching.py:219
+#: tortoisehg/hgqt/matching.py:213
 msgid "Revisions to Match:"
 msgstr ""
 
-#: tortoisehg/hgqt/matching.py:220
+#: tortoisehg/hgqt/matching.py:214
 #, python-format
 msgid "Match any of <b><i>%d</i></b> revisions"
 msgstr ""
 
-#: tortoisehg/hgqt/matching.py:227
+#: tortoisehg/hgqt/matching.py:221
 msgid "<b>Unknown revision!</b>"
 msgstr ""
 
-#: tortoisehg/hgqt/matching.py:229
+#: tortoisehg/hgqt/matching.py:223
 msgid "<b>Parse Error!</b>"
 msgstr ""
 
 msgstr ""
 
 #: tortoisehg/hgqt/merge.py:102
-msgid "To finish merging, you need to commit the working directory."
-msgstr ""
-
-#: tortoisehg/hgqt/merge.py:124
+msgid ""
+"To finish merging, you must commit the working directory.\n"
+"\n"
+"To cancel the merge you can update to one of the merge parent revisions."
+msgstr ""
+
+#: tortoisehg/hgqt/merge.py:126
 msgid "Prepare to merge"
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:125
+#: tortoisehg/hgqt/merge.py:127
 msgid "Verify merge targets and ensure your working directory is clean."
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:134 tortoisehg/hgqt/repomodel.py:645
+#: tortoisehg/hgqt/merge.py:136 tortoisehg/hgqt/repomodel.py:674
 #: tortoisehg/hgqt/revpanel.py:159
 msgid "Not a head revision!"
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:141
+#: tortoisehg/hgqt/merge.py:143
 msgid "Merge from (other revision)"
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:148 tortoisehg/hgqt/merge.py:670
+#: tortoisehg/hgqt/merge.py:150 tortoisehg/hgqt/merge.py:737
 msgid "Unable to merge"
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:149 tortoisehg/hgqt/merge.py:671
+#: tortoisehg/hgqt/merge.py:151 tortoisehg/hgqt/merge.py:738
 msgid "Merge revision not specified or not found"
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:153
+#: tortoisehg/hgqt/merge.py:155
 msgid "Merge to (working directory)"
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:176
+#: tortoisehg/hgqt/merge.py:178
 msgid ""
 "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 ""
 
-#: tortoisehg/hgqt/merge.py:185
+#: tortoisehg/hgqt/merge.py:187
 msgid ""
 "Before merging, you must <a href=\"commit\"><b>commit</b></a>, <a "
 "href=\"shelve\"><b>shelve</b></a> to patch, or <a "
 "href=\"discard\"><b>discard</b></a> changes."
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:197
+#: tortoisehg/hgqt/merge.py:199
 msgid "Or use:"
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:200
+#: tortoisehg/hgqt/merge.py:202
 msgid "Force a merge with outstanding changes (-f/--force)"
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:214
+#: tortoisehg/hgqt/merge.py:216
 msgid "Discard all changes from merge target (other) revision"
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:242
+#: tortoisehg/hgqt/merge.py:244
 msgid "Confirm Discard Changes"
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:243
+#: tortoisehg/hgqt/merge.py:245
 #, python-format
 msgid ""
 "The changes from revision %s and all unmerged parents will be discarded.\n"
 "Are you sure this is what you want to do?"
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:296
+#: tortoisehg/hgqt/merge.py:299
 msgctxt "working dir state"
 msgid "Clean"
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:348
+#: tortoisehg/hgqt/merge.py:351
 msgid "Merging..."
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:362
+#: tortoisehg/hgqt/merge.py:365
 msgid "Automatically advance to next page when merge is complete."
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:407
+#: tortoisehg/hgqt/merge.py:411
 #, python-format
 msgid ""
 "%d files were modified on both branches and must be <a "
 "href=\"resolve\"><b>resolved</b></a>"
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:446
+#: tortoisehg/hgqt/merge.py:450
 msgid "Commit merge results"
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:549
+#: tortoisehg/hgqt/merge.py:543
+msgid "Commit Options"
+msgstr ""
+
+#: tortoisehg/hgqt/merge.py:552
+msgid "Commit Now"
+msgstr ""
+
+#: tortoisehg/hgqt/merge.py:554
+msgid "Commit Later"
+msgstr ""
+
+#: tortoisehg/hgqt/merge.py:577
 msgid "Merge"
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:553
+#: tortoisehg/hgqt/merge.py:581
 #, python-format
 msgid "Merge with %s"
 msgstr ""
 
-#: tortoisehg/hgqt/merge.py:625
+#: tortoisehg/hgqt/merge.py:633
+msgid "TortoiseHg Merge Commit"
+msgstr ""
+
+#: tortoisehg/hgqt/merge.py:634
+#, python-format
+msgid ""
+"Error creating interpreting commit date (%s).\n"
+"Using current date instead."
+msgstr ""
+
+#: tortoisehg/hgqt/merge.py:691
 msgid "Merge changeset"
 msgstr ""
 
 msgid "C&onfigure Format"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:35
-msgid "### patch name ###"
-msgstr ""
-
-#: tortoisehg/hgqt/mq.py:57
-msgid "Patch Name Required"
-msgstr ""
-
-#: tortoisehg/hgqt/mq.py:58
-msgid "You must enter a patch name"
-msgstr ""
-
-#: tortoisehg/hgqt/mq.py:95
+#: tortoisehg/hgqt/mq.py:43
 msgid "Patch Queue"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:111
+#: tortoisehg/hgqt/mq.py:59
 msgctxt "MQ QPush"
 msgid "Push all"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:112
+#: tortoisehg/hgqt/mq.py:60
 msgid "Apply all patches"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:114
+#: tortoisehg/hgqt/mq.py:62
 msgctxt "MQ QPush"
 msgid "Push"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:115
+#: tortoisehg/hgqt/mq.py:63
 msgid "Apply one patch"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:117
+#: tortoisehg/hgqt/mq.py:65
 msgid "Guards"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:118
+#: tortoisehg/hgqt/mq.py:66
 msgid "Configure guards for selected patch"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:120 tortoisehg/hgqt/mq.py:121
+#: tortoisehg/hgqt/mq.py:68 tortoisehg/hgqt/mq.py:69
 msgid "Reorder patches"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:123 tortoisehg/hgqt/qqueue.py:97
+#: tortoisehg/hgqt/mq.py:71 tortoisehg/hgqt/qqueue.py:97
 #: tortoisehg/hgqt/qscilib.py:198 tortoisehg/hgqt/shelve.py:68
 #: tortoisehg/hgqt/shelve.py:97
 msgid "Delete"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:124
+#: tortoisehg/hgqt/mq.py:72
 msgid "Delete selected patches"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:126
+#: tortoisehg/hgqt/mq.py:74
 msgid "Pop"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:127
+#: tortoisehg/hgqt/mq.py:75
 msgid "Unapply one patch"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:129
+#: tortoisehg/hgqt/mq.py:77
 msgid "Pop all"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:130
+#: tortoisehg/hgqt/mq.py:78
 msgid "Unapply all patches"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:131
+#: tortoisehg/hgqt/mq.py:79
 msgid "Patch Queue Actions Toolbar"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:245 tortoisehg/hgqt/mq.py:752
+#: tortoisehg/hgqt/mq.py:193 tortoisehg/hgqt/mq.py:700
 #, python-format
 msgid "%s had rejected chunks, edit patched file together with rejects?"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:335 tortoisehg/hgqt/mq.py:786
-#: tortoisehg/hgqt/repowidget.py:1476
+#: tortoisehg/hgqt/mq.py:283 tortoisehg/hgqt/mq.py:734
+#: tortoisehg/hgqt/repowidget.py:1478
 msgid ""
 "<p>ATTENTION!<br>Guard or comment found.<br>Reordering patches will destroy "
 "them.<br><br>Continue?</p>"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:356
+#: tortoisehg/hgqt/mq.py:304
 msgid "Configure guards"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:357
+#: tortoisehg/hgqt/mq.py:305
 #, python-format
 msgid "Input new guards for %s:"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:367
+#: tortoisehg/hgqt/mq.py:315
 msgid "Guards must begin with \"+\" or \"-\""
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:509
+#: tortoisehg/hgqt/mq.py:457
 msgid "no guards"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:549 tortoisehg/hgqt/mq.py:1017
+#: tortoisehg/hgqt/mq.py:497 tortoisehg/hgqt/mq.py:965
 #, python-format
 msgid "Guards: %d/%d"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:611
+#: tortoisehg/hgqt/mq.py:559
 msgid "Queues"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:650
+#: tortoisehg/hgqt/mq.py:598
 msgid "New Patch"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:704
+#: tortoisehg/hgqt/mq.py:652
 msgid "TortoiseHg Patch Queue"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:949
+#: tortoisehg/hgqt/mq.py:897
 msgid "QCommit"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:951
+#: tortoisehg/hgqt/mq.py:899
 msgid "Create MQ repo"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:1116
+#: tortoisehg/hgqt/mq.py:1064
 msgid "Patch commit messages..."
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:1136
+#: tortoisehg/hgqt/mq.py:1084
 msgid "MQ options"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:1142
+#: tortoisehg/hgqt/mq.py:1090
 msgid "Force use of git extended diff format (--git)"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:1146
+#: tortoisehg/hgqt/mq.py:1094
 msgid "Force push or pop (--force)"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:1150
+#: tortoisehg/hgqt/mq.py:1098
 msgid "Apply patch to its recorded parent (--exact)"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:1154
+#: tortoisehg/hgqt/mq.py:1102
 msgid "Update date field with current date (--currentdate)"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:1158
+#: tortoisehg/hgqt/mq.py:1106
 msgid "Specify an explicit date:"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:1161
+#: tortoisehg/hgqt/mq.py:1109
 msgid "Update author field with current user (--currentuser)"
 msgstr ""
 
-#: tortoisehg/hgqt/mq.py:1165
+#: tortoisehg/hgqt/mq.py:1113
 msgid "Specify an explicit author:"
 msgstr ""
 
+#: tortoisehg/hgqt/mqutil.py:24
+msgid "### patch name ###"
+msgstr ""
+
+#: tortoisehg/hgqt/mqutil.py:46
+msgid "Patch Name Required"
+msgstr ""
+
+#: tortoisehg/hgqt/mqutil.py:47
+msgid "You must enter a patch name"
+msgstr ""
+
 #: tortoisehg/hgqt/p4pending.py:66
 #, python-format
 msgid "Pending Perforce Changelists - %s"
 msgid "Graph"
 msgstr ""
 
-#: tortoisehg/hgqt/pbranch.py:657 tortoisehg/hgqt/settings.py:755
+#: tortoisehg/hgqt/pbranch.py:657 tortoisehg/hgqt/settings.py:762
 msgid "Name"
 msgstr ""
 
 #: tortoisehg/hgqt/postreview.py:110 tortoisehg/hgqt/postreview.py:126
 #: 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:951
+#: tortoisehg/hgqt/settings.py:961
 msgid "Review Board"
 msgstr ""
 
 msgid "Patch queues:"
 msgstr ""
 
-#: tortoisehg/hgqt/qqueue.py:85 tortoisehg/hgqt/settings.py:1180
+#: tortoisehg/hgqt/qqueue.py:85 tortoisehg/hgqt/settings.py:1190
 msgid "Reload"
 msgstr ""
 
 msgstr ""
 
 #: tortoisehg/hgqt/qqueue.py:94 tortoisehg/hgqt/rename.py:170
-#: tortoisehg/hgqt/reporegistry.py:434
+#: tortoisehg/hgqt/reporegistry.py:440
 msgid "Rename"
 msgstr ""
 
 msgid "Next"
 msgstr ""
 
-#: tortoisehg/hgqt/qscilib.py:636
+#: tortoisehg/hgqt/qscilib.py:645
 msgid "Unable to read/write config file"
 msgstr ""
 
 msgid "You must identify yourself to Mercurial"
 msgstr ""
 
+#: tortoisehg/hgqt/qtlib.py:1117
+msgid "Text Translation Failure"
+msgstr ""
+
+#: tortoisehg/hgqt/qtlib.py:1118
+msgid "Unable to translate input to local encoding."
+msgstr ""
+
 #: tortoisehg/hgqt/quickbar.py:30
 msgid "Goto"
 msgstr ""
 msgid "Show all"
 msgstr ""
 
-#: tortoisehg/hgqt/repofilter.py:70
+#: tortoisehg/hgqt/repofilter.py:71
 msgid "### revision set query ###"
 msgstr ""
 
-#: tortoisehg/hgqt/repofilter.py:76
+#: tortoisehg/hgqt/repofilter.py:77
 msgid "Clear current query and query text"
 msgstr ""
 
-#: tortoisehg/hgqt/repofilter.py:85
+#: tortoisehg/hgqt/repofilter.py:86
 msgid "Trigger revision set query"
 msgstr ""
 
-#: tortoisehg/hgqt/repofilter.py:91
+#: tortoisehg/hgqt/repofilter.py:92
 msgid "Open advanced query editor"
 msgstr ""
 
-#: tortoisehg/hgqt/repofilter.py:99
+#: tortoisehg/hgqt/repofilter.py:100
 msgid "Delete selected query from history"
 msgstr ""
 
-#: tortoisehg/hgqt/repofilter.py:105
+#: tortoisehg/hgqt/repofilter.py:106
 msgid "filter"
 msgstr ""
 
-#: tortoisehg/hgqt/repofilter.py:107
+#: tortoisehg/hgqt/repofilter.py:108
 msgid "Toggle filtering of non-matched changesets"
 msgstr ""
 
-#: tortoisehg/hgqt/repofilter.py:227
+#: tortoisehg/hgqt/repofilter.py:228
 msgid "Display graph the named branch only"
 msgstr ""
 
-#: tortoisehg/hgqt/repofilter.py:231
+#: tortoisehg/hgqt/repofilter.py:232
 msgid "Display only active branches"
 msgstr ""
 
-#: tortoisehg/hgqt/repofilter.py:234
+#: tortoisehg/hgqt/repofilter.py:235
 msgid "Display closed branches"
 msgstr ""
 
-#: tortoisehg/hgqt/repofilter.py:237
+#: tortoisehg/hgqt/repofilter.py:238
 msgid "Include all ancestors"
 msgstr ""