# HG changeset patch # User Matt Mackall # Date 1172261810 21600 # Node ID 97251938485365716a52aebb013d271ba5f55e68 # Parent c097b6f4f08243ab42f40d36424847c255ab8fad# Parent 20af6a2f0b0eece5df79c0faf42697802d2386c3 Merge with crew diff --git a/mercurial/context.py b/mercurial/context.py --- a/mercurial/context.py +++ b/mercurial/context.py @@ -510,7 +510,7 @@ class workingfilectx(filectx): def date(self): t, tz = self._changectx.date() try: - return (os.lstat(repo.wjoin(self._path)).st_mtime, tz) + return (os.lstat(self._repo.wjoin(self._path)).st_mtime, tz) except OSError, err: if err.errno != errno.ENOENT: raise return (t, tz) diff --git a/tests/test-context.py b/tests/test-context.py new file mode 100644 --- /dev/null +++ b/tests/test-context.py @@ -0,0 +1,20 @@ +import os +from mercurial import hg, ui, commands + +u = ui.ui() + +repo = hg.repository(u, 'test1', create=1) +os.chdir('test1') +repo = hg.repository(u, '.') # FIXME: can't lock repo without doing this + +# create 'foo' with fixed time stamp +f = file('foo', 'w') +f.write('foo\n') +f.close() +os.utime('foo', (1000, 1000)) + +# add+commit 'foo' +repo.add(['foo']) +repo.commit(text='commit1', date="0 0") + +print "workingfilectx.date =", repo.workingctx().filectx('foo').date() diff --git a/tests/test-context.py.out b/tests/test-context.py.out new file mode 100644 --- /dev/null +++ b/tests/test-context.py.out @@ -0,0 +1,1 @@ +workingfilectx.date = (1000, 0)