Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph

Merge with stable

Changeset c25b4666832b

Parents df80bd602a1f

Parents 400d31672119

by Steve Borho

Changes to 38 files · Browse files at c25b4666832b Showing diff from parent df80bd602a1f 400d31672119 Diff from another changeset...

Change 1 of 1 Show Entire File .hgtags Stacked
 
58
59
60
 
 
58
59
60
61
@@ -58,3 +58,4 @@
 f2165388e6870c643636a0a74f1ebd1d008bdf3e 2.0.5  2a970d5e40fe4f757347464d820218809d58251b 2.1  65a385cf4238af969487dc1a7a2b5ee60cf388cc 2.1.1 +d9e84b581ef3961a12fe695a566ffafb9944920e 2.1.2
Show Entire File i18n/​tortoisehg/​ca.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​cs.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​da.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​de.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​en_AU.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​en_GB.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​es.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​et.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​fa.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​fr.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​he.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​hr.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​hu.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​it.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​ja.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​ko.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​nb.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​nl.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​nn.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​oc.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​pl.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​pt.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​pt_BR.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​ru.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​sr.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​sv.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​tr.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​uk.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​zh_CN.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
Show Entire File i18n/​tortoisehg/​zh_TW.po Stacked
This file's diff was not loaded because this changeset is very large. Load changes
 
396
397
398
399
 
400
401
402
 
 
403
404
405
 
408
409
410
411
 
412
413
414
 
497
498
499
500
 
 
501
502
503
 
396
397
398
 
399
400
 
 
401
402
403
404
405
 
408
409
410
 
411
412
413
414
 
497
498
499
 
