Thu, 01 Mar 2012 17:39:58 +0200 dirstate: add filecache support stable
Idan Kamara <idankk86@gmail.com> [Thu, 01 Mar 2012 17:39:58 +0200] rev 16200
dirstate: add filecache support
Thu, 01 Mar 2012 17:39:58 +0200 scmutil: add join method to opener to construct path relative to base stable
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.
Thu, 01 Mar 2012 17:39:58 +0200 filecache: refactor path join logic to a function stable
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).
Wed, 29 Feb 2012 17:27:24 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 29 Feb 2012 17:27:24 -0600] rev 16197
merge with stable
Wed, 29 Feb 2012 14:24:57 +0100 subrepo: fix for merge inconsistencies 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.
Wed, 29 Feb 2012 14:41:11 +0100 bundlerepo: bundle repos should be non-publishing (issue3266) stable
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
Wed, 29 Feb 2012 09:34:19 +0100 bookmarks: restore python 2.4 compatibility stable
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.
Wed, 29 Feb 2012 17:43:03 +0000 bugzilla: stop XMLRPC requests from requesting gzipped responses stable
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.
Tue, 28 Feb 2012 21:17:53 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 28 Feb 2012 21:17:53 -0600] rev 16192
merge with stable
Tue, 28 Feb 2012 23:47:46 +0200 update: delete bookmarks.current when explicitly updating to a rev (issue3276) 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)
Tue, 28 Feb 2012 10:06:35 +0100 convert: ignore blank lines in mapfiles (issue3286) stable
Patrick Mezard <patrick@mezard.eu> [Tue, 28 Feb 2012 10:06:35 +0100] rev 16190
convert: ignore blank lines in mapfiles (issue3286)
Tue, 28 Feb 2012 01:07:55 +0200 update: don't move the active bookmark if a rev is specified with -r stable
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
Mon, 27 Feb 2012 18:23:18 +0100 mq: fix qapplied --last and qprev documentation (issue3282) stable
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
Mon, 27 Feb 2012 08:54:26 -0500 setup: handle output from Apple's Xcode 4.3 better (issue3277) stable
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.
Sun, 26 Feb 2012 17:12:15 +0100 graphlog: apply file filters --patch/--stat output
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.
Sun, 26 Feb 2012 17:10:57 +0100 context: add followfirst arg to filectx and workingfilectx
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.
Sun, 26 Feb 2012 17:10:57 +0100 graphlog: fix --removed
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.
Sun, 26 Feb 2012 17:10:56 +0100 test-glog: rewrite more tests using testlog() function
Patrick Mezard <patrick@mezard.eu> [Sun, 26 Feb 2012 17:10:56 +0100] rev 16183
test-glog: rewrite more tests using testlog() function
Sun, 26 Feb 2012 17:10:55 +0100 match: consider filesets as "anypats"
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.
Sun, 26 Feb 2012 17:10:51 +0100 graphlog: evaluate FILE/-I/-X filesets on the working dir
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
Sun, 26 Feb 2012 16:56:32 +0100 graphlog: implement --copies
Patrick Mezard <patrick@mezard.eu> [Sun, 26 Feb 2012 16:56:32 +0100] rev 16180
graphlog: implement --copies
Sat, 18 Feb 2012 16:30:17 -0500 test-check-code-hg: skip test if not in a working dir (issue3248). stable
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).
Sun, 26 Feb 2012 16:45:59 -0600 copies: use ctx.dirs() for directory rename detection
Matt Mackall <mpm@selenic.com> [Sun, 26 Feb 2012 16:45:59 -0600] rev 16178
copies: use ctx.dirs() for directory rename detection
Sun, 26 Feb 2012 15:51:56 -0600 copies: fix mergecopies doc mapping direction
Matt Mackall <mpm@selenic.com> [Sun, 26 Feb 2012 15:51:56 -0600] rev 16177
copies: fix mergecopies doc mapping direction
Sat, 25 Feb 2012 16:48:07 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 25 Feb 2012 16:48:07 -0600] rev 16176
merge with stable
Sat, 25 Feb 2012 19:39:55 +0100 log: restore cache used by --copies 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.
Sat, 25 Feb 2012 22:11:36 +0100 graphlog: implement --follow-first
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.
Sat, 25 Feb 2012 22:11:36 +0100 graphlog: implement --follow with file arguments
Patrick Mezard <patrick@mezard.eu> [Sat, 25 Feb 2012 22:11:36 +0100] rev 16173
graphlog: implement --follow with file arguments
Sat, 25 Feb 2012 22:11:35 +0100 test-glog: test multiple --prune values
Patrick Mezard <patrick@mezard.eu> [Sat, 25 Feb 2012 22:11:35 +0100] rev 16172
test-glog: test multiple --prune values
Sat, 25 Feb 2012 22:11:34 +0100 graphlog: restore FILE glob expansion on Windows
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.
Sat, 25 Feb 2012 21:51:13 +0100 glog: restore multiple --rev test lost in rebasing
Patrick Mezard <patrick@mezard.eu> [Sat, 25 Feb 2012 21:51:13 +0100] rev 16170
glog: restore multiple --rev test lost in rebasing
Sat, 25 Feb 2012 14:22:58 -0600 copies: remove checkdirs options
Matt Mackall <mpm@selenic.com> [Sat, 25 Feb 2012 14:22:58 -0600] rev 16169
copies: remove checkdirs options This removes the undocumented merge.followdirs option, which has always been true.
Fri, 24 Feb 2012 18:21:06 -0600 copies: add docstring for mergecopies
Matt Mackall <mpm@selenic.com> [Fri, 24 Feb 2012 18:21:06 -0600] rev 16168
copies: add docstring for mergecopies
Fri, 24 Feb 2012 16:52:32 -0600 addremove: return 1 if we failed to handle any explicit files
Matt Mackall <mpm@selenic.com> [Fri, 24 Feb 2012 16:52:32 -0600] rev 16167
addremove: return 1 if we failed to handle any explicit files
Fri, 24 Feb 2012 16:16:48 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 24 Feb 2012 16:16:48 -0600] rev 16166
merge with stable
Fri, 24 Feb 2012 20:57:59 +0100 log: fix --follow FILE ancestry calculation stable
Patrick Mezard <patrick@mezard.eu> [Fri, 24 Feb 2012 20:57:59 +0100] rev 16165
log: fix --follow FILE ancestry calculation Currently, --follow FILE looks for a FILE filelog, scans it and collects linkrevs and renames, then filters them. The problem is the filelog scan does not start at FILE filenode in parent revision but at the last filelog revision. So: - Files not in the parent revision can be followed, the starting node is unexpected - Files in the parent revision can be followed from an incorrect starting node. This patch makes log --follow FILE fail if FILE is not in parent revision, and computes ancestors of the parent revision FILE filenode.
Fri, 24 Feb 2012 20:56:18 +0100 test-glog: extend a test before fixing --follow issues stable
Patrick Mezard <patrick@mezard.eu> [Fri, 24 Feb 2012 20:56:18 +0100] rev 16164
test-glog: extend a test before fixing --follow issues The changes add a lot of noise to the test output, I prefer to separate it from the changes which are to be introduced by --follow fixes.
Fri, 24 Feb 2012 16:09:15 -0600 graft: use proper revisions for copy detection (issue3265) stable
Matt Mackall <mpm@selenic.com> [Fri, 24 Feb 2012 16:09:15 -0600] rev 16163
graft: use proper revisions for copy detection (issue3265)
Fri, 24 Feb 2012 19:11:35 -0200 convert: fix typos in error messages stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Fri, 24 Feb 2012 19:11:35 -0200] rev 16162
convert: fix typos in error messages
Thu, 23 Feb 2012 18:05:20 +0100 graphlog: paths/-I/-X handling requires a new revset
Patrick Mezard <patrick@mezard.eu> [Thu, 23 Feb 2012 18:05:20 +0100] rev 16161
graphlog: paths/-I/-X handling requires a new revset The filtering logic of match objects cannot be reproduced with the existing revsets as it operates at changeset files level. A changeset touching "a" and "b" is matched by "-I a -X b" but not by "file(a) and not file(b)". To solve this, a new internal "_matchfiles(...)" revset is introduced. It works like "file(x)" but accepts more than one argument and its arguments are prefixed with "p:", "i:" and "x:" to be used as patterns, include patterns or exclude patterns respectively. The _matchfiles revset is kept private for now: - There are probably smarter ways to pass the arguments in a user-friendly way - A "rev:" argument is likely appear at some point to emulate log command behaviour with regard to filesets: they are evaluated for the parent revision and applied everywhere instead of being reevaluated for each revision.
Thu, 23 Feb 2012 17:55:07 +0100 graphlog: imitate log slowpath when inputs are explicit files
Patrick Mezard <patrick@mezard.eu> [Thu, 23 Feb 2012 17:55:07 +0100] rev 16160
graphlog: imitate log slowpath when inputs are explicit files
Thu, 23 Feb 2012 17:54:42 +0100 graphlog: paths arguments must be or'ed
Patrick Mezard <patrick@mezard.eu> [Thu, 23 Feb 2012 17:54:42 +0100] rev 16159
graphlog: paths arguments must be or'ed
Thu, 23 Feb 2012 11:21:30 +0100 graphlog: rewrite --rev like all other options
Patrick Mezard <patrick@mezard.eu> [Thu, 23 Feb 2012 11:21:30 +0100] rev 16158
graphlog: rewrite --rev like all other options
Thu, 23 Feb 2012 11:21:04 +0100 graphlog: --branch and --only-branch are the same
Patrick Mezard <patrick@mezard.eu> [Thu, 23 Feb 2012 11:21:04 +0100] rev 16157
graphlog: --branch and --only-branch are the same Handling the aliasing in fancyopts would be cleaner but I do not want to make this change for stable.
Thu, 23 Feb 2012 17:46:57 +0100 test-check-code-hg: fix xargs exit status on OSX stable
Patrick Mezard <patrick@mezard.eu> [Thu, 23 Feb 2012 17:46:57 +0100] rev 16156
test-check-code-hg: fix xargs exit status on OSX When xargs subcommand invocation fails in a normal way, GNU xargs returns 123 and BSD one returns 1.
Thu, 23 Feb 2012 13:37:10 +0100 largefiles: respect store.createmode and avoid extra file copy stable
Martin Geisler <mg@aragost.com> [Thu, 23 Feb 2012 13:37:10 +0100] rev 16155
largefiles: respect store.createmode and avoid extra file copy Before, a tempfile was used to create a temp file was created with 600 permissions and the uploaded data was written into it. This file was then *copied* to .hg/largefiles/<hash>. We now simply use atomictempfile to write the data to a temp file with the right permissions and then rename that into place.
Thu, 23 Feb 2012 13:37:10 +0100 largefiles: respect store.createmode in basestore.get stable
Martin Geisler <mg@aragost.com> [Thu, 23 Feb 2012 13:37:10 +0100] rev 16154
largefiles: respect store.createmode in basestore.get This replaces another use of tempfile with atomictempfile. The problem with tempfile is that it creates files with 600 permissions instead of respecting repo.store.createmode.
Thu, 23 Feb 2012 13:22:55 +0100 largefiles: use repo.store.createmode for new files in .hg/largefiles stable
Martin Geisler <mg@aragost.com> [Thu, 23 Feb 2012 13:22:55 +0100] rev 16153
largefiles: use repo.store.createmode for new files in .hg/largefiles Before, the mode was copied from the file in the working copy. This is inconsistent with how Mercurial normally creates files inside the .hg folder. This can lead to a situation where you can read the files under .hg/store but not under .hg/largefiles and so a clone will fail if it needs to access a largefile.
Wed, 22 Feb 2012 17:41:22 -0600 mq: expand qimport summary
Matt Mackall <mpm@selenic.com> [Wed, 22 Feb 2012 17:41:22 -0600] rev 16152
mq: expand qimport summary
Wed, 22 Feb 2012 17:36:33 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 22 Feb 2012 17:36:33 -0600] rev 16151
merge with stable
Wed, 22 Feb 2012 12:30:15 +0100 graphlog: multiple --keyword must be or'ed
Patrick Mezard <patrick@mezard.eu> [Wed, 22 Feb 2012 12:30:15 +0100] rev 16150
graphlog: multiple --keyword must be or'ed
Wed, 22 Feb 2012 12:30:15 +0100 graphlog: multiple --branch must be or'ed
Patrick Mezard <patrick@mezard.eu> [Wed, 22 Feb 2012 12:30:15 +0100] rev 16149
graphlog: multiple --branch must be or'ed
Wed, 22 Feb 2012 12:30:15 +0100 graphlog: multiple --user must be or'ed
Patrick Mezard <patrick@mezard.eu> [Wed, 22 Feb 2012 12:30:15 +0100] rev 16148
graphlog: multiple --user must be or'ed
Wed, 22 Feb 2012 12:30:15 +0100 graphlog: explicitely join multivalue parameters
Patrick Mezard <patrick@mezard.eu> [Wed, 22 Feb 2012 12:30:15 +0100] rev 16147
graphlog: explicitely join multivalue parameters This will let use override the "join" value (and/or) depending on the option considered. The option revset arity is now deduced from the revset and the option value type, to simplify opt2revset definition.
Wed, 22 Feb 2012 12:30:14 +0100 test-glog.t: use printrevset extension to trace rewritten revsets
Patrick Mezard <patrick@mezard.eu> [Wed, 22 Feb 2012 12:30:14 +0100] rev 16146
test-glog.t: use printrevset extension to trace rewritten revsets Using "hg log -G --print-revset" prints the revset generated by graphlog and exits. This helps debugging and writing shorter tests. It has been suggested to handle these tests with doctests. I think the extension approach is better because: - It tests the actual parameter set passed to graphlog.revset(), not what we expect it to be. 'branch' and 'only-branch' are currently distinct options but nothing prevents fancyopts to grow a notion of option aliasing one day, where both options would be merged before reaching the command. - It can be used as debug output interleaved with real log calls. v2: - Use a test extension instead of a global deprecated new option
Thu, 23 Feb 2012 00:07:54 +0900 context: use 'changectx.dirs()' in 'walk()' for directory patterns stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 23 Feb 2012 00:07:54 +0900] rev 16145
context: use 'changectx.dirs()' in 'walk()' for directory patterns this patch uses 'changectx.dirs()' instead of nested loop, to examine whether specified pattern is related to the context as a directory or not.
(0) -10000 -3000 -1000 -300 -100 -56 +56 +100 +300 +1000 +3000 +10000 +30000 tip