Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 2.0.3, 2.0.4, and 2.0.5

hgtk history: update to hg-1.8 bookmark API

Changeset 39283e23a47e

Parent 81478d0d9c0d

by Steve Borho

Changes to 2 files · Browse files at 39283e23a47e Showing diff from parent 81478d0d9c0d Diff from another changeset...

 
360
361
362
363
 
364
365
366
 
523
524
525
526
 
527
528
529
 
1139
1140
1141
1142
 
1143
1144
1145
 
1169
1170
1171
1172
 
1173
1174
1175
 
1328
1329
1330
1331
 
1332
1333
1334
 
1337
1338
1339
1340
 
1341
1342
1343
 
1349
1350
1351
1352
 
1353
1354
1355
 
1374
1375
1376
1377
 
1378
1379
1380
 
1408
1409
1410
1411
 
1412
1413
1414
 
1428
1429
1430
1431
 
1432
1433
1434
 
1632
1633
1634
1635
 
1636
1637
1638
 
1891
1892
1893
1894
 
1895
1896
1897
 
2010
2011
2012
2013
 
2014
2015
2016
 
2451
2452
2453
2454
 
2455
2456
2457
 
2491
2492
2493
2494
 
2495
2496
2497
 
2509
2510
2511
2512
 
2513
2514
2515
2516
2517
2518
2519
2520
 
2521
2522
2523
 
2526
2527
2528
2529
 
2530
2531
2532
2533
2534
2535
2536
 
2537
2538
2539
2540
2541
2542
 
2543
2544
2545
2546
2547
2548
2549
2550
 
 
2551
2552
2553
2554
2555
2556
2557
 
 
2558
2559
2560
 
2640
2641
2642
2643
 
2644
2645
2646
 
2649
2650
2651
2652
 
2653
2654
2655
 
2658
2659
2660
2661
 
2662
2663
2664
 
360
361
362
 
363
364
365
366
 
523
524
525
 
526
527
528
529
 
1139
1140
1141
 
1142
1143
1144
1145
 
1169
1170
1171
 
1172
1173
1174
1175
 
1328
1329
1330
 
1331
1332
1333
1334
 
1337
1338
1339
 
1340
1341
1342
1343
 
1349
1350
1351
 
1352
1353
1354
1355
 
1374
1375
1376
 
1377
1378
1379
1380
 
1408
1409
1410
 
1411
1412
1413
1414
 
1428
1429
1430
 
1431
1432
1433
1434
 
1632
1633
1634
 
1635
1636
1637
1638
 
1891
1892
1893
 
1894
1895
1896
1897
 
2010
2011
2012
 
2013
2014
2015
2016
 
2451
2452
2453
 
2454
2455
2456
2457
 
2491
2492
2493
 
2494
2495
2496
2497
 
2509
2510
2511
 
2512
2513
2514
2515
2516
2517
2518
 
 
2519
2520
2521
2522
 
2525
2526
2527
 
2528
2529
2530
2531
2532
2533
2534
 
2535
2536
2537
2538
2539
2540
 
2541
2542
 
 
 
 
 
2543
 
2544
2545
2546
2547
2548
2549
2550
 
 
2551
2552
2553
2554
2555
 
2635
2636
2637
 
2638
2639
2640
2641
 
2644
2645
2646
 
2647
2648
2649
2650
 
2653
2654
2655
 
