Patrick Mezard <pmezard@gmail.com> [Sun, 23 Jan 2011 15:21:37 +0100] rev 13293
record: refactor the prompt loop
The previous loop was iterating over a mixed header/hunk stream. It may have
been more generic in the sense every item in the stream could trigger a prompt
but it required more work to skip items properly. It can be rewritten in a more
intuitive way by looping on files then looping on hunks.
Patrick Mezard <pmezard@gmail.com> [Sun, 23 Jan 2011 15:21:34 +0100] rev 13292
test-record: test peculiar changes numbering
Patrick Mezard <pmezard@gmail.com> [Sun, 23 Jan 2011 13:01:17 +0100] rev 13291
record: turn prompt() into a pure function
Patrick Mezard <pmezard@gmail.com> [Sun, 23 Jan 2011 12:44:05 +0100] rev 13290
record: turn consumefile() into a pure function
Patrick Mezard <pmezard@gmail.com> [Sun, 23 Jan 2011 12:30:15 +0100] rev 13289
hghave: remove unused hotshot check
Patrick Mezard <pmezard@gmail.com> [Sat, 22 Jan 2011 16:29:10 +0100] rev 13288
Merge with stable
Patrick Mezard <pmezard@gmail.com> [Sat, 22 Jan 2011 16:15:40 +0100] rev 13287
subrepo: compare svn subrepo state to last committed revision
A subversion project revisions are a subset of the repository revisions, you
can ask subversion to update a working directory from one revision to another
without changing anything. Unfortunately, Mercurial will think the
subrepository has changed and will commit it again. To avoid useless commits,
we compare the subrepository state to its actual "parent" revision. To ensure
ascending compatibility with existing subrepositories which might reference
fake revisions, we also keep comparing with the subrepo working directory
revision.
NOTE: not sure if this should go in stable or not.
Steve Borho <steve@borho.org> [Sat, 22 Jan 2011 09:13:04 -0600] rev 13286
merge with stable
Steve Borho <steve@borho.org> [Fri, 21 Jan 2011 14:42:15 -0600] rev 13285
win32: win32console.GetStdHandle() can return None
When the Mercurial Python libraries are used within a Windows application with
no console, there is no stderr file handle.
Matt Mackall <mpm@selenic.com> [Fri, 21 Jan 2011 16:26:01 -0600] rev 13284
revlog: remove stray test in rev()
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Thu, 20 Jan 2011 20:35:54 +0100] rev 13283
merge with main
Adrian Buehlmann <adrian@cadifra.com> [Tue, 11 Jan 2011 14:10:16 +0100] rev 13282
opener: use util.unlink (
issue2524)
Adrian Buehlmann <adrian@cadifra.com> [Tue, 11 Jan 2011 14:10:16 +0100] rev 13281
lock: use util.unlink (
issue2537)
Adrian Buehlmann <adrian@cadifra.com> [Tue, 11 Jan 2011 14:10:16 +0100] rev 13280
reintroduces util.unlink, for POSIX and Windows.
windows: factor it out of rename
posix: add alias 'unlink' for os.unlink
Note that this new unlink function now has different semantics than the
unlink() we had before changeset
6bf39d88c857 ("rename util.unlink to
unlinkpath").
Adrian Buehlmann <adrian@cadifra.com> [Tue, 11 Jan 2011 14:10:16 +0100] rev 13279
opener: check exception for ENOENT
Adrian Buehlmann <adrian@cadifra.com> [Tue, 11 Jan 2011 14:10:16 +0100] rev 13278
windows.rename: check OSError for EEXIST
For example, if src has been opened with Python's open(), os.rename will
raise EACCES. Continuing in that case is pointless.
Matt Mackall <mpm@selenic.com> [Tue, 18 Jan 2011 15:55:49 -0600] rev 13277
perf: restore lazyindex hack
This hack (and the module it lives in) exist so that performance can
be compared across different hg versions.
Matt Mackall <mpm@selenic.com> [Tue, 18 Jan 2011 15:55:48 -0600] rev 13276
revlog: pass rev to _checkhash
Matt Mackall <mpm@selenic.com> [Tue, 18 Jan 2011 15:55:46 -0600] rev 13275
revlog: incrementally build node cache with linear searches
This avoids needing to prime the cache for operations like verify
which visit most or all of the index.
Adrian Buehlmann <adrian@cadifra.com> [Fri, 07 Jan 2011 10:48:30 +0100] rev 13274
bundlerepo: use less intrusive util.posixfile to open bundle
Adrian Buehlmann <adrian@cadifra.com> [Sat, 15 Jan 2011 23:54:01 +0100] rev 13273
osutil: treat open modes 'w' and 'a' as 'w+' and 'a+' in posixfile
to work around http://support.microsoft.com/kb/899149.
Also, Microsoft's documentation of the CreateFile Windows API says (quote):
When an application creates a file across a network, it is better to use
GENERIC_READ | GENERIC_WRITE for dwDesiredAccess than to use
GENERIC_WRITE alone. The resulting code is faster, because the
redirector can use the cache manager and send fewer SMBs with more data.
This combination also avoids an issue where writing to a file across a
network can occasionally return ERROR_ACCESS_DENIED.
jfh <jason@jasonfharris.com> [Tue, 04 Jan 2011 06:29:08 +0100] rev 13272
move tags.cache and branchheads.cache to a collected cache folder .hg/cache/
The generation of cache files like tags.cache and branchheads.cache is not an
actual reflection of things changing in the whole of the .hg directory (like eg
a commit or a rebase or something) but instead these cache files are just part
of bookkeeping. As such its convienant to allow various clients to ignore file
events to do with these cache files which would otherwise cause a double
refresh. Eg one refresh might occur after a commit, but the act of refreshing
after the commit would cause Mercurial to generate a new branchheads.cache which
would then cause a second refresh, for clients.
However if these cache files are moved into a directory like eg .hg/cache/ then
GUI clients on OSX (and possibly other platforms) can happily ignore file events
in this cache directory.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sun, 16 Jan 2011 17:26:34 +0100] rev 13271
addchangegroup: document the current locking semantics
Christian Ebert <blacktrash@gmx.net> [Sun, 16 Jan 2011 15:45:26 +0100] rev 13270
keyword: update documentation for kwshrink
* remove obsolete reference to potential problems with merge and import
* emphasize that running kwshrink before configuration changes which
affect active/expanded keywords is mandatory