Paul Boddie <paul@boddie.org.uk> [Mon, 21 May 2012 00:20:05 +0200] rev 16773
hgweb: make graph data suitable for template usage
Previously, graph data has been encoded for processing done by
JavaScript code run in the browser, employing simple structures
with implicit member positions. This patch modifies the graph
command to also produce data employing a dictionary-based
structure suitable for use with the templating mechanism, thus
permitting other ways of presenting repository graphs using that
mechanism.
In order to test these changes, the raw theme has been modified
to include templates for graph nodes and edges. In a similar
fashion, themes could employ technologies such as SVG that lend
themselves to templating to produce the graph display. This patch
makes use of a much simpler output representation than SVG in
order to maintain clarity.
Patrick Mezard <patrick@mezard.eu> [Sat, 19 May 2012 17:19:55 +0200] rev 16772
revset: fix infinite alias expansion detection
The alias expansion code it changed from:
1- Get replacement tree
2- Substitute arguments in the replacement tree
3- Expand the replacement tree again
into:
1- Get the replacement tree
2- Expand the replacement tree
3- Expand the arguments
4- Substitute the expanded arguments in the replacement tree
and fixes cases like:
[revsetalias]
level1($1, $2) = $1 or $2
level2($1, $2) = level1($2, $1)
$ hg log -r "level2(level1(1, 2), 3)"
where the original version incorrectly aborted on infinite expansion
error, because it was confusing the expanded aliases with their
arguments.
Patrick Mezard <patrick@mezard.eu> [Sat, 19 May 2012 17:18:29 +0200] rev 16771
revset: explicitely tag alias arguments for expansion
The current revset alias expansion code works like:
1- Get the replacement tree
2- Substitute the variables in the replacement tree
3- Expand the replacement tree
It makes it easy to substitute alias arguments because the placeholders
are always replaced before the updated replacement tree is expanded
again. Unfortunately, to fix other alias expansion issues, we need to
reorder the sequence and delay the argument substitution. To solve this,
a new "virtual" construct called _aliasarg() is introduced and injected
when parsing the aliases definitions. Only _aliasarg() will be
substituted in the argument expansion phase instead of all regular
matching string. We also check user inputs do not contain unexpected
_aliasarg() instances to avoid argument injections.
Augie Fackler <raf@durin42.com> [Mon, 21 May 2012 14:25:46 -0500] rev 16770
clone: add progress calls to uncompressed code path
Matt Mackall <mpm@selenic.com> [Mon, 21 May 2012 17:35:28 -0500] rev 16769
merge with stable
Augie Fackler <raf@durin42.com> [Mon, 21 May 2012 14:24:24 -0500] rev 16768
util: fix bad variable use in bytecount introduced by f0f7f3fab315
Elifarley Callado Coelho Cruz [Fri, 18 May 2012 13:50:02 -0300] rev 16767
acl: 'util.never' can be used instead of a more complex expression
Elifarley Callado Coelho Cruz [Fri, 18 May 2012 13:47:44 -0300] rev 16766
acl: perform some computations earlier, so that returned lambda functions are simpler
Elifarley Callado Coelho Cruz [Fri, 18 May 2012 12:48:24 -0300] rev 16765
acl: added some comments to easily identify branch- and path-based verifications
Elifarley Callado Coelho Cruz [Fri, 18 May 2012 12:40:04 -0300] rev 16764
acl: 'util.never' used
Elifarley Callado Coelho Cruz [Fri, 18 May 2012 12:37:23 -0300] rev 16763
acl: cleanup
Matt Mackall <mpm@selenic.com> [Mon, 21 May 2012 16:36:09 -0500] rev 16762
revlog: don't handle long for revision matching
The underlying C code doesn't support indexing by longs, there are no
legitimate reasons to use a long, and longs should generally be
converted to ints at a higher level by context's constructor.
Matt Mackall <mpm@selenic.com> [Mon, 21 May 2012 16:35:27 -0500] rev 16761
merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 21 May 2012 16:32:50 -0500] rev 16760
context: grudging accept longs in constructor
Matt Mackall <mpm@selenic.com> [Mon, 21 May 2012 16:32:49 -0500] rev 16759
win32: fix encoding handling for registry strings (issue3467)
This stopped handling non-ASCII strings in 1.8
Adrian Buehlmann <adrian@cadifra.com> [Sun, 20 May 2012 01:28:31 +0200] rev 16758
mpatch: use Py_ssize_t for string length
Adrian Buehlmann <adrian@cadifra.com> [Sun, 20 May 2012 00:08:18 +0200] rev 16757
mpatch: use Py_ssize_t
Eliminates
mpatch.c(73) : warning C4244: 'return' : conversion from '__int64' to 'int',
possible loss of data
mpatch.c(299) : warning C4244: 'function' : conversion from 'Py_ssize_t' to
'int', possible loss of data
mpatch.c(321) : warning C4244: '=' : conversion from 'Py_ssize_t' to 'int',
possible loss of data
mpatch.c(335) : warning C4244: 'function' : conversion from 'Py_ssize_t' to
'int', possible loss of data
mpatch.c(346) : warning C4244: 'function' : conversion from 'Py_ssize_t' to
'int', possible loss of data
when compiling for Windows x64 target using the Microsoft compiler.
Dov Feldstern <dfeldstern@gmail.com> [Sun, 20 May 2012 21:11:34 +0300] rev 16756
subrepo: make subrepo.subrepo(<not a subrepo path>) fail
Until now, when calling subrepo.subrepo with a path at which there is no
subrepo, a "nullstate" tuple would be returned. However, this is not very
useful (the tuple can't really be used for creating a subrepo), so we'd just as
soon have the function just fail, and leave it up to the caller to decide what
to do.
The motivation for doing this now is to simplify the solution for (issue3056).
Matt Mackall <mpm@selenic.com> [Sun, 20 May 2012 14:40:36 -0500] rev 16755
merge with stable
Matt Mackall <mpm@selenic.com> [Sun, 20 May 2012 14:37:22 -0500] rev 16754
hgweb: use ui.nontty to disable all cooked I/O
Matt Mackall <mpm@selenic.com> [Sun, 20 May 2012 14:37:20 -0500] rev 16753
progress: use ui._isatty
Matt Mackall <mpm@selenic.com> [Sun, 20 May 2012 14:33:49 -0500] rev 16752
pager: use ui._isatty infrastructure
Matt Mackall <mpm@selenic.com> [Sun, 20 May 2012 14:31:56 -0500] rev 16751
ui: add _isatty method to easily disable cooked I/O
Adrian Buehlmann <adrian@cadifra.com> [Tue, 15 May 2012 22:36:47 +0200] rev 16750
bdiff: check and cast first parameter value on putbe32() calls
Eliminates
mercurial/bdiff.c(383) : warning C4244: 'function' : conversion from '__int64'
to 'uint32_t', possible loss of data
mercurial/bdiff.c(384) : warning C4244: 'function' : conversion from '__int64'
to 'uint32_t', possible loss of data
mercurial/bdiff.c(385) : warning C4244: 'function' : conversion from
'Py_ssize_t' to 'uint32_t', possible loss of data
when compiling for Windows x64 target using the Microsoft compiler.
Adrian Buehlmann <adrian@cadifra.com> [Tue, 15 May 2012 22:36:27 +0200] rev 16749
bdiff: use Py_ssize_t instead of int
Reduces the conversion warnings
mercurial/bdiff.c(61) : warning C4244: '=' : conversion from '__int64' to
'int', possible loss of data
mercurial/bdiff.c(307) : warning C4244: 'function' : conversion from
'Py_ssize_t' to 'int', possible loss of data
mercurial/bdiff.c(308) : warning C4244: 'function' : conversion from
'Py_ssize_t' to 'int', possible loss of data
mercurial/bdiff.c(362) : warning C4244: '+=' : conversion from '__int64' to
'int', possible loss of data
mercurial/bdiff.c(380) : warning C4244: '=' : conversion from '__int64' to
'int', possible loss of data
mercurial/bdiff.c(381) : warning C4244: 'function' : conversion from '__int64'
to 'uint32_t', possible loss of data
mercurial/bdiff.c(382) : warning C4244: 'function' : conversion from '__int64'
to 'uint32_t', possible loss of data
mercurial/bdiff.c(416) : warning C4244: '=' : conversion from 'Py_ssize_t' to
'int', possible loss of data
to
mercurial/bdiff.c(383) : warning C4244: 'function' : conversion from '__int64'
to 'uint32_t', possible loss of data
mercurial/bdiff.c(384) : warning C4244: 'function' : conversion from '__int64'
to 'uint32_t', possible loss of data
mercurial/bdiff.c(385) : warning C4244: 'function' : conversion from
'Py_ssize_t' to 'uint32_t', possible loss of data
on the three putbe32() calls in the function bdiff
when compiling for Windows x64 target using the Microsoft compiler.
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 16 May 2012 17:02:30 +0900] rev 16748
doc: add detail explanation for 'present()' predicate of revsets
Matt Mackall <mpm@selenic.com> [Fri, 18 May 2012 14:34:33 -0500] rev 16747
osutil: handle deletion race with readdir/stat (issue3463)
Matt Mackall <mpm@selenic.com> [Thu, 17 May 2012 15:52:14 -0500] rev 16746
merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 17 May 2012 15:34:59 -0500] rev 16745
branchcache: backout 0311a6abd38a
Augie Fackler <raf@durin42.com> [Wed, 16 May 2012 16:18:07 -0500] rev 16744
dispatch: try and identify third-party extensions as sources of tracebacks
Extension authors should explicitly declare their supported hg
versions and include a buglink attribute in their extension. In the
event that a traceback occurs, we'll identify the
least-recently-tested extensionas the most likely source of the defect
and suggest the user disable that extension.
Packagers should make every effort to ship hg versions from exact
tags, or with as few modifications as possible so that the versioning
can work appropriately.