by
Changes to 7 files · Browse files at a9a715092aff Showing diff from parent 320540eb79ea 977e00f9a309 Diff from another changeset...
@@ -473,8 +473,8 @@ """Console to run hg/thg command and show output"""
closeRequested = pyqtSignal()
- progressReceived = pyqtSignal(unicode, object, unicode, unicode,
- object, unicode)
+ progressReceived = pyqtSignal(QString, object, QString, QString,
+ object, object)
"""Emitted when progress received
Args: topic, pos, item, unit, total, reporoot
|
@@ -52,16 +52,15 @@ """
revset = opts.get('revset', None)
+ branch = opts.get('branch', None)
if revset:
start_rev = max(revset)
stop_rev = min(revset)
- branch = None
follow = False
hidden = lambda rev: rev not in revset
else:
start_rev = opts.get('start_rev', None)
stop_rev = opts.get('stop_rev', 0)
- branch = opts.get('branch', None)
follow = opts.get('follow', False)
hidden = lambda rev: False
|
@@ -8,14 +8,15 @@ import os
import sys
+from mercurial import util
+
+from tortoisehg.util import hglib, shlib
+from tortoisehg.hgqt.i18n import _
+from tortoisehg.hgqt import qtlib, status, cmdui
+
from PyQt4.QtCore import *
from PyQt4.QtGui import *
-from tortoisehg.hgqt.i18n import _
-from tortoisehg.util import hglib, shlib
-
-from tortoisehg.hgqt import qtlib, status, cmdui
-
LABELS = { 'add': (_('Checkmark files to add'), _('Add')),
'forget': (_('Checkmark files to forget'), _('Forget')),
'revert': (_('Checkmark files to revert'), _('Revert')),
@@ -68,6 +69,7 @@ for s, val in status.statusTypes.iteritems():
opts[val.name] = s in filetypes
+ opts['checkall'] = True # pre-check all matching files
stwidget = status.StatusWidget(pats, opts, repo.root, self)
layout.addWidget(stwidget, 1)
@@ -127,15 +129,26 @@ if hasattr(self, 'chk') and self.chk.isChecked():
cmdline.append('--no-backup')
files = self.stwidget.getChecked()
- if files:
- cmdline.extend(files)
- else:
+ if not files:
qtlib.WarningMsgBox(_('No files selected'),
_('No operation to perform'),
parent=self)
return
- self.files = files
- self.cmd.run(cmdline)
+ if self.command == 'remove':
+ wctx = self.repo[None]
+ for wfile in files:
+ if wfile not in wctx:
+ try:
+ util.unlink(wfile)
+ except EnvironmentError:
+ pass
+ files.remove(wfile)
+ if files:
+ cmdline.extend(files)
+ self.files = files
+ self.cmd.run(cmdline)
+ else:
+ self.reject()
def reject(self):
if self.cmd.core.running():
|
@@ -123,7 +123,7 @@ self.filterbranch = branch
self.invalidateCache()
if self.revset and self.filterbyrevset:
- grapher = revision_grapher(self.repo, revset=self.revset)
+ grapher = revision_grapher(self.repo, branch=branch, revset=self.revset)
self.graph = Graph(self.repo, grapher, include_mq=False)
else:
grapher = revision_grapher(self.repo, branch=branch,
|
@@ -84,9 +84,13 @@ self._in_history = False
model.layoutChanged.connect(self.resetDelegate)
- def resetBrowseHistory(self, revs, rev_pos=0):
- self._rev_history = revs[:]
- self._rev_pos = rev_pos-1
+ def resetBrowseHistory(self, revs, reselrev=None):
+ graph = self.model().graph
+ self._rev_history = [r for r in revs if r in graph.nodesdict]
+ if reselrev is not None and reselrev in self._rev_history:
+ self._rev_pos = self._rev_history.index(reselrev)
+ else:
+ self._rev_pos = -1
self.forward()
def resetDelegate(self):
|
@@ -63,7 +63,7 @@ self.revsetfilter = False
self.branch = ''
self.bundle = None
- self.revset = set()
+ self.revset = []
self.namedTabs = {}
self.repolen = len(repo)
self.destroyed.connect(self.repo.thginvalidate)
@@ -323,8 +323,8 @@ removed = [self.repo[self.rev]]
while removed:
ctx = removed.pop()
- if ctx.node() in self.revset:
- self.revset.remove(ctx.node())
+ if ctx.rev() in self.revset:
+ self.revset.remove(ctx.rev())
removed.extend(ctx.parents())
self.repomodel.revset = self.revset
if not self.revset:
@@ -365,9 +365,7 @@ if self.revset:
self.repomodel.filterbyrevset = checked
self.reload()
- selected_rev = self.rev
- selected_rev_pos = self.revset.index(selected_rev)
- self.repoview.resetBrowseHistory(self.revset, selected_rev_pos)
+ self.repoview.resetBrowseHistory(self.revset, self.rev)
def setOutgoingNodes(self, nodes):
self.filterbar.revsetle.setText('outgoing()')
@@ -752,6 +750,8 @@ self.branch = branch
self.repomodel.setBranch(branch=branch, allparents=allparents)
self.titleChanged.emit(self.title())
+ if self.revset:
+ self.repoview.resetBrowseHistory(self.revset, self.rev)
##
## Workbench methods
|
@@ -394,6 +394,12 @@ patchecked = {}
try:
if self.pats:
+ if self.opts.get('checkall'):
+ # quickop sets this flag to pre-check even !?IC files
+ precheckfn = lambda x: True
+ else:
+ # status and commit only pre-check MAR files
+ precheckfn = lambda x: x < 4
m = cmdutil.match(self.repo, self.pats)
status = self.repo.status(match=m, **stopts)
# Record all matched files as initially checked
@@ -402,7 +408,7 @@ continue
val = statusTypes[stat]
if self.opts[val.name]:
- d = dict([(fn, True) for fn in status[i]])
+ d = dict([(fn, precheckfn(i)) for fn in status[i]])
patchecked.update(d)
wctx = context.workingctx(self.repo, changes=status)
self.patchecked = patchecked
|
Loading...