Sun, 26 Dec 2010 12:08:20 +0100 test-static-http.t: increase test coverage on filenames
Adrian Buehlmann <adrian@cadifra.com> [Sun, 26 Dec 2010 12:08:20 +0100] rev 13209
test-static-http.t: increase test coverage on filenames Tracked files starting with a period in the name begin with '~2e' in the store for the dotencode repository format, which is encoded as '%7E2e' in URLs when accessing the repo over static-http. The spaces in filenames are encoded with %20 in URLs. See also issue 2566.
Sun, 26 Dec 2010 11:59:07 +0100 test-static-http.t: get kill actually working
Adrian Buehlmann <adrian@cadifra.com> [Sun, 26 Dec 2010 11:59:07 +0100] rev 13208
test-static-http.t: get kill actually working - signal handlers take two arguments, not one - add missing import sys Before this patch, the $ kill $! at the end of the test just caused a hidden traceback, sys.exit(0) was not executed. The swallowed traceback was: Traceback (most recent call last): File "dumb.py", line 10, in <module> run() File "dumb.py", line 7, in run httpd.serve_forever() File "/usr/lib/python2.6/SocketServer.py", line 224, in serve_forever r, w, e = select.select([self], [], [], poll_interval) TypeError: <lambda>() takes exactly 1 argument (2 given)
Fri, 24 Dec 2010 15:22:00 +0100 hooks: sort any dictionaries set in the environment
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Fri, 24 Dec 2010 15:22:00 +0100] rev 13207
hooks: sort any dictionaries set in the environment The actual order of dictionary items is implementation-defined in Python, and differs between CPython and PyPy. With this change, test-hooks.t passes with PyPy.
Mon, 27 Dec 2010 01:12:31 +0100 windows.rename: eliminate temp name race (issue2571) stable
Adrian Buehlmann <adrian@cadifra.com> [Mon, 27 Dec 2010 01:12:31 +0100] rev 13206
windows.rename: eliminate temp name race (issue2571) On Windows, os.rename reliably raises OSError with errno.EEXIST if the destination already exists (even on shares served by Samba). Windows does *not* silently overwrite the destination of a rename. So there is no need to first call os.path.exists on the chosen temp path. Trusting os.path.exists is actually harmful, since using it enables the following racy sequence of actions: 1) os.path.exists(temp) returns False 2) some evil other process creates a file with name temp 3) os.rename(dst, temp) now fails because temp has been taken Not using os.path.exists and directly trying os.rename(dst, temp) eliminates this race.
Tue, 28 Dec 2010 13:31:30 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 28 Dec 2010 13:31:30 -0600] rev 13205
merge with stable
Mon, 13 Dec 2010 22:38:06 +0100 checknlink: use two testfiles (issue2543) stable
Adrian Buehlmann <adrian@cadifra.com> [Mon, 13 Dec 2010 22:38:06 +0100] rev 13204
checknlink: use two testfiles (issue2543) Preventing file loss repository corruption (e.g. vanished changelog.i) when Mercurial pushes to repositories on Windows shares served by Samba. This is a workaround for Samba bug 7863, which is present in current latest stable Samba 3.5.6 and various prior versions down to 3.0.26a (the oldest one I tested). Of course this should be fixed in Samba, but there probably aren't that many other applications who use hardlinks that extensively and keep files open like Mercurial, so the pressure to fix this on Samba is probably not that high. And even if the Samba project should be able to fix their bug within a month or two, it will take quite some time until users upgrade their Samba installs.
(0) -10000 -3000 -1000 -300 -100 -30 -10 -6 +6 +10 +30 +100 +300 +1000 +3000 +10000 +30000 tip