view tests/test-batching.py.out @ 31209:dd2364f5180a

localrepo: handle rename with hardlinks properly In "aftertrans", we rename "journal.*" to "undo.*". We expect "journal.*" files to disappear after renaming. However, if "journal.foo" and "undo.foo" refer to a same file (hardlink), rename may be a no-op, leaving both files on disk, according to Linux manpage [1]: If oldpath and newpath are existing hard links referring to the same file, then rename() does nothing, and returns a suc‐ cess status. The POSIX specification [2] is not very clear about what to do. To be safe, remove "undo.*" before the rename so "journal.*" cannot be left on disk. [1]: http://man7.org/linux/man-pages/man2/rename.2.html [2]: http://pubs.opengroup.org/onlinepubs/9699919799/
author Jun Wu <quark@fb.com>
date Thu, 02 Mar 2017 21:49:30 -0800
parents 84094c0d2724
children e2fc2122029c
line wrap: on
line source


== Local
Ready.
Un and Deux
Eins und Zwei
One and Two
Nope
Eins und Zwei
Hello, John Smith
Ready.
Uno und Due

== Remote
Ready.
REQ: foo?one=Vo&two=Efvy
  -> Vo!boe!Efvy
Un and Deux
REQ: bar?b=Fjot&a=[xfj
  -> Fjot!voe![xfj
Eins und Zwei
REQ: batch?cmds=foo:one=Pof,two=Uxp;bar:b=Fjot,a=[xfj
  -> Pof!boe!Uxp;Fjot!voe![xfj
REQ: greet?name=Kpio!Tnjui
  -> Ifmmp-!Kpio!Tnjui
REQ: batch?cmds=bar:b=Vop,a=Evf
  -> Vop!voe!Evf
One and Two
Nope
Eins und Zwei
Hello, John Smith
Ready.
Uno und Due