The phase information is not always up to date

Pierre-Yves David pierre-yves.david at ens-lyon.org
Wed Jan 25 15:05:13 CST 2012


On 25 janv. 2012, at 15:14, Angel Ezquerra Moreu wrote:

> Hi,
> 
> I originally sent the following question to the TortoiseHg developers
> mailing list. In there Steve suggested that this may be a mercurial
> issue.
> 
> As you may know I am working on adding phase support to TortoiseHg. I
> got everything mostly working, but I have a problem. I added an
> (optional) column to the tortoisehg workbench which shows the phase of
> each revision. I also added a way to change the phase of a particular
> revision. The problem is that TortoiseHg does not update the phase
> column when you change the phase of a revision, even after I hit the
> refresh button. I must close the repository tab and open it again in
> order to get the updated phase information. Sometimes even this does
> not work, and I must restart the workbench to update the phase info!
> 
> Steve said that this usually means the repository is holding on to
> cached data and is not releasing it when the repository is
> invalidated. However it may also be that I am doing something wrong.
> Do you have any suggestions to further debug this problem?

localrepo store data about phases:

   * roots in repo._phaseroots as "@filescache" 
   * actual phase of all changeset in  repo._phaserev as "@propertycache"

The second propertycache is properly invalidated on the active local repo when phase is moved. But nothing is done to informs other instance about it.

Does anyone have a pointer about how resolve this ?

-- 
Pierre-Yves


More information about the Mercurial-devel mailing list