Matt Mackall <mpm@selenic.com> [Thu, 26 Jul 2007 12:02:58 -0500] rev 5002
dirstate: speed up sorting in findfiles
Matt Mackall <mpm@selenic.com> [Thu, 26 Jul 2007 12:02:58 -0500] rev 5001
revlog: pass mode to _supported directly
Matt Mackall <mpm@selenic.com> [Thu, 26 Jul 2007 12:02:58 -0500] rev 5000
dirstate: localize a bunch of methods for findfiles
Matt Mackall <mpm@selenic.com> [Thu, 26 Jul 2007 12:02:55 -0500] rev 4999
Merge with -stable
Shun-ichi GOTO <shunichi.goto@gmail.com> [Wed, 25 Jul 2007 15:58:10 +0900] rev 4998
posixfile_nt: '+' should allow read access.
This fixes unexpected I/O error on committing many files
due to cset:
8a53b39cd402 (r4902 in crew).
Matt Mackall <mpm@selenic.com> [Thu, 26 Jul 2007 11:19:53 -0500] rev 4997
merge: don't forget to update the dirstate for exec bit changes
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4996
revlog: avoid some unnecessary seek/tell syscalls
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4995
manifest: speed up creation of the manifestdict
- fold iteration and rawset into parse
- avoid creating extra new strings with [:] where possible
- speed up node.bin
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4994
lazyparser.findnode: fix typo and s/rfind/find/
There's no reason to use reverse string search and it's slightly slower
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4993
lazyindex: speed up __getitem__
This function is fairly performance sensitive, so we make a couple
ugly tweaks:
- keep all entries packed so we needn't test entry types
- fold index lookup/load into unpack call to eliminate
local variable setting
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4992
lazyparser: up the blocksize from 512 bytes to 64k
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4991
revlog: implement a fast path for heads
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4990
revlogio: speed up parsing
- precalcuate ending offset
- pull some variables into local scope
- separate inline and out of line code paths
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4989
revlog: eliminate diff and patches functions
call mdiff variants directly
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4988
revlog: speed up chunkcache
- use a reasonable cache size
- avoid an extra copy when we pull in big revs
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4987
revlog: some basic code reordering
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4986
revlog: abstract out index entry packing
This lets us remove most of the remaining v0/v1 logic from revlog
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4985
revlog: simplify revlog.__init__
- move stat into io helper
- get rid of self.defversion and self.indexstat
- fold _load into __init__
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4984
revlog: mark cache private
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4983
revlog: pull chunkcache back into revlog
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4982
revlog: change _inline from a function to a variable
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4981
revlog: simplify addrevision
- remove unused defaults for p1, p2, and text
- reduce some if/else
- use better variable names
- remove some extra variables
- remove some obsolete corner tests
- simply first entry handling for revlogng
- simply inline vs outofline writeout
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4980
revlog: some codingstyle cleanups
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4979
revlog: add a magic null revision to our index
We expand our index by one entry so that index[nullrev] points to a
unique entry, the null revision. This naturally eliminates numerous
extra tests in the performance-sensitive index access functions, most
of which are now trivial again.
Adding new entries is now done with insert(-1, e) rather than
append(e).
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4978
revlog: change accesses to index entry elements to use positive offsets
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4977
revlog: parse revlogv0 indexes into v1 internally
This lets us eliminate lots of special case code in our
performance-sensitive index accessors.
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4976
revlog: only allow lazy parsing with revlogng files
This will allow us to store indices in memory in a single entry format
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4975
revlog: simplify the v1 immediate parser
- read all the data at once (large files are handled by the lazy parser)
- cache the entire file for inline revlogs
- simplify looping
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:08 -0500] rev 4974
revlog: set the threshold for lazy parsing higher
A typical machine can parse a 1MB index in well under a second
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:07 -0500] rev 4973
revlog: simplify the v0 parser
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:07 -0500] rev 4972
revlog: add revlogio interface
This lets us separate the logic for different on-disk revlog formats from
the main revlog logic.
Matt Mackall <mpm@selenic.com> [Mon, 23 Jul 2007 20:44:07 -0500] rev 4971
revlog: regroup parsing code
Matt Mackall <mpm@selenic.com> [Sun, 22 Jul 2007 14:53:57 -0500] rev 4970
transactions: avoid late tear-down (
issue641)
We use weak references (ugh) to avoid having to manually delete
transaction references out of each call frame when an exception occurs.
Patrick Mezard <pmezard@gmail.com> [Sun, 22 Jul 2007 16:21:49 +0200] rev 4969
hgk: enable mouse wheel under Windows.
For some reason, MouseWheel events are not routed under windows even in latest ActiveTcl 8.4.15 while they are under linux and macosx. These events are activated using code supplied with Tcl Tip 171: <http://www.tcl.tk/cgi-bin/tct/tip/171.html>. Strangely, the Tip code almost work but generates some unexpected infinite loop which is fixed using a simple boolean to check reentrancy.
Patrick Mezard <pmezard@gmail.com> [Sun, 22 Jul 2007 16:21:49 +0200] rev 4968
hgk: enable mouse wheel on MouseWheel events.
At this point, mouse wheel still does not work under Windows.
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 22 Jul 2007 09:45:18 +0200] rev 4967
merge with crew-stable
Bryan O'Sullivan <bos@serpentine.com> [Sat, 21 Jul 2007 19:07:18 -0700] rev 4966
addremove: print meaningful error message if --similar not numeric
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:44:38 -0500] rev 4965
Merge with crew
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 17:56:30 +0200] rev 4964
test-alias: Removed fallback to parentui, no longer needed since
10afa3fab6b4
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 17:37:39 +0200] rev 4963
merge with crew-stable
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 17:36:45 +0200] rev 4962
Make [defaults] in .hg/hgrc work.
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 20 Jul 2007 09:44:50 +0200] rev 4961
fix bogus close spotted by pychecker (no close() in global scope)
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 10:43:29 +0200] rev 4960
Remove unused pprint import and the commented line which used it before.
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 10:39:42 +0200] rev 4959
Use format string for lockname again (was changed by
3e25a6eb5c9a)
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 10:36:51 +0200] rev 4958
Backout
ad09ce1d393c and replace ''' with """ to make some highlighting happy.
I have tried Debian's default emacs and the current CVS version. Default emacs
doesn't have highlighting enabled (and being emacs-illiterate I don't know how
to enable it) and the CVS emacs' Python highlighting has no problems with '
characters here.
Thomas Arendsen Hein <thomas@intevation.de> [Sat, 21 Jul 2007 10:30:51 +0200] rev 4957
removed trailing whitespace
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Fri, 20 Jul 2007 09:31:32 +0200] rev 4956
fix unused variables reported by pychecker
Christian Ebert <blacktrash@gmx.net> [Thu, 19 Jul 2007 18:39:51 +0200] rev 4955
churn: get current terminal width if possible
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 19 Jul 2007 19:48:24 -0300] rev 4954
merge with crew-stable
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 19 Jul 2007 19:43:25 -0300] rev 4953
dirstate.invalidate: avoid rebuilding _map
Since hasattr will call __getattr__, the call to hasattr(self, '_dirs')
will end up reparsing the dirstate file.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 19 Jul 2007 19:43:25 -0300] rev 4952
add dirstate._dirtypl variable
Theoretically, it's possible to forget modified dirstate
parents by doing:
dirstate.invalidate()
dirstate.setparents(p1, p2)
dirstate._map
The final access to _map should call _read(), which will
unconditionally overwrite dirstate._pl.
This doesn't actually happen right now because invalidate
accidentally ends up rebuilding dirstate._map.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 19 Jul 2007 19:43:25 -0300] rev 4951
archive: delay extraction of file revisions
This allows us to look only at the filelogs we're interested in,
providing a nice speedup if we're archiving only part of a repository.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Thu, 19 Jul 2007 19:43:25 -0300] rev 4950
help: avoid traceback if an extension has only debug commands
Bryan O'Sullivan <bos@serpentine.com> [Thu, 19 Jul 2007 15:33:21 -0700] rev 4949
convert/subversion: rehandle the no-tags case
Bryan O'Sullivan <bos@serpentine.com> [Thu, 19 Jul 2007 15:29:33 -0700] rev 4948
Print meaningful error message if os.symlink fails
Bryan O'Sullivan <bos@serpentine.com> [Thu, 19 Jul 2007 15:13:48 -0700] rev 4947
lock.py: cache hostname, but not pid, in case we fork
Bryan O'Sullivan <bos@serpentine.com> [Thu, 19 Jul 2007 12:41:07 -0700] rev 4946
convert/subversion: work around memory leak in svn's python bindings
The svn.ra.get_log wrapper attaches the hash of changed paths for every
log entry to a global memory pool, so memory consumption increases
rapidly, with no way to free it.
Our workaround is to call this function in a child process, and feed
its results back over a pipe. The memory consumption of the child still
grows huge (hundreds of megabytes), but at least it goes away once the
reading-the-log phase is done.
Bryan O'Sullivan <bos@serpentine.com> [Wed, 18 Jul 2007 22:46:14 -0700] rev 4945
Automated merge with http://hg.intevation.org/mercurial/crew
Bryan O'Sullivan <bos@serpentine.com> [Wed, 18 Jul 2007 22:44:25 -0700] rev 4944
convert/subversion: Simplify callback.
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 19 Jul 2007 07:28:27 +0200] rev 4943
merge with crew-stable
Bryan O'Sullivan <bos@serpentine.com> [Wed, 18 Jul 2007 14:00:55 -0700] rev 4942
Simplify update.
Bryan O'Sullivan <bos@serpentine.com> [Wed, 18 Jul 2007 13:56:08 -0700] rev 4941
Better fix for issue 622 than we had in
c4dd58af0fc8.
Bryan O'Sullivan <bos@serpentine.com> [Wed, 18 Jul 2007 19:56:36 -0700] rev 4940
convert/subversion: reduce memory usage by filtering early
This makes up to a 50% difference in memory consumption.
Bryan O'Sullivan <bos@serpentine.com> [Wed, 18 Jul 2007 19:47:22 -0700] rev 4939
Automated merge with http://hg.intevation.org/mercurial/crew
Bryan O'Sullivan <bos@serpentine.com> [Wed, 18 Jul 2007 17:44:52 -0700] rev 4938
convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com> [Wed, 18 Jul 2007 14:00:55 -0700] rev 4937
Simplify update.
Bryan O'Sullivan <bos@serpentine.com> [Wed, 18 Jul 2007 13:56:08 -0700] rev 4936
Better fix for issue 622 than we had in
c4dd58af0fc8.
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 18 Jul 2007 16:46:20 +0200] rev 4935
merge with main
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 18 Jul 2007 16:46:01 +0200] rev 4934
merge with crew-stable
Thomas Arendsen Hein <thomas@intevation.de> [Wed, 18 Jul 2007 16:41:45 +0200] rev 4933
fix test-tag on Solaris
Bryan O'Sullivan <bos@serpentine.com> [Mon, 16 Jul 2007 20:15:03 -0700] rev 4932
tag: handle .hgtags and .hg/localtags with missing final newline (issue 601)
This also fixes an asymmetry bug in which we called the pretag hook if we
were going to create a local tag, but didn't call the tag hook afterwards.
Bryan O'Sullivan <bos@serpentine.com> [Mon, 16 Jul 2007 18:01:20 -0700] rev 4931
issue 622: pull/unbundle -u updates to default branch if repo was empty
Bryan O'Sullivan <bos@serpentine.com> [Mon, 16 Jul 2007 16:50:47 -0700] rev 4930
mq: autodetect an existing git patch during qrefresh (issue 491)
Brendan Cully <brendan@kublai.com> [Wed, 11 Jul 2007 00:53:44 -0700] rev 4929
replace .hgtags instead of appending to it when doing a raw commit
Brendan Cully <brendan@kublai.com> [Wed, 11 Jul 2007 00:34:35 -0700] rev 4928
handle nonexistent .hgtags in raw _tag
Bryan O'Sullivan <bos@serpentine.com> [Tue, 17 Jul 2007 15:47:32 -0700] rev 4927
convert/subversion.py: str.rsplit is not available in Python 2.3
Bryan O'Sullivan <bos@serpentine.com> [Tue, 17 Jul 2007 15:26:27 -0700] rev 4926
Automated merge with http://hg.intevation.org/mercurial/crew
Bryan O'Sullivan <bos@serpentine.com> [Tue, 17 Jul 2007 15:24:59 -0700] rev 4925
convert/subversion.py: fix bad assumptions about SVN path naming
The SVN converter assumed that the trunk and branches paths were fixed,
and immediately under the base of the SVN URL. Fix the second assumption,
and allow the trunk and branches paths to be reconfigured.
Bryan O'Sullivan <bos@serpentine.com> [Tue, 17 Jul 2007 13:08:50 -0700] rev 4924
convert/subversion.py: escape quotes to make code readable in Emacs
Patrick Mezard <pmezard@gmail.com> [Tue, 17 Jul 2007 23:35:24 +0200] rev 4923
patch: patches should be read and written in binary mode when possible.
Patrick Mezard <pmezard@gmail.com> [Tue, 17 Jul 2007 23:34:52 +0200] rev 4922
patch: fix normalized paths separators.
Patrick Mezard <pmezard@gmail.com> [Tue, 17 Jul 2007 23:33:42 +0200] rev 4921
posixfile_nt: '+' was understood as read mode instead of update.
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:18:42 -0500] rev 4920
revlog: privatize some methods
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:18:24 -0500] rev 4919
revlog: delete unused function makenode
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:18:21 -0500] rev 4918
revlog: raise offset/type helpers to global scope
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:10 -0500] rev 4917
Make repo locks recursive, eliminate all passing of lock/wlock
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:10 -0500] rev 4916
Use a weakref for recursive transactions
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:10 -0500] rev 4915
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4914
repo locks: use True/False
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4913
rename and simplify do_lock
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4912
simplify dirstate fixups in repo.status()
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4911
dirstate: add doesn't need to call stat
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4910
use context for part of localrepo status
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4909
context: add __contains__, __getitem__, and __iter__
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4908
dirstate: get rid of default args for status
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4907
dirstate: make filterfiles private
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4906
dirstate: add __contains__ and make __getitem__ more useful
dirstate.state(f) == '?' -> f not in dirstate
dirstate.state(f) -> dirstate[f]
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4905
dirstate: make wjoin function private
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4904
dirstate: break update into separate functions
Matt Mackall <mpm@selenic.com> [Sat, 21 Jul 2007 16:02:09 -0500] rev 4903
dirstate: use True and false for _dirty
Matt Mackall <mpm@selenic.com> [Tue, 17 Jul 2007 15:26:28 -0500] rev 4902
doc: typo, -x bit
Bryan O'Sullivan <bos@serpentine.com> [Tue, 17 Jul 2007 09:39:30 -0700] rev 4901
Update test output to reflect small changes in patch chattiness.
Bryan O'Sullivan <bos@serpentine.com> [Tue, 17 Jul 2007 09:39:30 -0700] rev 4900
patch.py: re-add the ability to use an external patch program
This is now invoked by default only if ui.patch is set. Otherwise, we
use our built-in patch. If that fails because it can't find any valid
hunks, we'll fall back to trying the external patch command.
Bryan O'Sullivan <bos@serpentine.com> [Tue, 17 Jul 2007 09:39:30 -0700] rev 4899
patch.py: don't mark files as changed unless they have actually been changed
Bryan O'Sullivan <bos@serpentine.com> [Tue, 17 Jul 2007 09:39:30 -0700] rev 4898
patch.py: fix some incorrect uses of _() for i18n
Bryan O'Sullivan <bos@serpentine.com> [Tue, 17 Jul 2007 09:39:30 -0700] rev 4897
Add Chris Mason's mpatch library.
The original repo is http://oss.oracle.com/mercurial/mason/mpatch
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Tue, 17 Jul 2007 09:28:01 -0300] rev 4896
merge with crew-stable
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Tue, 17 Jul 2007 09:08:29 -0300] rev 4895
convert: manually set encoding to UTF-8
Right now the backends assume we're working in UTF-8 and there's
no good way to ignore the encoding when adding revisions.
Alexis S. L. Carvalho <alexis@cecm.usp.br> [Tue, 17 Jul 2007 09:08:29 -0300] rev 4894
hg parents: don't pass an OS-specific path to repo.filectx
The only reason to use the matcher code instead of calling util.canonpath
directly is to be able to use "path:canonical/path/to/file" patterns.
Thomas Arendsen Hein <thomas@intevation.de> [Tue, 17 Jul 2007 08:22:43 +0200] rev 4893
merge with main
Bryan O'Sullivan <bos@serpentine.com> [Mon, 16 Jul 2007 20:15:03 -0700] rev 4892
tag: handle .hgtags and .hg/localtags with missing final newline (issue 601)
This also fixes an asymmetry bug in which we called the pretag hook if we
were going to create a local tag, but didn't call the tag hook afterwards.
Bryan O'Sullivan <bos@serpentine.com> [Mon, 16 Jul 2007 18:01:20 -0700] rev 4891
issue 622: pull/unbundle -u updates to default branch if repo was empty
Bryan O'Sullivan <bos@serpentine.com> [Mon, 16 Jul 2007 16:50:47 -0700] rev 4890
mq: autodetect an existing git patch during qrefresh (issue 491)
Matt Mackall <mpm@selenic.com> [Mon, 16 Jul 2007 17:39:03 -0500] rev 4889
contexts: improve filectx eq test
Matt Mackall <mpm@selenic.com> [Mon, 16 Jul 2007 17:30:34 -0500] rev 4888
Merge with -stable
Bryan O'Sullivan <bos@serpentine.com> [Mon, 16 Jul 2007 14:43:47 -0700] rev 4887
patchbomb: add --desc, to specify a file containing a series description
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 15 Jul 2007 21:05:38 +0200] rev 4886
merge with crew-stable
Patrick Mezard <pmezard@gmail.com> [Sun, 15 Jul 2007 14:57:20 +0200] rev 4885
Merge with crew-stable.
Matt Mackall <mpm@selenic.com> [Sun, 15 Jul 2007 14:43:38 -0500] rev 4884
merge: fix unnecessary rename merges on linear update (
issue631)
If one side's revision is identical to the ancestor, we skip the rest
of the copy detection logic.
Thomas Arendsen Hein <thomas@intevation.de> [Sun, 15 Jul 2007 21:04:07 +0200] rev 4883
convert: Use clone's behaviour for the default destionation name.
Adjusted the documentation for this and for the fact that the destionation is
created even if a name is specified.