https://bz.mercurial-scm.org/show_bug.cgi?id=6121

            Bug ID: 6121
           Summary: Evolve and Topic have a shared global enabled state
           Product: Mercurial
           Version: unspecified
          Hardware: PC
                OS: Mac OS
            Status: UNCONFIRMED
          Severity: feature
          Priority: wish
         Component: evolution
          Assignee: bugzi...@mercurial-scm.org
          Reporter: mar...@python-blog.com
                CC: mercurial-devel@mercurial-scm.org,
                    pierre-yves.da...@ens-lyon.org

In short, within the same process that handles different repositories enabling
evolve+topic has an influence on other repositories.

Having RepoA (with evolve+topic) and RepoB (without any extensions) 

If we first do some operations on RepoA then RepoB operations fails with
exceptions related to missing topic support, e.g.

```
Traceback (most recent call last):
  File "/mnt/hgfs/marcink/workspace/rhodecode-vcsserver/vcsserver/hg.py", line
103, in wrapper
    return func(*args, **kwargs)
  File "/mnt/hgfs/marcink/workspace/rhodecode-vcsserver/vcsserver/hg.py", line
225, in clone
    clone(baseui, source, dest, noupdate=not update_after_clone)
  File
"/nix/store/fdr4jjn1awnvbvi4z4vf4m6n2grjkbyw-python2.7-mercurial-4.9.1/lib/python2.7/site-packages/mercurial/commands.py",
line 1570, in clone
    depth=opts.get('depth') or None)
  File
"/nix/store/fdr4jjn1awnvbvi4z4vf4m6n2grjkbyw-python2.7-mercurial-4.9.1/lib/python2.7/site-packages/hgext/largefiles/overrides.py",
line 932, in hgclone
    result = orig(ui, opts, *args, **kwargs)
  File
"/nix/store/fdr4jjn1awnvbvi4z4vf4m6n2grjkbyw-python2.7-mercurial-4.9.1/lib/python2.7/site-packages/mercurial/hg.py",
line 828, in clone
    _update(destrepo, uprev)
  File
"/nix/store/fdr4jjn1awnvbvi4z4vf4m6n2grjkbyw-python2.7-mercurial-4.9.1/lib/python2.7/site-packages/mercurial/hg.py",
line 859, in update
    stats = updaterepo(repo, node, False, updatecheck=updatecheck)
  File
"/nix/store/fdr4jjn1awnvbvi4z4vf4m6n2grjkbyw-python2.7-mercurial-4.9.1/lib/python2.7/site-packages/mercurial/hg.py",
line 855, in updaterepo
    updatecheck=updatecheck)
  File
"/nix/store/arqsrsqwy5wih74gsf0yiq12550dcwnm-python2.7-hg-evolve-8.5.0/lib/python2.7/site-packages/hgext3rd/topic/__init__.py",
line 1177, in mergeupdatewrap
    ot = repo.currenttopic
  File
"/nix/store/fdr4jjn1awnvbvi4z4vf4m6n2grjkbyw-python2.7-mercurial-4.9.1/lib/python2.7/site-packages/mercurial/repoview.py",
line 252, in __getattr__
    return getattr(self._unfilteredrepo, attr)
AttributeError: 'lfilesrepo' object has no attribute 'currenttopic'
```


This looks like some sort of global state of those extensions loaded.  A simple
config for repoA looks like that:


extensions.evolve=1
extensions.topic=1

While repoB has an empty config. Even setting something like this doesn't fix
the problem.

extensions.evolve=!
extensions.topic=!


This is very important for us since it blocks us from having Evolve+Topic
support in latest RhodeCode releases.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to