Idan Kamara <idankk86@gmail.com> [Tue, 24 May 2011 19:16:51 +0300] rev 14422
mq: wrap patch file name checks in a function
Augie Fackler <durin42@gmail.com> [Tue, 24 May 2011 13:30:10 -0500] rev 14421
pure parsers: properly detect corrupt index files
This new Python code should be equivalent in behavior to the if
statement at line 312 of parsers.c. Without this, the pure-python
parsers improperly ignore truncated revlogs as created in
test-verify.t.
Adrian Buehlmann <adrian@cadifra.com> [Tue, 24 May 2011 14:08:20 +0200] rev 14420
workingctx: unlink paths while holding the wlock
Martin Geisler <mg@aragost.com> [Tue, 24 May 2011 16:12:01 +0200] rev 14419
wireproto: do not hash when heads == ['force']
Changeset 88f0e41d8802 introduced the unbundlehash capability and
unconditionally hashed the heads on the client side. By mistake, the
heads were also cased in the heads == ['force'] case.
Patrick Mezard <pmezard@gmail.com> [Tue, 24 May 2011 14:21:04 +0200] rev 14418
patch: remove EOL support from linereader class
This was only used when reading patched files which is now done by backends.
Matt Mackall <mpm@selenic.com> [Mon, 23 May 2011 22:49:10 -0500] rev 14417
subrepo: handle local added subrepo case correctly
Idan Kamara <idankk86@gmail.com> [Mon, 23 May 2011 23:22:47 +0300] rev 14416
graphlog: remove unused arg from _wrapcmd
Idan Kamara <idankk86@gmail.com> [Mon, 23 May 2011 23:09:00 +0300] rev 14415
extensions: raise when trying to find an extension that failed to load
extensions that depend on other extensions (such as record) use this pattern
to check if the dependant extension is available:
try:
mq = extensions.find('mq')
except KeyError:
return
but since if an error occurs while loading an extension it leaves its entry
in the _extensions map as None, we want to raise in that situation too.
(rather than adding another check if the return value is None)
Adrian Buehlmann <adrian@cadifra.com> [Mon, 23 May 2011 15:56:31 +0200] rev 14414
remove: clarify help text about added files never being deleted from disk
Adrian Buehlmann <adrian@cadifra.com> [Wed, 18 May 2011 09:12:27 +0200] rev 14413
pure: provide more correct implementation of posixfile for Windows
requires ctypes
Why is posixfile a class?
Because the implementation needs to use the Python library call os.fdopen [1],
which sets the 'name' attribute on the Python file object it creates to the
mostly meaningless string '<fdopen>', since file descriptors don't have a name.
But users of posixfile depend on the name attribute [2] being set to a proper
value, like Python's built-in 'open' function sets it on file objects.
Python file's name attribute is read-only, so we can't just assign to it after
the file object has alrady been created.
To solve this problem, we save the name of the file on a wrapper object,
and delegate the file function calls to the wrapped (private) file object
using __getattr__.
[1] http://docs.python.org/library/os.html#os.fdopen
[2] http://docs.python.org/library/stdtypes.html#file.name