Mercurial > hg
view tests/bundles/remote.sh @ 18316:f36375576ed5
filecache: create an entry in _filecache when __set__ is called for a missing one
Preserve the invariant that if P is a filecached property on X then
P in X.__dict__ => P in X._filecache.
Previously, it was possible for a filecached property to become out of sync
with the filesystem if it was set before getting it first, since the initial
filecacheentry was created in __get__.
Old behaviour:
repo.prop = x
repo.invalidate() # prop has no entry in _filecache, it's not removed
# from __dict__
repo.prop # returns x like before without checking with the
# filesystem
New:
repo.prop = x # an empty entry is created in _filecache
repo.invalidate() # prop is removed from __dict__
repo.prop # recreates prop
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Mon, 17 Dec 2012 15:25:45 +0200 |
parents | 07708f4171f1 |
children | 5d57b2101ab1 |
line wrap: on
line source
#!/bin/bash hg init remote cd remote echo "0" >> afile hg add afile hg commit -m "0.0" echo "1" >> afile hg commit -m "0.1" echo "2" >> afile hg commit -m "0.2" echo "3" >> afile hg commit -m "0.3" hg update -C 0 echo "1" >> afile hg commit -m "1.1" echo "2" >> afile hg commit -m "1.2" echo "a line" > fred echo "3" >> afile hg add fred hg commit -m "1.3" hg mv afile adifferentfile hg commit -m "1.3m" hg update -C 3 hg mv afile anotherfile hg commit -m "0.3m" hg bundle -a ../remote.hg cd .. rm -Rf remote