# HG changeset patch
# User Emmanuel Rosa <goaway1...@gmail.com>
# Date 1248745217 14400
# Node ID b0e1975e145a9bbc2aff3e590e53e651f274febc
# Parent  4ec8fe686d329be89c4106c7a7a437a42d537353
add support for forget command

diff -r 4ec8fe686d32 -r b0e1975e145a hggtk/hgtk.py
--- a/hggtk/hgtk.py     Mon Jul 27 13:36:34 2009 -0500
+++ b/hggtk/hgtk.py     Mon Jul 27 21:40:17 2009 -0400
@@ -370,6 +370,11 @@
     from hggtk.status import run
     gtkrun(run, ui, *pats, **opts)
 
+def forget(ui, *pats, **opts):
+    """file status viewer in forget mode"""
+    from hggtk.status import run
+    gtkrun(run, ui, *pats, **opts)
+
 def serve(ui, *pats, **opts):
     """web server"""
     from hggtk.serve import run
@@ -658,6 +663,7 @@
     "^remove|rm": (revert, [], _('hgtk remove [FILE]...')),
     "^rename|mv": (rename, [], _('hgtk rename SOURCE [DEST]')),
     "^revert": (revert, [], _('hgtk revert [FILE]...')),
+    "^forget": (forget, [], _('hgtk forget [FILE]...')),
     "^serve":
         (serve,
          [('', 'webdir-conf', '', _('name of the webdir config file'))],
diff -r 4ec8fe686d32 -r b0e1975e145a hggtk/status.py
--- a/hggtk/status.py   Mon Jul 27 13:36:34 2009 -0500
+++ b/hggtk/status.py   Mon Jul 27 21:40:17 2009 -0400
@@ -3,6 +3,7 @@
 # Copyright 2007 Brad Schick, brad at gmail . com
 # Copyright 2007 TK Soh <teekay...@gmail.com>
 # Copyright 2008 Steve Borho <st...@borho.org>
+# Copyright 2008 Emmanuel Rosa <goaway1...@gmail.com>
 #
 # This software may be used and distributed according to the terms of the
 # GNU General Public License version 2, incorporated herein by reference.
@@ -105,7 +106,8 @@
                     (_('edit'), self._view_file),
                     (_('view other'), self.view_left_file),
                     (_('_revert'), self.revert_file),
-                    (_('l_og'), self.log_file)),
+                    (_('l_og'), self.log_file),
+                    (_('_forget'), self.forget_file)),
                 # addrem
                 ((_('_difference'), self._diff_file),
                     (_('_view'), self._view_file),
@@ -122,7 +124,8 @@
                     (_('re_move'), self.remove_file),
                     (_('re_name'), self.rename_file),
                     (_('_copy'), self.copy_file),
-                    (_('l_og'), self.log_file)),
+                    (_('l_og'), self.log_file),
+                    (_('_forget'), self.forget_file)),
                 # ignored
                 ((_('_view'), self._view_file),
                     (_('_delete'), self.delete_file)),
@@ -212,6 +215,9 @@
                         tip=_('move selected files to other directory')),
                     self.make_toolbutton(gtk.STOCK_DELETE, _('_Remove'),
                         self.remove_clicked, tip=_('remove')),
+                    self.make_toolbutton(gtk.STOCK_CLEAR, _('_Forget'),
+                        self.forget_clicked, 
+                        tip=_('forget file(s) on next commit')),
                     gtk.SeparatorToolItem()]
         return tbuttons
 
@@ -1095,6 +1101,9 @@
         dlg.display()
         return True
 
+    def forget_file(self, stat, wfile):
+       self.hg_forget([wfile])
+       return True
 
     def hg_revert(self, files):
         wfiles = [self.repo.wjoin(x) for x in files]
@@ -1140,6 +1149,11 @@
                 shlib.shell_notify(wfiles)
                 self.reload_status()
 
+    def hg_forget(self, files):
+        wfiles = [self.repo.wjoin(x) for x in files]
+        commands.forget(self.ui, self.repo, *wfiles)
+        self.reload_status()
+
     def add_clicked(self, toolbutton, data=None):
         add_list = self.relevant_files('?I')
         if len(add_list) > 0:
@@ -1205,6 +1219,14 @@
                     'Note: only clean files can be moved.'), self).run()
         return True
 
+    def forget_clicked(self, toolbutton, data=None):
+        forget_list = self.relevant_files('CM')
+        if len(forget_list) > 0:
+            self.hg_forget(forget_list)
+        else:
+            gdialog.Prompt(_('Nothing Forgotten'),
+                   _('No clean files selected'), self).run()
+
     def delete_file(self, stat, wfile):
         self.delete_files([wfile])
 

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Tortoisehg-develop mailing list
Tortoisehg-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop

Reply via email to