by
Changes to 6 files · Browse files at 5a1aad3c0092 Showing diff from parent ca98dcc20b29 34bb27cc3a6e Diff from another changeset...
@@ -497,7 +497,7 @@ return False
if not self.curfile:
return False
- self._diff_file('M', self.curfile)
+ self._do_diff([self.curfile], {'change' : self.currev})
def file_row_act(self, tree, path, column) :
'Default action is the first entry in the context menu'
@@ -527,16 +527,13 @@ def diff_to_local(self, menuitem):
if not self.curfile:
return
- self.opts['rev'] = [str(self.currev)]
- self._diff_file('M', self.curfile)
+ self._do_diff([self.curfile], {'rev' : str(self.currev)})
def diff_file_rev(self, menuitem):
'User selected visual diff file from the file list context menu'
if not self.curfile:
return
- self.opts['change'] = str(self.currev)
- self._diff_file('M', self.curfile)
- del self.opts['change']
+ self._do_diff([self.curfile], {'change' : str(self.currev)})
def view_file_rev(self, menuitem):
'User selected view file revision from the file list context menu'
|
@@ -165,7 +165,7 @@ return True
def grep_thgdiff(self, treeview):
- self._do_diff([], {'change' : self.currev}, modal=True)
+ self._do_diff([], {'change' : self.currev})
def grep_row_act(self, tree, path, column):
'Default action is the first entry in the context menu'
@@ -615,7 +615,7 @@ return True
def annotate_thgdiff(self, treeview):
- self._do_diff([], {'change' : self.currev}, modal=True)
+ self._do_diff([], {'change' : self.currev})
def toggle_annatate_columns(self, button, treeview, col):
b = button.get_active()
|
@@ -405,16 +405,15 @@
return True, textout
- def _do_diff(self, canonpats, options, modal=False):
+ def _do_diff(self, canonpats, options):
from hggtk import visdiff
options['canonpats'] = canonpats
dialog = visdiff.run(self.ui, **options)
if not dialog:
return
dialog.show_all()
- if modal:
- dialog.run()
- dialog.hide()
+ dialog.run()
+ dialog.hide()
def _diff_file(self, stat, file):
self._do_diff(file and [file] or [], self.opts)
|
@@ -638,12 +638,12 @@
def vdiff_change(self, menuitem, pats=[]):
rev = self.currow[treemodel.REVID]
- self._do_diff(pats, {'change' : rev}, modal=True)
+ self._do_diff(pats, {'change' : rev})
def vdiff_local(self, menuitem, pats=[]):
rev = self.currow[treemodel.REVID]
opts = {'rev' : ["%s" % rev]}
- self._do_diff(pats, opts, modal=True)
+ self._do_diff(pats, opts)
def diff_revs(self, menuitem):
rev0, rev1 = self.revs
@@ -659,12 +659,8 @@ return True
def vdiff_selected(self, menuitem):
- rev0, rev1 = self.revs
- self.opts['rev'] = ["%s:%s" % (rev0, rev1)]
- if len(self.pats) == 1:
- self._diff_file(None, self.pats[0])
- else:
- self._diff_file(None, None)
+ strrevs = [str(r) for r in self.revs]
+ self._do_diff(self.pats, {'rev' : strrevs})
def email_revs(self, menuitem):
revs = list(self.revs)
|
@@ -197,19 +197,20 @@ self.dateentry.grab_focus()
return
elif self.revradio.get_active():
- rev0 = self.rev0Entry.get_text()
- rev1 = self.rev1Entry.get_text()
+ rev0 = self.rev0Entry.get_text().strip()
+ rev1 = self.rev1Entry.get_text().strip()
if not rev1:
rev1 = rev0
- try:
- rrange = cmdutil.revrange(self.repo, [rev0, rev1])
- rrange.sort()
- rrange.reverse()
- opts['revrange'] = rrange
- except Exception, e:
- gdialog.Prompt(_('Invalid revision range'), str(e), self).run()
- self.rev0Entry.grab_focus()
- return
+ if rev0:
+ try:
+ rrange = cmdutil.revrange(self.repo, [rev0, rev1])
+ rrange.sort()
+ rrange.reverse()
+ opts['revrange'] = rrange
+ except Exception, e:
+ gdialog.Prompt(_('Invalid revision range'), str(e), self).run()
+ self.rev0Entry.grab_focus()
+ return
elif self.branchradio.get_active():
branch = self.branchbox.child.get_text()
if branch:
|
@@ -308,20 +308,19 @@ change = opts.get('change')
if change:
args.extend(['--change', str(change)])
- if len(revs) == 1:
- args.extend(['--change', str(revs[0])])
- else:
- for r in revs:
- args.extend(['--rev', str(r)])
+ for r in revs:
+ args.extend(['--rev', str(r)])
args.extend(pats)
args.extend(opts.get('canonpats', []))
if os.name == 'nt':
args = ['"%s"' % arg for arg in args]
oldcwd = os.getcwd()
- root = paths.find_root()
- os.chdir(root)
- os.spawnv(os.P_NOWAIT, sys.executable, args)
- os.chdir(oldcwd)
+ root = paths.find_root(oldcwd)
+ try:
+ os.chdir(root)
+ os.spawnv(os.P_NOWAIT, sys.executable, args)
+ finally:
+ os.chdir(oldcwd)
return None
else:
pats = hglib.canonpaths(pats)
|
Loading...