site

(Pierre-Yves David)
2011-09-19: [obsolete] rebase always keep changeset.

[obsolete] rebase always keep changeset.

diff --git a/hgext/obsolete.py b/hgext/obsolete.py
--- a/hgext/obsolete.py
+++ b/hgext/obsolete.py
@@ -139,6 +139,14 @@ def concludenode(orig, repo, rev, *args,
     repo.addobsolete(newnode, oldnode)
     return newrev
 
+def cmdrebase(orig, repo, ui, *args, **kwargs):
+    oldkeep = kwargs.pop('keep', False)
+    if oldkeep:
+        ui.warn('WARNING --keep option ignored by experimental obsolete extension')
+    kwargs['keep'] = True
+    return orig(repo, ui, *args, **kwargs)
+
+
 ### Filter obsolet changeset
 ############################
 
@@ -179,6 +187,7 @@ def extsetup(ui):
         rebase = extensions.find('rebase')
         if rebase:
             extensions.wrapfunction(rebase, 'concludenode', concludenode)
+            extensions.wrapcommand(rebase.cmdtable, "rebase", cmdrebase)
     except KeyError:
         pass # rebase not found