Tue, 03 May 2011 11:46:02 -0500 mq: strip extra whitespace from node ids in header (issue2790) stable
Kevin Bullock <kbullock@ringworld.org> [Tue, 03 May 2011 11:46:02 -0500] rev 14170
mq: strip extra whitespace from node ids in header (issue2790) This makes `hg qpush --exact` work with patches created by `hg export`.
Mon, 02 May 2011 10:11:24 +0200 check-code: disallow calling opener(...).read() and opener(..).write()
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Mon, 02 May 2011 10:11:24 +0200] rev 14169
check-code: disallow calling opener(...).read() and opener(..).write()
Mon, 02 May 2011 10:11:18 +0200 prevent transient leaks of file handle by using new helper functions
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Mon, 02 May 2011 10:11:18 +0200] rev 14168
prevent transient leaks of file handle by using new helper functions These leaks may occur in environments that don't employ a reference counting GC, i.e. PyPy. This implies: - changing opener(...).read() calls to opener.read(...) - changing opener(...).write() calls to opener.write(...) - changing open(...).read(...) to util.readfile(...) - changing open(...).write(...) to util.writefile(...)
Mon, 02 May 2011 10:11:05 +0200 util & scmutil: adapt read/write helpers as request by mpm
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Mon, 02 May 2011 10:11:05 +0200] rev 14167
util & scmutil: adapt read/write helpers as request by mpm
Mon, 02 May 2011 09:11:35 +0200 store: use a subclass, not a function for fncacheopener
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Mon, 02 May 2011 09:11:35 +0200] rev 14166
store: use a subclass, not a function for fncacheopener
Mon, 18 Apr 2011 02:42:52 +0200 util.termwidth: never return 0 for terminal width
jfh <jason@jasonfharris.com> [Mon, 18 Apr 2011 02:42:52 +0200] rev 14165
util.termwidth: never return 0 for terminal width Catch a case where the termwidth was being reported as 0 when I was connecting with TLMTask instead of NSTask in OSX. This caused the progress extension to print no progress. The termwidth should never return 0 so in case we would return 0, simply fall back to the default termwidth below which is 80.
Mon, 02 May 2011 19:21:30 +0200 discovery: add new set-based discovery
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Mon, 02 May 2011 19:21:30 +0200] rev 14164
discovery: add new set-based discovery Adds a new discovery method based on repeatedly sampling the still undecided subset of the local node graph to determine the set of nodes common to both the client and the server. For small differences between client and server, it uses about the same or slightly fewer roundtrips than the old tree-based discovery. For larger differences, it typically reduces the number of roundtrips drastically (from 150 to 4, for instance). The old discovery code now lives in treediscovery.py, the new code is in setdiscovery.py. Still missing is a hook for extensions to contribute nodes to the initial sample. For instance, Augie's remotebranches could contribute the last known state of the server's heads. Credits for the actual sampler and computing common heads instead of bases go to Benoit Boissinot.
Mon, 02 May 2011 19:21:30 +0200 debugbuilddag: use memctx for speed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Mon, 02 May 2011 19:21:30 +0200] rev 14163
debugbuilddag: use memctx for speed This drops the options to run arbitrary shell commands within commits and the option to create a file that gets appended to in every revision. It now supports to not write file data at all, which is very fast for generating a pure 00changelog.i (useful for discovery tests, for instance). Timings for 1000 linear nodes: * Old `hg debugbuilddag -o '+1000'` took 4.5 secs. * New `hg debugbuilddag -o '+1000'` takes 2 secs. * New `hg debugbuilddag '+1000'` takes 0.8 secs. (The last one creates only 00changelog.i).
Mon, 02 May 2011 19:20:29 +0200 localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Mon, 02 May 2011 19:20:29 +0200] rev 14162
localrepo: reuse parent manifest in commitctx if no files have changed This speeds up the in-memory version of debugbuilddag that I'm working on considerably for the case where we want to build just a 00changelog.i (for discovery tests, for instance). There are a couple of test changes because node ids in tests have changed. The changes to the patch names in test-mq-qdelete.t were required because they could collide with nodeid abbreviations and newly actually do (patch "c" collides with id "cafe..." for patch "b").
Mon, 02 May 2011 12:36:23 +0200 bundlerepo: fix and improve getremotechanges
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Mon, 02 May 2011 12:36:23 +0200] rev 14161
bundlerepo: fix and improve getremotechanges Fixes the regression where incoming could show local changes introduced by rev 72c84f24b420.
Mon, 02 May 2011 00:04:49 +0200 hgrc.5: mention new 'case collision' handling for ui.portablefilenames
Adrian Buehlmann <adrian@cadifra.com> [Mon, 02 May 2011 00:04:49 +0200] rev 14160
hgrc.5: mention new 'case collision' handling for ui.portablefilenames
Sun, 01 May 2011 20:29:44 +0200 win32: remove obsolete bookmarks and parentrevspec extensions from mercurial.ini
Pascal Quantin <pascal.quantin@gmail.com> [Sun, 01 May 2011 20:29:44 +0200] rev 14159
win32: remove obsolete bookmarks and parentrevspec extensions from mercurial.ini
Sun, 01 May 2011 13:08:29 -0500 bundlerepo: drop struct
Matt Mackall <mpm@selenic.com> [Sun, 01 May 2011 13:08:29 -0500] rev 14158
bundlerepo: drop struct
Mon, 02 May 2011 01:29:51 +0900 bisect: fix indent level
Yuya Nishihara <yuya@tcha.org> [Mon, 02 May 2011 01:29:51 +0900] rev 14157
bisect: fix indent level
Sun, 01 May 2011 18:43:20 +0200 share: create 'hgrc' using an opener, like clone
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sun, 01 May 2011 18:43:20 +0200] rev 14156
share: create 'hgrc' using an opener, like clone
Sun, 01 May 2011 19:51:28 +0200 backout 3a3584967a93 - the "unreachable code" was apparently not unreachable
Mads Kiilerich <mads@kiilerich.com> [Sun, 01 May 2011 19:51:28 +0200] rev 14155
backout 3a3584967a93 - the "unreachable code" was apparently not unreachable All tests repeatedly passes with 3a3584967a93 on some machines, but on other machines it regularly causes failure in test-mv-cp-st-diff.t, such as: @@ -203,6 +203,7 @@ - working to root: --rev 0 M a + M x/x A b a
Sun, 01 May 2011 19:44:28 +0200 merge with mpm
Sune Foldager <cryo@cyanite.org> [Sun, 01 May 2011 19:44:28 +0200] rev 14154
merge with mpm
Sun, 01 May 2011 17:35:05 +0200 revset: avoid over-aggresive optimizations of non-filtering functions (issue2549)
Mads Kiilerich <mads@kiilerich.com> [Sun, 01 May 2011 17:35:05 +0200] rev 14153
revset: avoid over-aggresive optimizations of non-filtering functions (issue2549) When limit, last, min and max were evaluated they worked on a reduced set in the wrong way. Now they work on an unrestricted set (the whole repo) and get limited later on.
Sun, 01 May 2011 17:35:05 +0200 convert: handle invalid subversion source paths
Mads Kiilerich <mads@kiilerich.com> [Sun, 01 May 2011 17:35:05 +0200] rev 14152
convert: handle invalid subversion source paths
Sun, 01 May 2011 17:34:16 +0200 convert: also catch missing revlogs when introduced in repo roots
Mads Kiilerich <mads@kiilerich.com> [Sun, 01 May 2011 17:34:16 +0200] rev 14151
convert: also catch missing revlogs when introduced in repo roots The previous behaviour was almost as if convert.hg.ignoreerrors was always set for revisions without parents, except that errors were silently ignored. Revlog errors are handled as a side effect of getcopies(), but getcopies() was only called when convert.hg.ignoreerrors was set. Now we always call self.getcopies for root revisions, not only when convert.hg.ignoreerrors is set, just like we do on all other revisions. The extra call might be a bit expensive, but the proper fix for that would be to catch these errors in another way.
Thu, 24 Feb 2011 14:06:08 +0100 status: remove unreachable code for status between revisions
Mads Kiilerich <mads@kiilerich.com> [Thu, 24 Feb 2011 14:06:08 +0100] rev 14150
status: remove unreachable code for status between revisions The manifest value of a file will never be false when "not parentworking", and the expensive content comparision would thus fortunately never be reached. (If it was reached it would be wrong for example in case of renames.) This code once handled status against working directory, but that has been done elsewhere for a long time.
Mon, 07 Mar 2011 14:47:30 +0100 httprepo: proper handling of invalid responses without content-type (issue2019)
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Mar 2011 14:47:30 +0100] rev 14149
httprepo: proper handling of invalid responses without content-type (issue2019) This can currently be tested on http://sf.net/
Mon, 07 Mar 2011 22:50:55 +0100 httprepo: use the original exception after falling back to static-http failed
Mads Kiilerich <mads@kiilerich.com> [Mon, 07 Mar 2011 22:50:55 +0100] rev 14148
httprepo: use the original exception after falling back to static-http failed Before the fine exception handling in httprepo was never shown. The static-http exception will now only be shown when static-http is requested explicitly.
Sun, 01 May 2011 15:49:13 +0200 test: test that backslash is preserved by the url class
Mads Kiilerich <mads@kiilerich.com> [Sun, 01 May 2011 15:49:13 +0200] rev 14147
test: test that backslash is preserved by the url class
Sun, 01 May 2011 15:49:13 +0200 tests: use raw string for url tests of '\' handling
Mads Kiilerich <mads@kiilerich.com> [Sun, 01 May 2011 15:49:13 +0200] rev 14146
tests: use raw string for url tests of '\' handling
Sun, 01 May 2011 16:54:48 +0200 color: fix using multiple effects
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sun, 01 May 2011 16:54:48 +0200] rev 14145
color: fix using multiple effects
Sat, 30 Apr 2011 19:01:24 +0200 unbundler: separate delta and header parsing
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 30 Apr 2011 19:01:24 +0200] rev 14144
unbundler: separate delta and header parsing Add header parsing for changelog and manifest (currently no headers might change for next-gen bundle).
Sat, 30 Apr 2011 11:03:28 +0200 changegroup: new bundler API
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 30 Apr 2011 11:03:28 +0200] rev 14143
changegroup: new bundler API
Sat, 30 Apr 2011 10:41:06 +0200 bundlerepo: port to new bundle API
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 30 Apr 2011 10:41:06 +0200] rev 14142
bundlerepo: port to new bundle API
Sat, 30 Apr 2011 10:00:41 +0200 bundler: make parsechunk return the base revision of the delta
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 30 Apr 2011 10:00:41 +0200] rev 14141
bundler: make parsechunk return the base revision of the delta
Sun, 01 May 2011 15:22:30 +0200 tests: add pyflakes checking for unused imports
timeless <timeless@mozdev.org> [Sun, 01 May 2011 15:22:30 +0200] rev 14140
tests: add pyflakes checking for unused imports
Sun, 01 May 2011 15:21:57 +0200 remove unused imports
timeless <timeless@mozdev.org> [Sun, 01 May 2011 15:21:57 +0200] rev 14139
remove unused imports
Sat, 30 Apr 2011 23:27:00 +0200 scmutil: introduce casecollisionauditor
Adrian Buehlmann <adrian@cadifra.com> [Sat, 30 Apr 2011 23:27:00 +0200] rev 14138
scmutil: introduce casecollisionauditor and cleaning up portability functions
Sun, 01 May 2011 16:11:42 +0200 check-code: check for repo in revlog and ui in util
timeless <timeless@mozdev.org> [Sun, 01 May 2011 16:11:42 +0200] rev 14137
check-code: check for repo in revlog and ui in util
Sun, 01 May 2011 16:10:51 +0200 check-code: allow for checking multiple pattern sets per file
timeless <timeless@mozdev.org> [Sun, 01 May 2011 16:10:51 +0200] rev 14136
check-code: allow for checking multiple pattern sets per file
Sun, 01 May 2011 15:55:00 +0200 check-code: adding debug flag
timeless <timeless@mozdev.org> [Sun, 01 May 2011 15:55:00 +0200] rev 14135
check-code: adding debug flag
Sun, 01 May 2011 08:00:25 -0500 run-tests: add flag to provide extra hgrc options for test runs
Augie Fackler <durin42@gmail.com> [Sun, 01 May 2011 08:00:25 -0500] rev 14134
run-tests: add flag to provide extra hgrc options for test runs
Sun, 01 May 2011 15:51:52 +0200 graphlog: always sort revisions topologically
Patrick Mezard <pmezard@gmail.com> [Sun, 01 May 2011 15:51:52 +0200] rev 14133
graphlog: always sort revisions topologically The grapher cannot really handled revisions if they are not emitted in topological order. The previous 'reverse()' revset was not enough to achieve that and was replaced by an explicit sort call for simplicity. The --limit option is now also handled as usual with cmdutil.loglimit() instead of a 'limit' revset.
Sun, 01 May 2011 15:51:48 +0200 graphlog: take the union of --rev specs instead of the intersection
Patrick Mezard <pmezard@gmail.com> [Sun, 01 May 2011 15:51:48 +0200] rev 14132
graphlog: take the union of --rev specs instead of the intersection
Sun, 01 May 2011 15:51:46 +0200 graphmod: correctly emit nodes with more than 2 predecessors
Patrick Mezard <pmezard@gmail.com> [Sun, 01 May 2011 15:51:46 +0200] rev 14131
graphmod: correctly emit nodes with more than 2 predecessors The grandparent() function was returning only the closest predecessor of a missing parent while it must return all of them to display a correct ancestry graph.
Sun, 01 May 2011 15:51:20 +0200 graphlog: display nodes with more than 2 predecessors
Patrick Mezard <pmezard@gmail.com> [Sun, 01 May 2011 15:51:20 +0200] rev 14130
graphlog: display nodes with more than 2 predecessors While nodes with more than 2 parents do not exist in revision graphs, they do appear when you transform them by removing subgraphs while trying to preserve ancestry links. This code was borrowed from Peter Arrenbrecht <peter.arrenbrecht@gmail.com> pbranch extension.
Sun, 01 May 2011 08:29:50 -0500 context: provide an efficient iterator for workingctx
Matt Mackall <mpm@selenic.com> [Sun, 01 May 2011 08:29:50 -0500] rev 14129
context: provide an efficient iterator for workingctx This avoids needing to call status or build a synthetic manifest.
Sun, 01 May 2011 06:06:59 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 01 May 2011 06:06:59 -0500] rev 14128
merge with stable
Sun, 01 May 2011 06:04:08 -0500 merge with nicdumz
Matt Mackall <mpm@selenic.com> [Sun, 01 May 2011 06:04:08 -0500] rev 14127
merge with nicdumz
Sun, 01 May 2011 10:51:10 +0200 tests: export patches only once in test-impexp-branch
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sun, 01 May 2011 10:51:10 +0200] rev 14126
tests: export patches only once in test-impexp-branch
Sat, 30 Apr 2011 18:31:28 +0200 tests: do not export several times the same patch/diff in test-import
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 30 Apr 2011 18:31:28 +0200] rev 14125
tests: do not export several times the same patch/diff in test-import
Sat, 30 Apr 2011 17:38:06 +0200 tests: move rebase-keep-branch into rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 30 Apr 2011 17:38:06 +0200] rev 14124
tests: move rebase-keep-branch into rebase-named-branches It's not worth building a repository just to test keep branch when we can do it our bigger, other, already built repositories.
Sat, 30 Apr 2011 17:38:06 +0200 tests: move testcase from rebase-named-branches to rebase-parameters
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 30 Apr 2011 17:38:06 +0200] rev 14123
tests: move testcase from rebase-named-branches to rebase-parameters It saves us a clone of a repository.
Sat, 30 Apr 2011 17:38:06 +0200 tests: change test-rebase-parameters to use bundle/rebase.hg
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 30 Apr 2011 17:38:06 +0200] rev 14122
tests: change test-rebase-parameters to use bundle/rebase.hg
Sat, 30 Apr 2011 17:38:06 +0200 tests: change test-rebase-detach to use bundle/rebase.hg
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 30 Apr 2011 17:38:06 +0200] rev 14121
tests: change test-rebase-detach to use bundle/rebase.hg
Sat, 30 Apr 2011 17:38:06 +0200 tests: simplify test-rebase-named-branches
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 30 Apr 2011 17:38:06 +0200] rev 14120
tests: simplify test-rebase-named-branches We were cloning a repo to perform a smoke test that could have been performed earlier.
Sat, 30 Apr 2011 17:38:06 +0200 tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 30 Apr 2011 17:38:06 +0200] rev 14119
tests: upgrade bundles/rebase.hg to support test-rebase-collapse Add two changesets to the scenario so that the bundle can be reused within three tests. Before: @ 5: 'F' | | o 4: 'E' |/| o | 3: 'D | | | o 2: 'C' |/ | o 1: 'B' |/ o 0: 'A' After: @ 7: 'H' | | o 6: 'G' |/| o | 5: 'F' | | | o 4: 'E' |/ | o 3: 'D' | | | o 2: 'C' | | | o 1: 'B' |/ o 0: 'A' Revisions 0-1 keep the same number/label. Others were translated by an offset of 2 (2.C -> 4.E)
Sat, 30 Apr 2011 17:38:06 +0200 tests: introduce a rebase bundle to use with rebase tests
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 30 Apr 2011 17:38:06 +0200] rev 14118
tests: introduce a rebase bundle to use with rebase tests Allows saving a few seconds in test runs by not constructing over and over the same repository.
Sat, 30 Apr 2011 17:38:06 +0200 tests: create a bundle to bootstrap tests using a remote repository
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 30 Apr 2011 17:38:06 +0200] rev 14117
tests: create a bundle to bootstrap tests using a remote repository It should be faster to use a single common bundle instead of recreating 4 times the same repository manually.
Sat, 30 Apr 2011 17:38:06 +0200 tests: move test bundles in a bundles/ subdirectory
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 30 Apr 2011 17:38:06 +0200] rev 14116
tests: move test bundles in a bundles/ subdirectory
Sat, 30 Apr 2011 17:38:06 +0200 tests: move test-issue436 in test-dispatch where fancyopts is tested
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 30 Apr 2011 17:38:06 +0200] rev 14115
tests: move test-issue436 in test-dispatch where fancyopts is tested
Sat, 30 Apr 2011 17:38:06 +0200 tests: remove test-issue433 as it's covered by test-parents
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 30 Apr 2011 17:38:06 +0200] rev 14114
tests: remove test-issue433 as it's covered by test-parents
Sat, 30 Apr 2011 17:38:06 +0200 tests: remove executable bits from unified tests
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 30 Apr 2011 17:38:06 +0200] rev 14113
tests: remove executable bits from unified tests Those files are not executable.
Sat, 30 Apr 2011 17:38:06 +0200 tests: remove test-issue322 as it's fully included in test-issue660
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 30 Apr 2011 17:38:06 +0200] rev 14112
tests: remove test-issue322 as it's fully included in test-issue660
Sun, 01 May 2011 05:58:04 -0500 Added signature for changeset 3cb1e95676ad stable
Matt Mackall <mpm@selenic.com> [Sun, 01 May 2011 05:58:04 -0500] rev 14111
Added signature for changeset 3cb1e95676ad
Sun, 01 May 2011 05:57:59 -0500 Added tag 1.8.3 for changeset 3cb1e95676ad stable
Matt Mackall <mpm@selenic.com> [Sun, 01 May 2011 05:57:59 -0500] rev 14110
Added tag 1.8.3 for changeset 3cb1e95676ad
Sun, 01 May 2011 05:53:28 -0500 merge with i18n stable 1.8.3
Matt Mackall <mpm@selenic.com> [Sun, 01 May 2011 05:53:28 -0500] rev 14109
merge with i18n
Fri, 29 Apr 2011 18:19:08 -0300 i18n-pt_BR: synchronized with 42d5165975ad stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 29 Apr 2011 18:19:08 -0300] rev 14108
i18n-pt_BR: synchronized with 42d5165975ad
Fri, 29 Apr 2011 18:12:55 -0300 merge with i18n stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 29 Apr 2011 18:12:55 -0300] rev 14107
merge with i18n
Fri, 29 Apr 2011 18:11:54 -0300 i18n-pt_BR: minor spacing fix stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 29 Apr 2011 18:11:54 -0300] rev 14106
i18n-pt_BR: minor spacing fix
Mon, 25 Apr 2011 14:18:19 -0300 i18n-pt_BR: synchronized with 3c753f9a2fbc stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 25 Apr 2011 14:18:19 -0300] rev 14105
i18n-pt_BR: synchronized with 3c753f9a2fbc
Sat, 30 Apr 2011 19:36:59 +0200 zeroconf: notify the Zeroconf threads when hg exits stable
Nicolas Dumazet <nicdumz.commits@gmail.com> [Sat, 30 Apr 2011 19:36:59 +0200] rev 14104
zeroconf: notify the Zeroconf threads when hg exits Zeroconf launches two threads in the background, and they wait on Condition objects to exit. We need to call Zeroconf.close() to release those conditions so that threads can gracefully exit. This means that an interrupt on the hg process will now gracefully propagate to the Zeroconf children, fixing that bug which did not allow us to kill an `hg serve` process.
Sun, 01 May 2011 12:14:22 +0200 color: use ui.formatted() to test TTYness, not sys.stdout.isatty()
Brodie Rao <brodie@bitheap.org> [Sun, 01 May 2011 12:14:22 +0200] rev 14103
color: use ui.formatted() to test TTYness, not sys.stdout.isatty() This fixes the color extension not working with pager (broken in 877390020477). The pager extension already sets ui.formatted=True to allow this use case.
Sun, 01 May 2011 11:12:36 +0200 pushkey: add hooks for pushkey/listkeys
Brodie Rao <brodie@bitheap.org> [Sun, 01 May 2011 11:12:36 +0200] rev 14102
pushkey: add hooks for pushkey/listkeys
Sat, 30 Apr 2011 12:02:09 -0500 test-patchbomb.t: clean up progress tests
Augie Fackler <durin42@gmail.com> [Sat, 30 Apr 2011 12:02:09 -0500] rev 14101
test-patchbomb.t: clean up progress tests
Sun, 01 May 2011 04:56:24 -0500 util: really drop size from readfile
Matt Mackall <mpm@selenic.com> [Sun, 01 May 2011 04:56:24 -0500] rev 14100
util: really drop size from readfile
Sun, 01 May 2011 11:46:49 +0200 util: add readfile() & writefile() helper functions
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sun, 01 May 2011 11:46:49 +0200] rev 14099
util: add readfile() & writefile() helper functions These two functions allow quickly reading or writing a file, without relying on reference counting to close the file handle afterwards.
Sat, 30 Apr 2011 18:30:14 +0200 revset aliases
Alexander Solovyov <alexander@solovyov.net> [Sat, 30 Apr 2011 18:30:14 +0200] rev 14098
revset aliases
Sat, 30 Apr 2011 19:41:53 +0200 opener: add read & write utility methods
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 30 Apr 2011 19:41:53 +0200] rev 14097
opener: add read & write utility methods The two new methods are useful for quickly opening a file for reading or writing. Unlike 'opener(...).read()', they ensure they the file is immediately closed without relying on CPython reference counting.
Sun, 01 May 2011 11:01:57 +0200 dispatch: handle IndexErrors
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sun, 01 May 2011 11:01:57 +0200] rev 14096
dispatch: handle IndexErrors
Sat, 30 Apr 2011 11:18:43 -0500 color: verify stdout is a tty before using curses
Augie Fackler <durin42@gmail.com> [Sat, 30 Apr 2011 11:18:43 -0500] rev 14095
color: verify stdout is a tty before using curses Without this change, curses complains when invoked in certain contexts because stdout isn't a tty (such as emacs integration) but we ask it to check for various bits of information from terminfo.
Sun, 01 May 2011 03:51:04 -0500 http: minor tweaks to long arg handling
Matt Mackall <mpm@selenic.com> [Sun, 01 May 2011 03:51:04 -0500] rev 14094
http: minor tweaks to long arg handling x-arg -> x-hgarg replace itertools.count(1)
Sun, 01 May 2011 01:04:37 +0800 httprepo: long arguments support (issue2126)
Steven Brown <StevenGBrown@gmail.com> [Sun, 01 May 2011 01:04:37 +0800] rev 14093
httprepo: long arguments support (issue2126) Send the command arguments in the HTTP headers. The command is still part of the URL. If the server does not have the 'httpheader' capability, the client will send the command arguments in the URL as it did previously. Web servers typically allow more data to be placed within the headers than in the URL, so this approach will: - Avoid HTTP errors due to using a URL that is too large. - Allow Mercurial to implement a more efficient wire protocol. An alternate approach is to send the arguments as part of the request body. This approach has been rejected because it requires the use of POST requests, so it would break any existing configuration that relies on the request type for authentication or caching. Extensibility: - The header size is provided by the server, which makes it possible to introduce an hgrc setting for it. - The client ignores the capability value after the first comma, which allows more information to be included in the future.
Sat, 30 Apr 2011 19:36:48 +0200 store: rename the 'opener' argument to 'openertype'
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 30 Apr 2011 19:36:48 +0200] rev 14092
store: rename the 'opener' argument to 'openertype' The 'opener' argument wasn't, in fact, an actual opener instance, but rather something expected to return an opener. The normal argument, from localrepository, is the scmutil.opener type; hence 'openertype'.
Sat, 30 Apr 2011 19:41:25 +0200 statichttprepo: make the opener a subclass of abstractopener
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 30 Apr 2011 19:41:25 +0200] rev 14091
statichttprepo: make the opener a subclass of abstractopener
Sat, 30 Apr 2011 19:37:13 +0200 add filteropener abstraction for store openers
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 30 Apr 2011 19:37:13 +0200] rev 14090
add filteropener abstraction for store openers
Sat, 30 Apr 2011 19:36:48 +0200 opener: introduce an abstact superclass of it
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 30 Apr 2011 19:36:48 +0200] rev 14089
opener: introduce an abstact superclass of it Currently, this class doesn't do anything useful.
Sat, 30 Apr 2011 19:42:00 +0200 graphlog: use a set for inclusion test
Patrick Mezard <pmezard@gmail.com> [Sat, 30 Apr 2011 19:42:00 +0200] rev 14088
graphlog: use a set for inclusion test This makes a big difference in performance in the special case where all revisions are being graphed.
Sat, 30 Apr 2011 15:10:58 +0300 graphmod: restore generator nature of dagwalker
Idan Kamara <idankk86@gmail.com> [Sat, 30 Apr 2011 15:10:58 +0300] rev 14087
graphmod: restore generator nature of dagwalker 9966c95b8c4f introduced the ability to walk the DAG given arbitrary revisions, but changed the behaviour of it to return a list of all nodes (and create a changectx for each one) rather than doing it lazily. This has a pretty significant impact on performance for large repositories (tested on CPython repo, with output disabled): $ time hg glog real 0m2.642s user 0m2.560s sys 0m0.080s Before 9966c95b8c4f: $ time hg glog real 0m0.143s user 0m0.112s sys 0m0.032s And after this fix: $ time hg glog real 0m0.213s user 0m0.184s sys 0m0.028s
Sat, 30 Apr 2011 19:42:00 +0200 graphlog: log -G --follow file does not work, forbid it
Patrick Mezard <pmezard@gmail.com> [Sat, 30 Apr 2011 19:42:00 +0200] rev 14086
graphlog: log -G --follow file does not work, forbid it We do not have revsets to follow file history.
Sat, 30 Apr 2011 19:42:00 +0200 graphlog: unify log -G revset translation
Patrick Mezard <pmezard@gmail.com> [Sat, 30 Apr 2011 19:42:00 +0200] rev 14085
graphlog: unify log -G revset translation
Sat, 30 Apr 2011 19:42:00 +0200 graphlog: fix log -G --prune
Patrick Mezard <pmezard@gmail.com> [Sat, 30 Apr 2011 19:42:00 +0200] rev 14084
graphlog: fix log -G --prune follow() revset really means '::.' while we want something based on the passed argument. Also, ancestors() revset does not include the parent revisions.
Sat, 30 Apr 2011 19:42:00 +0200 graphlog: escape log -G single value option arguments
Patrick Mezard <pmezard@gmail.com> [Sat, 30 Apr 2011 19:42:00 +0200] rev 14083
graphlog: escape log -G single value option arguments
Sat, 30 Apr 2011 19:42:00 +0200 graphlog: fix log -G --removed
Patrick Mezard <pmezard@gmail.com> [Sat, 30 Apr 2011 19:42:00 +0200] rev 14082
graphlog: fix log -G --removed Current version was mispelled and processed like a valued argument.
Sat, 30 Apr 2011 19:42:00 +0200 graphlog: fix log -G option types when translating to revset
Patrick Mezard <pmezard@gmail.com> [Sat, 30 Apr 2011 19:42:00 +0200] rev 14081
graphlog: fix log -G option types when translating to revset For instance, --keyword is a multiple value option while it was processed as a single value option.
Sat, 30 Apr 2011 18:53:56 +0200 revset: add tests for multiple and mixed ^ and ~ operators
Kevin Gessner <kevin@kevingessner.com> [Sat, 30 Apr 2011 18:53:56 +0200] rev 14080
revset: add tests for multiple and mixed ^ and ~ operators
Sat, 30 Apr 2011 18:27:39 +0200 extensions: obsolete and remove parentrevspec extension
Kevin Gessner <kevin@kevingessner.com> [Sat, 30 Apr 2011 18:27:39 +0200] rev 14079
extensions: obsolete and remove parentrevspec extension As of 305c97670d7a, revsets implements the ^ and ~ operators that this extension provides, so it's no longer necessary.
Sat, 30 Apr 2011 11:53:57 -0500 wix: a new mercurial.js has replaced graph.js
Steve Borho <steve@borho.org> [Sat, 30 Apr 2011 11:53:57 -0500] rev 14078
wix: a new mercurial.js has replaced graph.js
Sat, 30 Apr 2011 09:43:23 -0700 util.url: copy urllib.unquote() into util to improve startup times
Brodie Rao <brodie@bitheap.org> [Sat, 30 Apr 2011 09:43:23 -0700] rev 14077
util.url: copy urllib.unquote() into util to improve startup times The ui class uses util.hasscheme() in a couple of places, causing hg to import urllib even when it doesn't need to. This copies urllib.unquote() to avoid that import. perfstartup time before the URL refactoring (8796fb6af67e): ! wall 0.050692 comb 0.000000 user 0.000000 sys 0.000000 (best of 100) before this change: ! wall 0.064742 comb 0.000000 user 0.000000 sys 0.000000 (best of 100) after this change: ! wall 0.052126 comb 0.000000 user 0.000000 sys 0.000000 (best of 100
Sat, 30 Apr 2011 09:43:20 -0700 url: move URL parsing functions into util to improve startup time
Brodie Rao <brodie@bitheap.org> [Sat, 30 Apr 2011 09:43:20 -0700] rev 14076
url: move URL parsing functions into util to improve startup time The introduction of the new URL parsing code has created a startup time regression. This is mainly due to the use of url.hasscheme() in the ui class. It ends up importing many libraries that the url module requires. This fix helps marginally, but if we can get rid of the urllib import in the URL parser all together, startup time will go back to normal. perfstartup time before the URL refactoring (8796fb6af67e): ! wall 0.050692 comb 0.000000 user 0.000000 sys 0.000000 (best of 100) current startup time (139fb11210bb): ! wall 0.070685 comb 0.000000 user 0.000000 sys 0.000000 (best of 100) after this change: ! wall 0.064667 comb 0.000000 user 0.000000 sys 0.000000 (best of 100)
Sat, 30 Apr 2011 16:33:47 +0200 revlog: introduce _chunkbase to allow filelog to override
Sune Foldager <cryo@cyanite.org> [Sat, 30 Apr 2011 16:33:47 +0200] rev 14075
revlog: introduce _chunkbase to allow filelog to override Used by revlog.revision to retrieve the base-chunk in a delta chain.
Sat, 30 Apr 2011 16:32:50 +0200 filelog: extract metadata parsing and packing
Sune Foldager <cryo@cyanite.org> [Sat, 30 Apr 2011 16:32:50 +0200] rev 14074
filelog: extract metadata parsing and packing _parsemeta returns the dictionary and a list of keys in the order they appear in metadata. This can be used to repack the dictionary in the same order. _packmeta creates metadata from a dictionary and an optional key-order list. In _parsemeta, we use slices and re.search indead of str.index so we can accept both buffers and strings.
Sat, 30 Apr 2011 17:21:37 +0200 discovery: drop findoutgoing and simplify findcommonincoming's api
Peter Arrenbrecht <peter.arrenbrecht@gmail.com> [Sat, 30 Apr 2011 17:21:37 +0200] rev 14073
discovery: drop findoutgoing and simplify findcommonincoming's api This is a long desired cleanup and paves the way for new discovery. To specify subsets for bundling changes, all code should use the heads of the desired subset ("heads") and the heads of the common subset ("common") to be excluded from the bundled set. These can be used revlog.findmissing instead of revlog.nodesbetween. This fixes an actual bug exposed by the change in test-bundle-r.t where we try to bundle a changeset while specifying that said changeset is to be assumed already present in the target. This used to still bundle the changeset. It no longer does. This is similar to the bugs fixed by the recent switch to heads/common for incoming/pull.
Sat, 30 Apr 2011 18:25:45 +0200 revset: add missing whitespace
Kevin Gessner <kevin@kevingessner.com> [Sat, 30 Apr 2011 18:25:45 +0200] rev 14072
revset: add missing whitespace
Sat, 30 Apr 2011 07:00:13 -0700 url: remove unused/obsolete functions
Brodie Rao <brodie@bitheap.org> [Sat, 30 Apr 2011 07:00:13 -0700] rev 14071
url: remove unused/obsolete functions
Sat, 30 Apr 2011 17:43:04 +0200 revset: add ^ and ~ operators from parentrevspec extension
Kevin Gessner <kevin@kevingessner.com> [Sat, 30 Apr 2011 17:43:04 +0200] rev 14070
revset: add ^ and ~ operators from parentrevspec extension ^ (Nth parent) and ~ (Nth first ancestor) are infix operators that match certain ancestors of the set: set^0 the set set^1 (also available as set^) the first parent of every changeset in set set^2 the second parent of every changeset in set set~0 the set set~1 the first ancestor (i.e. the first parent) of every changeset in set set~2 the second ancestor (i.e. first parent of first parent) of every changeset in set set~N the Nth ancestor (following first parents only) of every changeset in set; set~N is equivalent to set^1^1..., with ^1 repeated N times.
Sat, 30 Apr 2011 10:57:13 -0500 encoding: add an encoding-aware lower function
Matt Mackall <mpm@selenic.com> [Sat, 30 Apr 2011 10:57:13 -0500] rev 14069
encoding: add an encoding-aware lower function
Sat, 30 Apr 2011 12:39:46 +0200 add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com> [Sat, 30 Apr 2011 12:39:46 +0200] rev 14068
add: notify when adding a file that would cause a case-folding collision On a case-sensitive file system, files can be added with names that differ only in case (a "case collision"). This would cause an error on case-insensitive filesystems. A warning or error is now given for such collisions, depending on the value of ui.portablefilenames ('warn', 'abort', or 'ignore'): $ touch file File $ hg add --config ui.portablefilenames=abort File abort: possible case-folding collision for File $ hg add File warning: possible case-folding collision for File
Sat, 30 Apr 2011 11:08:24 +0200 scmutil: refactor ui.portablefilenames processing
Kevin Gessner <kevin@kevingessner.com> [Sat, 30 Apr 2011 11:08:24 +0200] rev 14067
scmutil: refactor ui.portablefilenames processing The ui.portablefilenames config handling is generally useful for notifying the user of various portability problems.
Sat, 30 Apr 2011 15:05:36 +0200 pure bdiff: don't use a generator
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 30 Apr 2011 15:05:36 +0200] rev 14066
pure bdiff: don't use a generator Generators are slow, and currently defeat the PyPy JIT.
Sat, 30 Apr 2011 15:05:34 +0200 pure mpatch: avoid using list.insert(0, ...)
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 30 Apr 2011 15:05:34 +0200] rev 14065
pure mpatch: avoid using list.insert(0, ...) In Python lists are implemented as arrays with overallocation. As a result, list.insert(0, ...) is O(n), whereas list.append() has an amortised running time of O(1). Reversing the internal representation of the list should cause a slight speedup for pure Python builds.
Sat, 30 Apr 2011 13:59:14 +0200 remove unused imports and variables
Alexander Solovyov <alexander@solovyov.net> [Sat, 30 Apr 2011 13:59:14 +0200] rev 14064
remove unused imports and variables
Sat, 30 Apr 2011 07:30:38 -0500 Zeroconf: catch both ValueError and KeyError in get()
Augie Fackler <durin42@gmail.com> [Sat, 30 Apr 2011 07:30:38 -0500] rev 14063
Zeroconf: catch both ValueError and KeyError in get() This prevents a traceback during discovery of available hosts.
Sat, 30 Apr 2011 15:20:27 +0300 run-tests: print a new line before writing the diff
Idan Kamara <idankk86@gmail.com> [Sat, 30 Apr 2011 15:20:27 +0300] rev 14062
run-tests: print a new line before writing the diff
Sat, 30 Apr 2011 10:56:43 -0500 revsets: add a last function
Matt Mackall <mpm@selenic.com> [Sat, 30 Apr 2011 10:56:43 -0500] rev 14061
revsets: add a last function last(set, n) = reverser(limit(reverse(set), n))
Sat, 30 Apr 2011 14:22:03 +0200 bundle: more comments about the different header types, remove useless if
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 30 Apr 2011 14:22:03 +0200] rev 14060
bundle: more comments about the different header types, remove useless if
Sat, 30 Apr 2011 15:30:51 +0200 merge with mpm
Martin Geisler <mg@lazybytes.net> [Sat, 30 Apr 2011 15:30:51 +0200] rev 14059
merge with mpm
Sat, 30 Apr 2011 13:47:22 +0200 hgweb: initialize permhooks at definition time
Martin Geisler <mg@lazybytes.net> [Sat, 30 Apr 2011 13:47:22 +0200] rev 14058
hgweb: initialize permhooks at definition time This is simpler than creating it empty and then appending the default checkauthz hook 50 lines below.
Sat, 30 Apr 2011 06:58:22 -0700 revset: fix undefined name ParseError
Brodie Rao <brodie@bitheap.org> [Sat, 30 Apr 2011 06:58:22 -0700] rev 14057
revset: fix undefined name ParseError
Sat, 30 Apr 2011 12:56:28 +0200 branchcache: improve speed relative to the amount of heads
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Sat, 30 Apr 2011 12:56:28 +0200] rev 14056
branchcache: improve speed relative to the amount of heads Updating the branch cache is quadratic to the amount of heads in the repository. One consequence of this was that cloning a pathological repository with 10,000 heads (and nothing else) took hours of CPU time. This patch makes one of the inner loop much faster, by removing a changectx instantiation, and removes another entirely in cases where there are no candidate branch heads which descend from other branch heads.
Sat, 30 Apr 2011 12:55:07 +0200 drop {short,hex}(ctx.node()) calls in favor of ctx methods
Alexander Solovyov <alexander@solovyov.net> [Sat, 30 Apr 2011 12:55:07 +0200] rev 14055
drop {short,hex}(ctx.node()) calls in favor of ctx methods
Fri, 29 Apr 2011 22:21:13 +0300 mq: be more explicit on invalid patch name message
Idan Kamara <idankk86@gmail.com> [Fri, 29 Apr 2011 22:21:13 +0300] rev 14054
mq: be more explicit on invalid patch name message
Sat, 30 Apr 2011 11:16:52 +0200 fix broken tests
Benoit Boissinot <benoit.boissinot@ens-lyon.org> [Sat, 30 Apr 2011 11:16:52 +0200] rev 14053
fix broken tests test-debugcomplete.t broken by 58e58406ed19 test-highlight.t broken by b24e5a708fad
Sat, 30 Apr 2011 03:44:31 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 30 Apr 2011 03:44:31 -0500] rev 14052
merge with stable
Fri, 29 Apr 2011 22:21:13 +0300 mq: add '.' and '..' to list of forbidden patch names stable
Idan Kamara <idankk86@gmail.com> [Fri, 29 Apr 2011 22:21:13 +0300] rev 14051
mq: add '.' and '..' to list of forbidden patch names When an empty string is being passed to normname it would return '.' causing checkfile() to always return that a patch with that name exists.
(0) -10000 -3000 -1000 -120 +120 +1000 +3000 +10000 +30000 tip