site

(Pierre-Yves David)
2012-01-23: keep branch on amend

keep branch on amend

diff --git a/hgext/evolution.py b/hgext/evolution.py
--- a/hgext/evolution.py
+++ b/hgext/evolution.py
@@ -307,6 +307,9 @@ def amend(ui, repo, *pats, **opts):
     branch = opts.get('branch')
     if branch:
         opts.setdefault('extra', {})['branch'] = branch
+    else:
+        if old.branch() != 'default':
+            opts.setdefault('extra', {})['branch'] = old.branch()
 
     lock = repo.lock()
     try:
diff --git a/hgext/obsolete.py b/hgext/obsolete.py
--- a/hgext/obsolete.py
+++ b/hgext/obsolete.py
@@ -302,6 +302,8 @@ def reposetup(ui, repo):
                 sub = None
             if obj in self._obssubrels.get(sub, set()):
                 return 0
+            if sub == obj:
+                return 0
             self._obssubrels.setdefault(sub, set()).add(obj)
             self._obsobjrels.setdefault(obj, set()).add(sub)
             try: