Workbench often loses MQ's status after popping a patch.

Issue #2499 duplicate
Kaz Nishimura
created an issue

When I pops a MQ patch from GUI, Workbench often loses the queue's status and displays remaining applied patches falsely as committed. I must reload to correct the view.

I am afraid that Workbench reads the queue's status before MQ finishes writing it to .hg/patches/status but not sure.

Comments (9)

  1. Yuya Nishihara

    @Kaz Nishimura Thanks. That happens because of the time lag between cache invalidation and model reload.

    The problem can be avoided by the following change, but it would introduce another bug:

    --- a/hgext/
    +++ b/hgext/
    @@ -28,7 +28,7 @@ def extsetup(ui):
                 injectdamper(repo._pyqtobj, 'fileChanged', 'onFileChange')
                 # disable pollStatus() by busy count, which may have side effect
                 repo.incrementBusyCount = lambda: None
    -            repo.decrementBusyCount = repo.thginvalidate
    +            repo.decrementBusyCount = lambda: None #repo.thginvalidate
             return repo
         extensions.wrapfunction(thgrepo, 'repository', repository)
  2. Log in to comment