Changeset 6eff4bc11426…
Parent 07791f77d4f0…
by
Changes to 2 files · Browse files at 6eff4bc11426 Showing diff from parent 07791f77d4f0 Diff from another changeset...
@@ -53,6 +53,7 @@
repo.configChanged.connect(self.configChanged)
repo.repositoryChanged.connect(self.repositoryChanged)
+ repo.workingBranchChanged.connect(self.workingBranchChanged)
self.opts['pushafter'] = repo.ui.config('tortoisehg', 'cipushafter', '')
self.opts['autoinc'] = repo.ui.config('tortoisehg', 'autoinc', '')
@@ -131,6 +132,10 @@ if dlg.exec_() == QDialog.Accepted:
self.opts.update(dlg.outopts)
+ def workingBranchChanged(self):
+ 'Repository has detected a change in .hg/branch'
+ self.refresh()
+
def repositoryChanged(self):
'Repository has detected a changelog / dirstate change'
self.refresh()
@@ -146,8 +151,6 @@ self.stwidget.refreshWctx() # Trigger reload of working context
def refresh(self):
- wctx = self.repo[None]
-
# Update qrefresh mode
if self.repo.changectx('.').thgmqappliedpatch():
self.commitButtonName.emit(_('QRefresh'))
@@ -162,7 +165,7 @@ self.msgcombo.reset(self.msghistory)
# Update branch operation button
- cur = hglib.tounicode(wctx.branch())
+ cur = hglib.tounicode(self.repo[None].branch())
if self.branchop is None:
title = _('Branch: ') + cur
elif self.branchop == False:
|
@@ -36,6 +36,7 @@
configChanged = pyqtSignal()
repositoryChanged = pyqtSignal()
+ workingBranchChanged = pyqtSignal()
def __init__(self, repo):
QObject.__init__(self)
@@ -43,6 +44,7 @@ self.busycount = 0
repo.configChanged = self.configChanged
repo.repositoryChanged = self.repositoryChanged
+ repo.workingBranchChanged = self.workingBranchChanged
self.recordState()
self.startTimer(500)
@@ -62,6 +64,7 @@ self._dirstatemtime = os.path.getmtime(self.repo.join('dirstate'))
self._parentnodes = self.repo.opener('dirstate').read(40)
self._repomtime = self._getrepomtime()
+ self._branchmtime = os.path.getmtime(self.repo.join('branch'))
except EnvironmentError, ValueError:
pass
@@ -84,6 +87,11 @@ self.recordState()
self.repo.thginvalidate()
self.repositoryChanged.emit()
+ mtime = os.path.getmtime(self.repo.join('branch'))
+ if mtime > self._branchmtime:
+ self.recordState()
+ self.repo.dirstate.invalidate()
+ self.workingBranchChanged.emit()
def _checkdirstate(self):
'Check for new dirstate mtime, then working parent changes'
|
Loading...