Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 2.1, 2.1.1, and 2.1.2

Merge with stable

Changeset a9a715092aff

Parents 320540eb79ea

Parents 977e00f9a309

by Steve Borho

Changes to 7 files · Browse files at a9a715092aff Showing diff from parent 320540eb79ea 977e00f9a309 Diff from another changeset...

 
473
474
475
476
477
 
 
478
479
480
 
473
474
475
 
 
476
477
478
479
480
@@ -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
53
54
 
55
56
57
58
59
60
61
62
63
64
65
66
67
 
52
53
54
55
56
57
58
 
59
60
61
62
63
 
64
65
66
@@ -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
9
10
 
 
 
 
 
 
11
12
13
14
15
16
17
18
19
20
21
 
68
69
70
 
71
72
73
 
127
128
129
130
131
132
 
133
134
135
136
137
138
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
140
141
 
8
9
10
11
12
13
14
15
16
17
18
19
 
 
 
 
 
20
21
22
 
69
70
71
72
73
74
75
 
129
130
131
 
 
 
132
133
134
135
136
 
 
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
@@ -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
124
125
126
 
127
128
129
 
123
124
125
 
126
127
128
129
@@ -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
85
86
87
88
89
 
 
 
 
 
 
 
90
91
92
 
84
85
86
 
 
 
87
88
89
90
91
92
93
94
95
96
@@ -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
64
65
66
 
67
68
69
 
323
324
325
326
327
 
 
328
329
330
 
365
366
367
368
369
370
 
371
372
373
 
752
753
754
 
 
755
756
757
 
63
64
65
 
66
67
68
69
 
323
324
325
 
 
326
327
328
329
330
 
365
366
367
 
 
 
368
369
370
371
 
750
751
752
753
754
755
756
757
@@ -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
395
396
 
 
 
 
 
 
397
398
399
 
402
403
404
405
 
406
407
408
 
394
395
396
397
398
399
400
401
402
403
404
405
 
408
409
410
 
411
412
413
414
@@ -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