# HG changeset patch # User Benoit Boissinot # Date 1243374593 -7200 # Node ID c31fe74a66335b99907ce622eb8d79f372db3f81 # Parent 9e055cfdd620e86121c241f52a8e39d0880021b8 store encoding: .i/.d encoding for non-store repo (broken by 810387f59696) diff -r 9e055cfdd620 -r c31fe74a6633 mercurial/store.py --- a/mercurial/store.py Tue May 26 22:59:52 2009 +0200 +++ b/mercurial/store.py Tue May 26 23:49:53 2009 +0200 @@ -171,8 +171,9 @@ self.pathjoiner = pathjoiner self.path = path self.createmode = _calcmode(path) - self.opener = opener(self.path) - self.opener.createmode = self.createmode + op = opener(self.path) + op.createmode = self.createmode + self.opener = lambda f, *args, **kw: op(encodedir(f), *args, **kw) def join(self, f): return self.pathjoiner(self.path, encodedir(f)) diff -r 9e055cfdd620 -r c31fe74a6633 tests/test-fncache --- a/tests/test-fncache Tue May 26 22:59:52 2009 +0200 +++ b/tests/test-fncache Tue May 26 23:49:53 2009 +0200 @@ -48,4 +48,23 @@ echo "% hg verify" hg verify +# try non store repo encoding +cd .. +echo % non store repo +hg --config format.usestore=False init foo +cd foo +mkdir tst.d +echo foo > tst.d/foo +hg ci -Amfoo +ls -R .hg + +cd .. +echo % non fncache repo +hg --config format.usefncache=False init bar +cd bar +mkdir tst.d +echo foo > tst.d/Foo +hg ci -Amfoo +ls -R .hg + exit 0 diff -r 9e055cfdd620 -r c31fe74a6633 tests/test-fncache.out --- a/tests/test-fncache.out Tue May 26 22:59:52 2009 +0200 +++ b/tests/test-fncache.out Tue May 26 23:49:53 2009 +0200 @@ -41,3 +41,41 @@ 3 files, 3 changesets, 3 total revisions 3 integrity errors encountered! (first damaged changeset appears to be 0) +% non store repo +adding tst.d/foo +.hg: +00changelog.i +00manifest.i +data +dirstate +requires +undo +undo.branch +undo.dirstate + +.hg/data: +tst.d.hg + +.hg/data/tst.d.hg: +foo.i +% non fncache repo +adding tst.d/Foo +.hg: +00changelog.i +dirstate +requires +store +undo.branch +undo.dirstate + +.hg/store: +00changelog.i +00manifest.i +data +undo + +.hg/store/data: +tst.d.hg + +.hg/store/data/tst.d.hg: +_foo.i