Javi Merino <cibervicho@gmail.com> [Thu, 01 Mar 2012 23:29:52 +0000] rev 16225
tests: ignore the return code of chmod in test-inherit-mode
In freebsd, a newly created directory has the same group as the parent
directory by default. That means that the test directory created by
test-inherit-mode.t is owned by root's group, so "chmod g+s .hg/store"
fails to set the SGID bit and returns 1. If we ignore chmod's return
code, the testsuite passes again.
Jim Hague <jim.hague@acm.org> [Thu, 01 Mar 2012 14:50:31 +0000] rev 16224
bugzilla: add xmlrpcemail submission for Bugzilla 3.6 email interface
Some of the formatting details required for bug submission via email
changed between Bugzilla 3.4 and 3.6. Bugzilla 3.4 requires lines of
the form '@fieldname = value', while 3.6 wants '@fieldname value'.
Also the field @bug_id in 3.4 becomes @id in 3.6.
Bugzilla up to and including 4.0 also recognises the 3.4 format. To save
surprises in the future, check the Bugzilla version and use the 3.6
format from all major versions >= 4. At some point we will
drop support for Bugzilla prior to 3.6 and support the new format only.
Jim Hague <jim.hague@acm.org> [Thu, 01 Mar 2012 15:27:24 +0000] rev 16223
bugzilla: allow change comment to mark bugs fixed
Add a second regular expression used when scanning change comments.
Bugs matched by this new regular expression have the bug comments and
optionally hours updated as with the first regular expression, but they
are also marked as fixed.
The bug status and resolution to set to mark a bug as fixed can be
configured. By default status is set to RESOLVED and resolution to
FIXED, the default Bugzilla settings.
For example, a change comment containing 'Fixes 1234 h1.5' will be
added to bug 1234, the bug will have its working time increased by
1.65 hours, and the bug will be marked RESOLVED/FIXED.
Change comments may contain both bug update and fix instructions. If
the same bug ID occurs in both, the last instruction found takes
precedence.
The patch adds new bug states 'bug_status' and 'resolution' and actions
to update them to the XMLRPC and XMLRPC/email access methods. XMLRPC does
not support marking bugs as fixed when used with Bugzilla versions prior
to 4.0. When used with an earlier Bugzilla version, a warning is issued
and only comment and hours updated.
Jim Hague <jim.hague@acm.org> [Thu, 01 Mar 2012 15:25:37 +0000] rev 16222
bugzilla: extract optional hours from commit message and update bug time
If an 'hours' group is present in the bug matching regular expression,
and that group contains a float value, update the bug working time in
Bugzilla with those hours.
The patch adds a key 'hours' to the bug state dictionary, and adds
support for the key to the XMLRPC and XMLRPC/email access methods.
The MySQL access method is not supported; a warning is given.
Jim Hague <jim.hague@acm.org> [Thu, 01 Mar 2012 14:51:40 +0000] rev 16221
bugzilla: modify access interface to include new bug states
As a first step to allowing comment text to update bug state, rework the
Bugzilla access interface to use a dictionary keyed on bug ID. Dictionary
entries will contain new state info in future changes.
Steve Borho <steve@borho.org> [Sat, 03 Mar 2012 23:14:31 -0600] rev 16220
wix: add phases help text and two more translations (issue 3288)
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 02 Mar 2012 11:46:18 -0300] rev 16219
debugbuilddag: fix starting a dag on a non-default branch
Patrick Mezard <patrick@mezard.eu> [Fri, 24 Feb 2012 11:02:21 +0100] rev 16218
debugrevspec: pretty print output
Before:
('func', ('symbol', 'reverse'), ('func', ('symbol', 'sort'), ('list', ('or',
('symbol', '2'), ('symbol', '3')), ('symbol', 'date'))))
After:
(func
('symbol', 'reverse')
(func
('symbol', 'sort')
(list
(or
('symbol', '2')
('symbol', '3'))
('symbol', 'date'))))
v2:
- Rebased on stable to avoid having to merge tests output
Ross Lagerwall <rosslagerwall@gmail.com> [Fri, 02 Mar 2012 21:43:55 +0200] rev 16217
readme: mention how to run in-place
The README describes how to install Mercurial but it does not describe how to
run it in place (for developers). This adds a short paragraph to the README
describing how to do run Mercurial inplace.
Matt Mackall <mpm@selenic.com> [Fri, 02 Mar 2012 14:12:06 -0600] rev 16216
merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 02 Mar 2012 14:11:06 -0600] rev 16215
merge with i18n
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 29 Feb 2012 13:17:41 -0300] rev 16214
i18n-pt_BR: synchronized with
6b52963ced73
Wagner Bruna <wbruna@softwareexpress.com.br> [Wed, 29 Feb 2012 13:16:51 -0300] rev 16213
merge with i18n
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 29 Feb 2012 21:09:21 +0900] rev 16212
i18n-ja: synchronized with
87d37aceb5e3
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 24 Feb 2012 19:50:03 -0200] rev 16211
i18n-pt_BR: synchronized with
60101427d618
Brendan Cully <brendan@kublai.com> [Fri, 02 Mar 2012 10:43:06 -0800] rev 16210
Merge with stable
Brendan Cully <brendan@kublai.com> [Fri, 02 Mar 2012 10:42:12 -0800] rev 16209
setup.py: don't call splitlines twice on the output of xcodebuild (
issue3277)
Thomas Arendsen Hein <thomas@intevation.de> [Fri, 02 Mar 2012 09:57:09 +0100] rev 16208
merge with stable
Thomas Arendsen Hein <thomas@intevation.de> [Fri, 02 Mar 2012 09:54:45 +0100] rev 16207
merge stable heads
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 01 Mar 2012 17:45:13 +0100] rev 16206
merge with stable
mercurial/filemerge.py in the default branch does not need the additional
unlink calls, because the unlink calls at the end of filemerge.filemerge()
are called for internal:dump, too.
Thomas Arendsen Hein <thomas@intevation.de> [Thu, 01 Mar 2012 17:35:12 +0100] rev 16205
filemerge: remove temporary files when using internal:dump as merge-tool
Matt Mackall <mpm@selenic.com> [Thu, 01 Mar 2012 16:28:24 -0600] rev 16204
Added signature for changeset
53e2cd303ecf
Matt Mackall <mpm@selenic.com> [Thu, 01 Mar 2012 16:27:59 -0600] rev 16203
Added tag 2.1.1 for changeset
53e2cd303ecf
Idan Kamara <idankk86@gmail.com> [Thu, 01 Mar 2012 17:49:59 +0200] rev 16202
dirstate: filecacheify _ignore (
issue3278)
This still doesn't handle the case where a command is run with
--config ui.ignore=path since we only look for changes in .hgignore.
Idan Kamara <idankk86@gmail.com> [Thu, 01 Mar 2012 17:42:49 +0200] rev 16201
dirstate: filecacheify _branch
The opener is relative to .hg, use it in a subclass of filecache to compute
the final path.
Idan Kamara <idankk86@gmail.com> [Thu, 01 Mar 2012 17:39:58 +0200] rev 16200
dirstate: add filecache support
Idan Kamara <idankk86@gmail.com> [Thu, 01 Mar 2012 17:39:58 +0200] rev 16199
scmutil: add join method to opener to construct path relative to base
Useful when we only have the opener without the base path used when it was
constructed.
Idan Kamara <idankk86@gmail.com> [Thu, 01 Mar 2012 17:39:58 +0200] rev 16198
filecache: refactor path join logic to a function
New users of filecache use different names for the function used to compute
the runtime path of the cached file.
Users should subclass filecache and provide their own version of this
function to call the appropriate join function on 'obj' (an instance
of the class that its member function was decorated).
Matt Mackall <mpm@selenic.com> [Wed, 29 Feb 2012 17:27:24 -0600] rev 16197
merge with stable
Friedrich Kastner-Masilko <kastner_masilko@at.festo.com> [Wed, 29 Feb 2012 14:24:57 +0100] rev 16196
subrepo: fix for merge inconsistencies
Merging ancestors with children is allowed if they are on different
named branches. This did not work for subrepo merges before. To fix
this inconsistency, the mergefunc() will now use the simple update
path only if both versions are on the same named branch. If not, they
get merged into a new changeset, just as if you did the merge from the
subrepo's root directly.
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 29 Feb 2012 14:41:11 +0100] rev 16195
bundlerepo: bundle repos should be non-publishing (
issue3266)
Bundle repo contains both the bundle content and the content of the repository
used as a base. This create bugs with phases exchange because the "remote"
repository claim to contains changeset it does not. The easiest way to fix this
bug is to ensure a bundle repo as non publishing. This way changeset will be
seen in the same phase than locally.
This patch does not alter in which phase bundle revision are seen. For now they
are seen as if an old client had add them on the remote: They inherit their
phase from parent whatever the parent is. This is to be fixed in a later patch
Gilles Moris <gilles.moris@free.fr> [Wed, 29 Feb 2012 09:34:19 +0100] rev 16194
bookmarks: restore python 2.4 compatibility
Remove py25 'try except finally' clause.
Jim Hague <jim.hague@acm.org> [Wed, 29 Feb 2012 17:43:03 +0000] rev 16193
bugzilla: stop XMLRPC requests from requesting gzipped responses
Python 2.7 introduced support for gzip encoding in xmlrpclib.Transport.
We do our own handling of responses, and don't currently support gzip encoding.
So to run successfully under Python 2.7 with a web server configured
to gzip encode, stop XMLRPC requests from announcing gzip encoding support.
Matt Mackall <mpm@selenic.com> [Tue, 28 Feb 2012 21:17:53 -0600] rev 16192
merge with stable
Idan Kamara <idankk86@gmail.com> [Tue, 28 Feb 2012 23:47:46 +0200] rev 16191
update: delete bookmarks.current when explicitly updating to a rev (
issue3276)
Patrick Mezard <patrick@mezard.eu> [Tue, 28 Feb 2012 10:06:35 +0100] rev 16190
convert: ignore blank lines in mapfiles (
issue3286)
Idan Kamara <idankk86@gmail.com> [Tue, 28 Feb 2012 01:07:55 +0200] rev 16189
update: don't move the active bookmark if a rev is specified with -r
Patrick Mezard <patrick@mezard.eu> [Mon, 27 Feb 2012 18:23:18 +0100] rev 16188
mq: fix qapplied --last and qprev documentation (
issue3282)
qapplied --last is qprev not qtop.
v2:
- Replace "previous" with "preceding" as suggested here and there
Greg Ward <greg@gerg.ca> [Mon, 27 Feb 2012 08:54:26 -0500] rev 16187
setup: handle output from Apple's Xcode 4.3 better (
issue3277)
Apparently, it prints nothing at all if the user installed only the
command-line tools. In that case, don't try to parse the empty output
-- just assume they have Xcode >= 4.
Patrick Mezard <patrick@mezard.eu> [Sun, 26 Feb 2012 17:12:15 +0100] rev 16186
graphlog: apply file filters --patch/--stat output
When passing --patch/--stat, file filters have to be applied to generate the
correct diff or stat output:
- Without --follow, the static match object can be reused
- With --follow, the files displayed at revision X are the ancestors of
selected files at parent revision. To do this, we reproduce the ancestry
calculations done by --follow, lazily.
test-glog.t changes show that --patch output is not satisfying because renames
are reported as copies. This can probably be fixed by:
- Without --follow: compute files to display, look for renames sources and
extend the matcher to include them.
- With --follow: detect .path() transitions between parent/child filectx,
filter them using the linked changectx .removed() field and extend fcache
with them.
Patrick Mezard <patrick@mezard.eu> [Sun, 26 Feb 2012 17:10:57 +0100] rev 16185
context: add followfirst arg to filectx and workingfilectx
When _followfirst() revset was introduced it seemed to be the sole user of such
an argument, so filectx.ancestors() was duplicated and modified instead. It now
appears this argument could be used when computing the set of files to be
considered when --patch or --stat are passed along with --follow FILE.
Patrick Mezard <patrick@mezard.eu> [Sun, 26 Feb 2012 17:10:57 +0100] rev 16184
graphlog: fix --removed
"hg log --removed FILE" does not return changesets where FILE was removed, but
ones where FILE was changed and possibly removed. The flag is really here to
disable walkchangerevs() fast path, which cannot see file removals by scanning
filelogs.
Patrick Mezard <patrick@mezard.eu> [Sun, 26 Feb 2012 17:10:56 +0100] rev 16183
test-glog: rewrite more tests using testlog() function
Patrick Mezard <patrick@mezard.eu> [Sun, 26 Feb 2012 17:10:55 +0100] rev 16182
match: consider filesets as "anypats"
Matt suggested this on IRC, I do not think the choice is obvious, but this one
makes things simpler because while filesets are turned into a list of files
into the match objects, it would more be difficult to tell invalid files passed
in pats from those expanded from filesets.
Patrick Mezard <patrick@mezard.eu> [Sun, 26 Feb 2012 17:10:51 +0100] rev 16181
graphlog: evaluate FILE/-I/-X filesets on the working dir
This subtlety is not documented yet but:
- pats/--include/--exclude filesets are evaluated against the working directory
- --rev filesets are reevaluated against every revisions
Patrick Mezard <patrick@mezard.eu> [Sun, 26 Feb 2012 16:56:32 +0100] rev 16180
graphlog: implement --copies
Greg Ward <greg@gerg.ca> [Sat, 18 Feb 2012 16:30:17 -0500] rev 16179
test-check-code-hg: skip test if not in a working dir (
issue3248).
Matt Mackall <mpm@selenic.com> [Sun, 26 Feb 2012 16:45:59 -0600] rev 16178
copies: use ctx.dirs() for directory rename detection
Matt Mackall <mpm@selenic.com> [Sun, 26 Feb 2012 15:51:56 -0600] rev 16177
copies: fix mergecopies doc mapping direction
Matt Mackall <mpm@selenic.com> [Sat, 25 Feb 2012 16:48:07 -0600] rev 16176
merge with stable
Patrick Mezard <patrick@mezard.eu> [Sat, 25 Feb 2012 19:39:55 +0100] rev 16175
log: restore cache used by --copies
The {filelog -> linkrev -> copyfrom} cache was refactored and broken by:
changeset: 10060:
f780b1098efc
user: Patrick Mezard <pmezard@gmail.com>
date: Sun Dec 13 18:06:24 2009 +0100
summary: templatekw: change {file_copies} behaviour, add
{file_copies_switch}
With --copies, this cache is accessed for every touched file of every revision.
Unfortunately it is recreated for every revision, which means filelogs are
parsed again. This patch makes the cache global again for all revisions.
A couple of indicative timings of "hg log --copies", before and after:
hg: 44s / 5s
mozilla --limit 10000: 3m51s / 2m32s
mozilla: 23m46s / 12m23s
I do not know any good tool to trace memory consumption of these runs for
comparisons. Watching the full mozilla run in top, the process did not seem to
misbehave.
Patrick Mezard <patrick@mezard.eu> [Sat, 25 Feb 2012 22:11:36 +0100] rev 16174
graphlog: implement --follow-first
log --graph --follow-first FILE cannot be compared with the regular version
because it never worked: --follow-first is not taken in account in
walkchangerevs() fast path and is explicitely bypassed in FILE case in
walkchangerevs() nested iterate() function.
Patrick Mezard <patrick@mezard.eu> [Sat, 25 Feb 2012 22:11:36 +0100] rev 16173
graphlog: implement --follow with file arguments
Patrick Mezard <patrick@mezard.eu> [Sat, 25 Feb 2012 22:11:35 +0100] rev 16172
test-glog: test multiple --prune values
Patrick Mezard <patrick@mezard.eu> [Sat, 25 Feb 2012 22:11:34 +0100] rev 16171
graphlog: restore FILE glob expansion on Windows
On platforms not supporting shell expansion, scmutil.match() performs glob
expansion on 'pats' arguments. But _matchfiles() revset calls match.match()
directly, bypassing this behaviour. To avoid duplicating scmutil.match(), a
secondary scmutil.matchandpats() is introduced returning both the match object
and the expanded inputs. Note the expanded pats are also needed in the fast
path, and will be used by --follow code path.
Patrick Mezard <patrick@mezard.eu> [Sat, 25 Feb 2012 21:51:13 +0100] rev 16170
glog: restore multiple --rev test lost in rebasing