a1aca2ec2e5b

Wrap push and pull to delete the prompt caches.
[view raw] [browse files]
author Steve Losh <steve@stevelosh.com>
date Sat, 08 Aug 2009 09:49:22 -0400
parents 7320aadbcca6
children 15afa852bf78
branches/tags (none)
files prompt.py

Changes

--- a/prompt.py	Sat Jul 25 12:03:15 2009 -0400
+++ b/prompt.py	Sat Aug 08 09:49:22 2009 -0400
@@ -15,7 +15,7 @@
 import subprocess
 from datetime import datetime, timedelta
 from os import path
-from mercurial import extensions
+from mercurial import extensions, commands
 from mercurial.node import hex, short
 
 CACHE_PATH = ".hg/prompt/cache"
@@ -222,6 +222,26 @@
         fs = re.sub(tag_start + tag + tag_end, repl, fs)
     ui.status(fs)
 
+def _pull_with_cache(orig, ui, repo, *args, **opts):
+    """Wrap the pull command to delete the incoming cache as well."""
+    res = orig(ui, repo, *args, **opts)
+    cache = path.join(repo.root, CACHE_PATH, 'incoming')
+    if path.isfile(cache):
+        os.remove(cache)
+    return res
+
+def _push_with_cache(orig, ui, repo, *args, **opts):
+    """Wrap the push command to delete the outgoing cache as well."""
+    res = orig(ui, repo, *args, **opts)
+    cache = path.join(repo.root, CACHE_PATH, 'outgoing')
+    if path.isfile(cache):
+        os.remove(cache)
+    return res
+
+def uisetup(ui):
+    extensions.wrapcommand(commands.table, 'pull', _pull_with_cache)
+    extensions.wrapcommand(commands.table, 'push', _push_with_cache)
+
 cmdtable = {
     "prompt": 
     (prompt, [
@@ -229,4 +249,4 @@
         ('', 'cache-outgoing', None, 'used internally by hg-prompt'),
     ],
     'hg prompt STRING')
-}
+}
\ No newline at end of file