2656
2657
2658
2659
@@ -360,7 +360,7 @@
  if self.repo.ui.configbool('tortoisehg', 'disable-syncbar'):   sync_bar_item = []   else: - sync_bar_item = [dict(text=_('Sync Bar'), ascheck=True, + sync_bar_item = [dict(text=_('Sync Bar'), ascheck=True,   func=self.toggle_show_syncbar, check=self.show_syncbar)]     # MQ extension menu @@ -523,7 +523,7 @@
  active = button.get_active()   if self.compactgraph != active:   self.compactgraph = active - self.reload_log() + self.reload_log()     def toggle_showoutput(self, button):   active = button.get_active() @@ -1139,7 +1139,7 @@
  self.origtip = min(len(self.repo), self.origtip)   if not self.bfile:   self.npreviews = 0 - +   opts['branch-view'] = self.compactgraph   opts['outgoing'] = self.outgoing   opts['orig-tip'] = self.origtip @@ -1169,7 +1169,7 @@
  if self.no_merges:   graphcol = False   - filterprefix = _('Filter') + filterprefix = _('Filter')   filtertext = filterprefix + ': '   if self.filter == 'branch':   branch = opts.get('branch', None) @@ -1328,7 +1328,7 @@
  return menu     def export_context_menu(self): - m = gtklib.MenuBuilder() + m = gtklib.MenuBuilder()   m.append(_('_Export Patch...'), self.export_patch, 'menupatch.ico')   m.append(_('E_mail Patch...'), self.email_patch, gtk.STOCK_GOTO_LAST)   m.append(_('_Bundle rev:tip...'), self.bundle_rev_to_tip, @@ -1337,7 +1337,7 @@
  return m.build()     def tags_context_menu(self): - m = gtklib.MenuBuilder() + m = gtklib.MenuBuilder()   m.append(_('Add/Remove _Tag...'), self.add_tag)   if 'bookmarks' in self.exs:   m.append(_('Add/Move/Remove B_ookmark...'), self.add_bookmark) @@ -1349,7 +1349,7 @@
  return m.build()     def mq_context_menu(self): - m = gtklib.MenuBuilder() + m = gtklib.MenuBuilder()   mqimport = m.append(_('Import Revision to MQ'), self.qimport_rev,   'menuimport.ico')   mstrip = m.append(_('Strip Revision...'), self.strip_rev, @@ -1374,7 +1374,7 @@
  return m.build()     def bisect_context_menu(self): - m = gtklib.MenuBuilder() + m = gtklib.MenuBuilder()   m.append(_('Reset'), self.bisect_reset, gtk.STOCK_CLEAR)   m.append(_('Mark as Good'), self.bisect_good, gtk.STOCK_YES)   m.append(_('Mark as Bad'), self.bisect_bad, gtk.STOCK_NO) @@ -1408,7 +1408,7 @@
  m.append_sep()   mmerge = m.append(_('_Merge with...'), self.domerge, 'menumerge.ico')   m.append_sep() - +   # disable/enable menus as required   parents = self.repo.parents()   if len(parents) > 1: @@ -1428,7 +1428,7 @@
  if 'rebase' in self.exs:   m.append(_('Rebase on top of selected'), self.rebase_selected,   gtk.STOCK_CUT) - +   # need MQ extension for qimport command   if 'mq' in self.exs:   m.append(_('Import from here to selected to MQ'), @@ -1632,7 +1632,7 @@
    # filter bar   self.filterbar = FilterBar(self.tooltips, - self.filter_mode, + self.filter_mode,   hglib.getlivebranch(self.repo),   self.repo)   filterbar = self.filterbar @@ -1891,7 +1891,7 @@
    self.toolbar.insert(reject, 0)   self.toolbar.insert(apply, 0) - +   self.cmd_set_sensitive('accept', True)   self.cmd_set_sensitive('reject', True)   @@ -2010,7 +2010,7 @@
  else:   cmd += ['--quiet', '--template', '{node}\n']   cmd += self.get_proxy_args() - cmd += [hglib.validate_synch_path(path, self.repo)] + cmd += [hglib.validate_synch_path(path, self.repo)]     def callback(return_code, buffer, *args):   if return_code == 0: @@ -2451,7 +2451,7 @@
  'command has completed'), self).run()     def rebase_selected(self, menuitem): - """Rebase revision on top of selection (1st on top of 2nd).""" + """Rebase revision on top of selection (1st on top of 2nd)."""   revs = self.revrange   res = gdialog.Confirm(_('Confirm Rebase Revision'), [], self,   _('Rebase revision %d on top of %d?') % (revs[0], revs[1])).run() @@ -2491,7 +2491,7 @@
    def add_tag(self, menuitem):   # save tag info for detecting new tags added - bmarks = hglib.get_repo_bookmarks(self.repo) + bmarks = self.repo._bookmarks.keys()   oldtags = self.repo.tagslist()   oldlen = len(self.repo)   rev = str(self.currevid) @@ -2509,15 +2509,14 @@
  # save bookmark info for detecting new bookmarks added   # since we can now move bookmarks, need to store   # the associated changesets as well - oldbookmarks = hglib.get_repo_bookmarks(self.repo, values=True) + oldbookmarks = self.repo._bookmarks   oldlen = len(self.repo)   rev = str(self.currevid)   bmark = self.get_rev_tag(rev, include=oldbookmarks)     def refresh(*args):   self.refresh_on_marker_change(oldlen, oldbookmarks, - hglib.get_repo_bookmarks(self.repo, - values=True)) + self.repo._bookmarks)     dialog = bookmark.BookmarkDialog(self.repo, bookmark.TYPE_ADDREMOVE,   bmark, rev) @@ -2526,35 +2525,31 @@
    def rename_bookmark(self, menuitem):   # save bookmark info for detecting bookmarks renamed - oldbookmarks = hglib.get_repo_bookmarks(self.repo) + oldbookmarks = self.repo._bookmarks   oldlen = len(self.repo)   rev = str(self.currevid)   bmark = self.get_rev_tag(rev, include=oldbookmarks)     def refresh(*args):   self.refresh_on_marker_change(oldlen, oldbookmarks, - hglib.get_repo_bookmarks(self.repo)) + self.repo._bookmarks)     dialog = bookmark.BookmarkDialog(self.repo, bookmark.TYPE_RENAME,   bmark, rev)   dialog.connect('destroy', refresh)   self.show_dialog(dialog) - +   def current_bookmark(self, menuitem): - # save current bookmark info for detecting current bookmark changed - bookmarks = extensions.find('bookmarks') - # Note that the dialog shouldn't change the repo len, or # of bookmarks, - # etc, but check in case they've been modified by something else... - oldbookmarks = hglib.get_repo_bookmarks(self.repo)   oldlen = len(self.repo) - oldcurrent = hglib.get_repo_bookmarkcurrent(self.repo) + oldbookmarks = self.repo._bookmarks + oldcurrent = self.repo._bookmarkcurrent   rev = str(self.currevid)   bmark = self.get_rev_tag(rev, include=oldbookmarks)     def refresh(*args):   self.refresh_on_current_marker_change(oldlen, oldbookmarks, oldcurrent, - hglib.get_repo_bookmarks(self.repo), - hglib.get_repo_bookmarkcurrent(self.repo)) + self.repo._bookmarks, + self.repo._bookmarkcurrent)     dialog = bookmark.BookmarkDialog(self.repo, bookmark.TYPE_CURRENT,   bmark, rev) @@ -2640,7 +2635,7 @@
  '(creating new heads if needed)?') % original_path   buttontext = _('Forced &Push')   confirm_push = True - +   if confirm_push:   dlg = gdialog.CustomPrompt(title, text,   None, (buttontext, _('&Cancel')), default=1, esc=1) @@ -2649,7 +2644,7 @@
  else:   return remote_path   else: - return remote_path + return remote_path     def push_branch(self, menuitem):   self.push_to(menuitem, branch=self.repo[self.currevid].branch()) @@ -2658,7 +2653,7 @@
  remote_path = self.validate_path()   if not remote_path:   return - +   node = self.repo[self.currevid].node()   rev = str(self.currevid)   if branch:
 
55
56
57
 
58
59
60
61
62
 
63
64
65
 
71
72
73
74
75
76
77
78
 
 
79
80
81
82
83
 
 
84
85
86
 
219
220
221
222
223
224
225
 
226
227
228
229
230
 
231
 
 
232
233
 
 
 
 
 
 
 
234
 
235
236
237
 
55
56
57
58
59
60
61
62
63
64
65
66
67
 
73
74
75
 
76
77
78
79
80
81
82
83
84
 
 
85
86
87
88
89
 
222
223
224
 
 
225
 
226
227
 
 
 
 
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
@@ -55,11 +55,13 @@
  self.graphdata = graphdata   self.revisions, self.parents = {}, {}   self.wcparents, self.tagrevs, self.branchtags = [], [], {} + self.bookmarkrevs = []   self.refresh()     def refresh(self):   repo = self.repo   oldtags, oldparents = self.tagrevs, self.wcparents + oldbookmarks = self.bookmarkrevs   try:   oldbranches = [repo[n].rev() for n in self.branchtags.values()]   except error.RepoLookupError: @@ -71,16 +73,17 @@
  self.set_author_color()   self.hidetags = hglib.gethidetags(repo.ui)   - self.curbookmark = hglib.get_repo_bookmarkcurrent(repo)   try:   self.wcparents = [x.rev() for x in repo.parents()]   self.tagrevs = [repo[r].rev() for t, r in repo.tagslist()]   self.branchtags = repo.branchtags() + self.curbookmark = repo._bookmarkcurrent + self.bookmarkrevs = [repo[n].rev() for n in repo._bookmarks.values()]   except util.Abort:   pass   brevs = [repo[n].rev() for n in self.branchtags.values()] - allrevs = set(oldtags + oldparents + oldbranches + - brevs + self.wcparents + self.tagrevs) + allrevs = set(oldtags + oldparents + oldbranches + oldbookmarks + + brevs + self.wcparents + self.tagrevs + self.bookmarkrevs)   for rev in allrevs:   if rev in self.revisions:   del self.revisions[rev] @@ -219,19 +222,24 @@
  escape = gtklib.markup_escape_text   summary = escape(hglib.toutf(summary))   - node = ctx.node() - tags = self.repo.nodetags(node)   tstr = '' - for tag in tags: + for tag in ctx.tags():   if tag not in self.hidetags: - bg = gtklib.PYELLOW - if tag == self.curbookmark: - bg = gtklib.PORANGE - elif tag in self.mqpatches: + if tag in self.mqpatches:   bg = gtklib.PBLUE + else: + bg = gtklib.PYELLOW   style = {'color': gtklib.BLACK, 'background': bg}   tstr += gtklib.markup(' %s ' % tag, **style) + ' ' + for mark in ctx.bookmarks(): + if mark == self.curbookmark: + bg = gtklib.PORANGE + else: + bg = gtklib.PLIME + style = {'color': gtklib.BLACK, 'background': bg} + tstr += gtklib.markup(' %s ' % mark, **style) + ' '   + node = ctx.node()   branch = ctx.branch()   bstr = ''   status = 0