500
501
502
503
504
@@ -396,10 +396,10 @@
  fullmsg = ''   def write(self, msg, *args, **opts):   self.fullmsg += msg - if self.fullmsg.endswith('\0'): + if self.fullmsg.count('\0') >= 6:   try: - fname, line, rev, addremove, user, text = \ - self.fullmsg.split('\0', 5) + fname, line, rev, addremove, user, text, tail = \ + self.fullmsg.split('\0', 6)   text = hglib.tounicode(text)   text = Qt.escape(text)   text = '<b>%s</b> <span>%s</span>' % ( @@ -408,7 +408,7 @@
  emitrow(row)   except ValueError:   pass - self.fullmsg = '' + self.fullmsg = tail   def progress(topic, pos, item='', unit='', total=None):   emitprog(topic, pos, item, unit, total)   cwd = os.getcwd() @@ -497,7 +497,8 @@
  if pos:   self.hu.write(line[pos:], label='ui.status')   path = os.path.join(prefix, wfile) - row = [path, i + 1, ctx.rev(), None, self.hu.getdata()[0]] + row = [path, i + 1, ctx.rev(), None, + hglib.tounicode(self.hu.getdata()[0])]   w = DataWrapper(row)   self.matchedRow.emit(w)   if self.once:
 
5
6
7
8
 
9
10
11
12
13
14
 
43
44
45
46
47
 
48
49
50
 
5
6
7
 
8
9
10
 
11
12
13
 
42
43
44
 
 
45
46
47
48
@@ -5,10 +5,9 @@
 # This software may be used and distributed according to the terms of the  # GNU General Public License version 2, incorporated herein by reference.   -import os, time +import os, cgi, time    from mercurial import ui -from PyQt4 import QtCore  from tortoisehg.hgqt import qtlib  from tortoisehg.util import hglib   @@ -43,8 +42,7 @@
    def style(self, msg, label):   'Escape message for safe HTML, then apply specified style' - msg = QtCore.Qt.escape(msg) - msg = msg.replace('\n', '<br />') + msg = cgi.escape(msg).replace('\n', '<br />')   style = qtlib.geteffect(label)   return '<span style="%s">%s</span>' % (style, msg)  
 
779
780
781
782
783
 
 
784
785
786
 
794
795
796
797
 
798
799
 
800
801
802
 
805
806
807
808
 
809
810
 
811
812
813
 
822
823
824
 
 
825
826
827
 
779
780
781
 
 
782
783
784
785
786
 
794
795
796
 
797
798
 
799
800
801
802
 
805
806
807
 
808
809
 
810
811
812
813
 
822
823
824
825
826
827
828
829
@@ -779,8 +779,8 @@
  self._closebutton.clicked.connect(self.close)   self.layout().addWidget(self._closebutton)   - def addWidget(self, w): - self.layout().insertWidget(self.layout().count() - 2, w) + def addWidget(self, w, stretch=0): + self.layout().insertWidget(self.layout().count() - 2, w, stretch)     def addRightWidget(self, w):   self.layout().insertWidget(self.layout().count() - 1, w) @@ -794,9 +794,9 @@
  """Show status message"""   def __init__(self, message, parent=None):   super(StatusInfoBar, self).__init__(parent) - self._msglabel = QLabel(message, self, + self._msglabel = QLabel(message, self, wordWrap=True,   textInteractionFlags=Qt.TextSelectableByMouse) - self.addWidget(self._msglabel) + self.addWidget(self._msglabel, stretch=1)    class CommandErrorInfoBar(InfoBar):   """Show command execution failure (with link to open log window)""" @@ -805,9 +805,9 @@
  def __init__(self, message, parent=None):   super(CommandErrorInfoBar, self).__init__(parent)   - self._msglabel = QLabel(message, self, + self._msglabel = QLabel(message, self, wordWrap=True,   textInteractionFlags=Qt.TextSelectableByMouse) - self.addWidget(self._msglabel) + self.addWidget(self._msglabel, stretch=1)     self._loglabel = QLabel('<a href="log:">%s</a>' % _('Show Log'))   self._loglabel.linkActivated.connect(self.linkActivated) @@ -822,6 +822,8 @@
  def __init__(self, message, parent=None):   super(ConfirmInfoBar, self).__init__(parent)   + # no wordWrap=True and stretch=1, which inserts unwanted space + # between _msglabel and _buttons.   self._msglabel = QLabel(message, self,   textInteractionFlags=Qt.TextSelectableByMouse)   self.addWidget(self._msglabel)
 
279
280
281
282
283
284
285
 
279
280
281
 
282
283
284
@@ -279,7 +279,6 @@
  else:   idx = self.model().indexFromRev(rev)   if idx is not None: - self.setCurrentIndex(idx)   self.scrollTo(idx)     def saveSettings(self, s = None):
 
493
494
495
 
 
 
 
496
497
498
 
493
494
495
496
497
498
499
500
501
502
@@ -493,6 +493,10 @@
  'Default: 0, Not expanded')),   _fi(_('Force Repo Tab'), 'tortoisehg.forcerepotab', genBoolRBGroup,   _('Always show repo tabs, even for a single repo. Default: False')), + _fi(_('Monitor Repo Changes'), 'tortoisehg.monitorrepo', + (genDefaultCombo, ['always', 'localonly']), + _('Specify the target filesystem where TortoiseHg monitors changes. ' + 'Default: always')),   _fi(_('Max Diff Size'), 'tortoisehg.maxdiff', genIntEditCombo,   _('The maximum size file (in KB) that TortoiseHg will '   'show changes for in the changelog, status, and commit windows. '
 
21
22
23
24
 
25
26
27
 
80
81
82
 
 
83
84
 
 
85
86
87
 
21
22
23
 
24
25
26
27
 
80
81
82
83
84
85
86
87
88
89
90
91
@@ -21,7 +21,7 @@
 from mercurial import ui as uimod  from mercurial.util import propertycache   -from tortoisehg.util import hglib +from tortoisehg.util import hglib, paths  from tortoisehg.util.patchctx import patchctx    _repocache = {} @@ -80,8 +80,12 @@
  repo.workingDirectoryChanged = self.workingDirectoryChanged   repo.workingBranchChanged = self.workingBranchChanged   self.recordState() + + monitorrepo = repo.ui.config('tortoisehg', 'monitorrepo', 'always')   if isinstance(repo, bundlerepo.bundlerepository):   dbgoutput('not watching F/S events for bundle repository') + elif monitorrepo == 'localonly' and paths.netdrive_status(repo.path): + dbgoutput('not watching F/S events for network drive')   else:   self.watcher = QFileSystemWatcher(self)   self.watcher.addPath(repo.path)
 
96
97
98
99
 
100
101
102
 
96
97
98
 
99
100
101
102
@@ -96,7 +96,7 @@
  unc, rest = os.path.splitunc(drive)   if unc: # All UNC paths (\\host\mount) are considered nonlocal   return True - letter = os.path.splitdrive(drive)[0] + letter = os.path.splitdrive(drive)[0].upper()   _drives, total, _ = win32net.NetUseEnum(None, 1, 0)   for drv in _drives:   if drv['local'] == letter: