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: