Tue, 01 Jul 2014 23:32:18 -0500 Added signature for changeset 2d8cd3d0e83c stable
Matt Mackall <mpm@selenic.com> [Tue, 01 Jul 2014 23:32:18 -0500] rev 21831
Added signature for changeset 2d8cd3d0e83c
Tue, 01 Jul 2014 23:32:11 -0500 Added tag 3.0.2 for changeset 2d8cd3d0e83c stable
Matt Mackall <mpm@selenic.com> [Tue, 01 Jul 2014 23:32:11 -0500] rev 21830
Added tag 3.0.2 for changeset 2d8cd3d0e83c
Tue, 01 Jul 2014 23:27:32 -0500 merge with i18n stable 3.0.2
Matt Mackall <mpm@selenic.com> [Tue, 01 Jul 2014 23:27:32 -0500] rev 21829
merge with i18n
Mon, 30 Jun 2014 18:52:57 -0300 i18n-pt_BR: synchronized with a4b67bf1f0a5 stable
Wagner Bruna <wbruna@softwareexpress.com.br> [Mon, 30 Jun 2014 18:52:57 -0300] rev 21828
i18n-pt_BR: synchronized with a4b67bf1f0a5
Mon, 30 Jun 2014 19:09:01 +0900 i18n-ja: synchronized with a4b67bf1f0a5 stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Mon, 30 Jun 2014 19:09:01 +0900] rev 21827
i18n-ja: synchronized with a4b67bf1f0a5
Sat, 07 Jun 2014 15:23:12 -0400 rebase: fix bug that caused transitive copy records to disappear (issue4192) stable
Augie Fackler <raf@durin42.com> [Sat, 07 Jun 2014 15:23:12 -0400] rev 21826
rebase: fix bug that caused transitive copy records to disappear (issue4192) The defect was that copies were always duplicated against the target revision, rather than the first parent of the revision being rebased. This produced nominally correct results if changes were rebased one at a time (or with --collapse), but was wrong if we rebased a sequence of changesets which contained a sequence of copies.
Sat, 07 Jun 2014 15:14:36 -0400 cmdutil: add copy-filtering support to duplicatecopies stable
Augie Fackler <raf@durin42.com> [Sat, 07 Jun 2014 15:14:36 -0400] rev 21825
cmdutil: add copy-filtering support to duplicatecopies In order to fix issue 4192 we need to be able to skip some copies while doing duplicatecopies.
Tue, 01 Jul 2014 19:54:48 -0500 dispatch: handle empty IOError args
Matt Mackall <mpm@selenic.com> [Tue, 01 Jul 2014 19:54:48 -0500] rev 21824
dispatch: handle empty IOError args We occasionally throw bare IOError objects (especially in convert), don't choke on them.
Sun, 29 Jun 2014 13:52:35 +0200 repoview: do not crash when localtags refers to non existing revisions stable
Angel Ezquerra <angel.ezquerra@gmail.com> [Sun, 29 Jun 2014 13:52:35 +0200] rev 21823
repoview: do not crash when localtags refers to non existing revisions This fixes a crash that may happen when using mercurial 3.0.x. The _gethiddenblockers function assumed that the output of tags.readlocaltags() was a dict mapping tags to of valid nodes. However this was not necessarily the case. When a repository had obsolete revisions and had local tag pointing to a non existing revision was found, many mercurial commands would crash. This revision fixes the problem by removing any tags from the output of tags.readlocaltags() which point to invalid nodes. We may want to add a warning when this happens (although it might be annoying to get that warning for every command, possibly even more than once per command). A test for this problem has been added to test-obsolete.t. Without this fix the test would output: $ hg tags abort: 00changelog.i@3816541e5485: no node! [255] Instead of: $ hg tags tiptag 2:3816541e5485 tip 2:3816541e5485 visible 0:193e9254ce7e
Thu, 12 Jun 2014 18:07:21 -0700 templater: add symbol to error
Ryan McElroy <rmcelroy@fb.com> [Thu, 12 Jun 2014 18:07:21 -0700] rev 21822
templater: add symbol to error This patch makes it easier to debug writing templater functions by telling the user exactly what was sent to the templater.
Thu, 12 Jun 2014 17:53:37 -0700 templater: introduce startswith function
Ryan McElroy <rmcelroy@fb.com> [Thu, 12 Jun 2014 17:53:37 -0700] rev 21821
templater: introduce startswith function This function returns a string only if it starts with a given string. It is particularly useful when combined with splitlines and/or used with conditionals that fail when empty strings are passed in to take action based on the contents of a line.
Thu, 12 Jun 2014 17:45:41 -0700 templatefilter: add splitlines function
Ryan McElroy <rmcelroy@fb.com> [Thu, 12 Jun 2014 17:45:41 -0700] rev 21820
templatefilter: add splitlines function This is useful for applying changes to each line, and it's especially powerful when used in conjunction with conditionals to modify lines based on content.
Thu, 01 May 2014 19:57:25 +0900 serve: tidy up indent level of repository not found message
Yuya Nishihara <yuya@tcha.org> [Thu, 01 May 2014 19:57:25 +0900] rev 21819
serve: tidy up indent level of repository not found message
Thu, 01 May 2014 19:54:43 +0900 serve: inline checkrepo() that is used only when --stdio is specified
Yuya Nishihara <yuya@tcha.org> [Thu, 01 May 2014 19:54:43 +0900] rev 21818
serve: inline checkrepo() that is used only when --stdio is specified Since e811b93f2cb1, --cmdserver is allowed to start without repository, so checkrepo() function is meaningless.
Sat, 28 Jun 2014 13:02:44 +0900 serve: make sure to print "listening at" message immediately
Yuya Nishihara <yuya@tcha.org> [Sat, 28 Jun 2014 13:02:44 +0900] rev 21817
serve: make sure to print "listening at" message immediately If stdout is piped, status message won't be flushed until client connects to the server and access log is written to stdout. It seems bad idea to queue start-up banner of server process.
Fri, 27 Jun 2014 15:20:50 -0700 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 27 Jun 2014 15:20:50 -0700] rev 21816
merge with stable
Wed, 25 Jun 2014 14:50:48 -0700 match: make glob '**/' match the empty string stable
Siddharth Agarwal <sid0@fb.com> [Wed, 25 Jun 2014 14:50:48 -0700] rev 21815
match: make glob '**/' match the empty string Previously, a glob pattern of the form 'foo/**/bar' would match 'foo/a/bar' but not 'foo/bar'. That was because the '**' in 'foo/**/bar' would be translated to '.*', making the final regex pattern 'foo/.*/bar'. That pattern doesn't match the string 'foo/bar'. This is a bug because the '**/' glob matches the empty string in standard Unix shells like bash and zsh. Fix that by making the ending '/' optional if an empty string can be matched.
Sun, 23 Feb 2014 03:13:21 +0100 tags: read tag info into a sorted dict (rather than into a regular dict)
Angel Ezquerra <angel.ezquerra@gmail.com> [Sun, 23 Feb 2014 03:13:21 +0100] rev 21814
tags: read tag info into a sorted dict (rather than into a regular dict) This lets us preserve the original tag order (as specified on the .hgtags file that is being read). This will be useful to preserve the tag order when saving the result of a successful automated .hgtags merge (which will be introduced on a future patch). There shouldn't be much impact on performance because the sortdict that _readtags returns is then used to update the alltags regular dict (which remains a regular dict).
Sun, 23 Feb 2014 01:56:31 +0100 config: move config.sortdict class into util
Angel Ezquerra <angel.ezquerra@gmail.com> [Sun, 23 Feb 2014 01:56:31 +0100] rev 21813
config: move config.sortdict class into util This makes it more natural to use the sortdict class from outside config.py.
Mon, 23 Jun 2014 09:33:07 -0400 hg: add support for HGUNICODEPEDANTRY environment variable
Augie Fackler <raf@durin42.com> [Mon, 23 Jun 2014 09:33:07 -0400] rev 21812
hg: add support for HGUNICODEPEDANTRY environment variable This lets us easily verify that there are no implicit conversions between unicodes and bytes in Mercurial's codebase. Based on something mpm did by hand periodically, but it kept regressing, so just open the door to running it in a buildbot.
Tue, 27 May 2014 21:02:16 -0700 dirstate.status: assign members one by one instead of unpacking the tuple
Siddharth Agarwal <sid0@fb.com> [Tue, 27 May 2014 21:02:16 -0700] rev 21811
dirstate.status: assign members one by one instead of unpacking the tuple With this patch, hg status and hg diff regain their previous speed. The following tests are run against a working copy with over 270,000 files. Here, 'before' means without this or the previous patch applied. Note that in this case `hg perfstatus` isn't representative since it doesn't take dirstate parsing time into account. $ time hg status # best of 5 before: 2.03s user 1.25s system 99% cpu 3.290 total after: 2.01s user 1.25s system 99% cpu 3.261 total $ time hg diff # best of 5 before: 1.32s user 0.78s system 99% cpu 2.105 total after: 1.27s user 0.79s system 99% cpu 2.066 total
Tue, 27 May 2014 21:02:16 -0700 dirstate.status: assign members one by one instead of unpacking the tuple
Siddharth Agarwal <sid0@fb.com> [Tue, 27 May 2014 21:02:16 -0700] rev 21810
dirstate.status: assign members one by one instead of unpacking the tuple With this patch, hg status and hg diff regain their previous speed. The following tests are run against a working copy with over 270,000 files. Here, 'before' means without this or the previous patch applied. Note that in this case `hg perfstatus` isn't representative since it doesn't take dirstate parsing time into account. $ time hg status # best of 5 before: 2.03s user 1.25s system 99% cpu 3.290 total after: 2.01s user 1.25s system 99% cpu 3.261 total $ time hg diff # best of 5 before: 1.32s user 0.78s system 99% cpu 2.105 total after: 1.27s user 0.79s system 99% cpu 2.066 total
Tue, 27 May 2014 14:27:41 -0700 parsers: inline fields of dirstate values in C version
Siddharth Agarwal <sid0@fb.com> [Tue, 27 May 2014 14:27:41 -0700] rev 21809
parsers: inline fields of dirstate values in C version Previously, while unpacking the dirstate we'd create 3-4 new CPython objects for most dirstate values: - the state is a single character string, which is pooled by CPython - the mode is a new object if it isn't 0 due to being in the lookup set - the size is a new object if it is greater than 255 - the mtime is a new object if it isn't -1 due to being in the lookup set - the tuple to contain them all In some cases such as regular hg status, we actually look at all the objects. In other cases like hg add, hg status for a subdirectory, or hg status with the third-party hgwatchman enabled, we look at almost none of the objects. This patch eliminates most object creation in these cases by defining a custom C struct that is exposed to Python with an interface similar to a tuple. Only when tuple elements are actually requested are the respective objects created. The gains, where they're expected, are significant. The following tests are run against a working copy with over 270,000 files. parse_dirstate becomes significantly faster: $ hg perfdirstate before: wall 0.186437 comb 0.180000 user 0.160000 sys 0.020000 (best of 35) after: wall 0.093158 comb 0.100000 user 0.090000 sys 0.010000 (best of 95) and as a result, several commands benefit: $ time hg status # with hgwatchman enabled before: 0.42s user 0.14s system 99% cpu 0.563 total after: 0.34s user 0.12s system 99% cpu 0.471 total $ time hg add new-file before: 0.85s user 0.18s system 99% cpu 1.033 total after: 0.76s user 0.17s system 99% cpu 0.931 total There is a slight regression in regular status performance, but this is fixed in an upcoming patch.
Tue, 27 May 2014 17:10:28 -0700 dirstate: add dirstatetuple to create dirstate values
Siddharth Agarwal <sid0@fb.com> [Tue, 27 May 2014 17:10:28 -0700] rev 21808
dirstate: add dirstatetuple to create dirstate values Upcoming patches will switch away from using Python tuples for dirstate values in compiled builds. Make that easier by introducing a variable called dirstatetuple, currently set to tuple. In upcoming patches, this will be set to an object from the parsers module.
Tue, 27 May 2014 15:22:23 -0700 parsers: remove no longer used dirstate_unset
Siddharth Agarwal <sid0@fb.com> [Tue, 27 May 2014 15:22:23 -0700] rev 21807
parsers: remove no longer used dirstate_unset
Tue, 27 May 2014 15:17:38 -0700 pack_dirstate: in C version, for invalidation set dict to what we write to disk
Siddharth Agarwal <sid0@fb.com> [Tue, 27 May 2014 15:17:38 -0700] rev 21806
pack_dirstate: in C version, for invalidation set dict to what we write to disk For files written out in the last second, Mercurial used to invalidate all the stat data (state, size, mode, mtime) while persisting to disk. This included invalidating the data in the dirstate dict as well. In commit 187bf2dde7c1, this was found to be unnecessary, and Mercurial switched to invalidating only the mtime. However, in the C version of pack_dirstate the value set in the dict was still the fully invalidated one. Switch to invalidating just the mtime in the dict as well.
Thu, 26 Jun 2014 11:10:28 -0400 record: update comment to match code
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Thu, 26 Jun 2014 11:10:28 -0400] rev 21805
record: update comment to match code Commit 205599e31870 changed how newfiles get passed to commitfunc, but did not change the corresponding comment that explains this. This commit also updates this comment.
Sat, 21 Jun 2014 14:49:49 +0530 hg: update newly added listdir function of vfs in clone
Chinmay Joshi <c@chinmayjoshi.com> [Sat, 21 Jun 2014 14:49:49 +0530] rev 21804
hg: update newly added listdir function of vfs in clone This change invokes os.listdir() via newly added vfs function in clone.
Sat, 21 Jun 2014 14:44:09 +0530 hg: use vfs functions in clone
Chinmay Joshi <c@chinmayjoshi.com> [Sat, 21 Jun 2014 14:44:09 +0530] rev 21803
hg: use vfs functions in clone This change applies vfs functions in clone. destvfs.exists will invoke os.path.lexists via lexists of vfs to check for broken symbolic links.
Sat, 21 Jun 2014 14:40:29 +0530 hg: update util.writefile method to use write with vfs in share
Chinmay Joshi <c@chinmayjoshi.com> [Sat, 21 Jun 2014 14:40:29 +0530] rev 21802
hg: update util.writefile method to use write with vfs in share This patch replaces util.writefile() to use destvfs.write().
Sat, 21 Jun 2014 14:37:39 +0530 hg: update to use vfs functions in shared destination repository
Chinmay Joshi <c@chinmayjoshi.com> [Sat, 21 Jun 2014 14:37:39 +0530] rev 21801
hg: update to use vfs functions in shared destination repository This patch uses destvfs with base as .hg directory in shared destination repository to update filesystem function with vfs. Some methods are changed to use vfs functions with destvfs. branch 'default' HG: bookmark '@' HG: changed mercurial/hg.py
Sat, 21 Jun 2014 14:29:20 +0530 hg: use vfs functions in destination repository with share
Chinmay Joshi <c@chinmayjoshi.com> [Sat, 21 Jun 2014 14:29:20 +0530] rev 21800
hg: use vfs functions in destination repository with share In this patch, dstwvfs is added to use vfs functions in working directory of destination shared repository. Existing filesystem operations are updated to use vfs functions through dstwvfs.
Fri, 20 Jun 2014 21:18:14 +0530 vfs: add listdir for os.listdir in vfs
Chinmay Joshi <c@chinmayjoshi.com> [Fri, 20 Jun 2014 21:18:14 +0530] rev 21799
vfs: add listdir for os.listdir in vfs This patch adds listdir() in vfs to use os.listdir().
Mon, 23 Jun 2014 09:24:56 -0400 templater: restore use of callable() since it was readded in Python 3.2
Augie Fackler <raf@durin42.com> [Mon, 23 Jun 2014 09:24:56 -0400] rev 21798
templater: restore use of callable() since it was readded in Python 3.2
Mon, 23 Jun 2014 09:24:38 -0400 hook: restore use of callable() since it was readded in Python 3.2
Augie Fackler <raf@durin42.com> [Mon, 23 Jun 2014 09:24:38 -0400] rev 21797
hook: restore use of callable() since it was readded in Python 3.2
Mon, 23 Jun 2014 09:24:24 -0400 help: restore use of callable() since it was readded in Python 3.2
Augie Fackler <raf@durin42.com> [Mon, 23 Jun 2014 09:24:24 -0400] rev 21796
help: restore use of callable() since it was readded in Python 3.2
Mon, 23 Jun 2014 09:24:06 -0400 extensions: restore use of callable() since it was readded in Python 3.2
Augie Fackler <raf@durin42.com> [Mon, 23 Jun 2014 09:24:06 -0400] rev 21795
extensions: restore use of callable() since it was readded in Python 3.2
Mon, 23 Jun 2014 09:24:16 -0400 fancyopts: restore use of callable() since it was readded in Python 3.2
Augie Fackler <raf@durin42.com> [Mon, 23 Jun 2014 09:24:16 -0400] rev 21794
fancyopts: restore use of callable() since it was readded in Python 3.2
Mon, 23 Jun 2014 09:23:57 -0400 gendoc: restore use of callable() since it was readded in Python 3.2
Augie Fackler <raf@durin42.com> [Mon, 23 Jun 2014 09:23:57 -0400] rev 21793
gendoc: restore use of callable() since it was readded in Python 3.2
Mon, 23 Jun 2014 09:23:47 -0400 check-seclevel: restore use of callable() since it was readded in Python 3.2
Augie Fackler <raf@durin42.com> [Mon, 23 Jun 2014 09:23:47 -0400] rev 21792
check-seclevel: restore use of callable() since it was readded in Python 3.2
Mon, 23 Jun 2014 09:22:53 -0400 check-code: drop ban on callable() which was restored in Python 3.2
Augie Fackler <raf@durin42.com> [Mon, 23 Jun 2014 09:22:53 -0400] rev 21791
check-code: drop ban on callable() which was restored in Python 3.2 A followup will restore use of callable() in place of the awkward hasattr() construction we were using to be one step closer to Python 3.
Sat, 21 Jun 2014 15:56:49 +1000 diff: add nobinary config to suppress git-style binary diffs
Stephen Lee <sphen.lee@gmail.com> [Sat, 21 Jun 2014 15:56:49 +1000] rev 21790
diff: add nobinary config to suppress git-style binary diffs
Mon, 23 Jun 2014 13:50:44 -0500 branchmap: don't use ui.warn for debug message
Matt Mackall <mpm@selenic.com> [Mon, 23 Jun 2014 13:50:44 -0500] rev 21789
branchmap: don't use ui.warn for debug message
Mon, 23 Jun 2014 13:46:42 -0500 branch: add debug message for branch cache write failure
Matt Mackall <mpm@selenic.com> [Mon, 23 Jun 2014 13:46:42 -0500] rev 21788
branch: add debug message for branch cache write failure
Sun, 04 May 2014 22:36:07 -0700 record: define inferrepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 22:36:07 -0700] rev 21787
record: define inferrepo in command decorator
Sun, 04 May 2014 22:30:47 -0700 mq: define inferrepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 22:30:47 -0700] rev 21786
mq: define inferrepo in command decorator
Sun, 04 May 2014 22:23:45 -0700 largefiles: define inferrepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 22:23:45 -0700] rev 21785
largefiles: define inferrepo in command decorator
Sun, 04 May 2014 22:32:15 -0700 keyword: define inferrepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 22:32:15 -0700] rev 21784
keyword: define inferrepo in command decorator
Sun, 04 May 2014 22:33:22 -0700 hgk: define inferrepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 22:33:22 -0700] rev 21783
hgk: define inferrepo in command decorator
Sun, 04 May 2014 22:28:46 -0700 graphlog: define inferrepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 22:28:46 -0700] rev 21782
graphlog: define inferrepo in command decorator
Sun, 04 May 2014 22:29:27 -0700 extdiff: define inferrepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 22:29:27 -0700] rev 21781
extdiff: define inferrepo in command decorator
Sun, 04 May 2014 22:25:28 -0700 children: define inferrepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 22:25:28 -0700] rev 21780
children: define inferrepo in command decorator
Sun, 04 May 2014 22:24:38 -0700 churn: define inferrepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 22:24:38 -0700] rev 21779
churn: define inferrepo in command decorator
Sun, 04 May 2014 22:22:59 -0700 commands: define inferrepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 22:22:59 -0700] rev 21778
commands: define inferrepo in command decorator
Sun, 04 May 2014 22:20:00 -0700 cmdutil: support inferrepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 22:20:00 -0700] rev 21777
cmdutil: support inferrepo in command decorator
Sun, 04 May 2014 22:16:56 -0700 keyword: define optionalrepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 22:16:56 -0700] rev 21776
keyword: define optionalrepo in command decorator
Sun, 04 May 2014 22:16:05 -0700 commands: define optionalrepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 22:16:05 -0700] rev 21775
commands: define optionalrepo in command decorator
Sun, 04 May 2014 22:12:34 -0700 cmdutil: add optionalrepo argument to command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 22:12:34 -0700] rev 21774
cmdutil: add optionalrepo argument to command decorator
Sun, 04 May 2014 22:07:45 -0700 tests: define norepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 22:07:45 -0700] rev 21773
tests: define norepo in command decorator
Sun, 04 May 2014 22:03:11 -0700 share: define norepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 22:03:11 -0700] rev 21772
share: define norepo in command decorator
Sun, 04 May 2014 22:04:14 -0700 mq: define norepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 22:04:14 -0700] rev 21771
mq: define norepo in command decorator
Sun, 04 May 2014 21:11:15 -0700 largefiles: define norepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 21:11:15 -0700] rev 21770
largefiles: define norepo in command decorator
Sun, 04 May 2014 22:02:25 -0700 convert: define norepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 22:02:25 -0700] rev 21769
convert: define norepo in command decorator
Sun, 04 May 2014 20:57:01 -0700 commands: define norepo in command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 20:57:01 -0700] rev 21768
commands: define norepo in command decorator
Sun, 04 May 2014 20:58:25 -0700 commands: add norepo argument to command decorator
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 20:58:25 -0700] rev 21767
commands: add norepo argument to command decorator Since decorators are evaluated at module load time and since the @command decorator imports commands, the norepo variable (along with its friends) may not be declared yet. These variables are now declared before @command usage to ensure they are present.
Sun, 04 May 2014 18:45:04 -0700 cmdutil: better document command()
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 04 May 2014 18:45:04 -0700] rev 21766
cmdutil: better document command()
Wed, 11 Jun 2014 22:19:29 -0400 convert: update the transplant, rebase and graft references in 'extra'
Matt Harbison <matt_harbison@yahoo.com> [Wed, 11 Jun 2014 22:19:29 -0400] rev 21765
convert: update the transplant, rebase and graft references in 'extra' This change allows the origin() and destination() revsets to yield the same results in the new and old repos after a conversion. Previously, nothing would be listed for queries in the new repo. Like the SHA1 updates to the commit messages, this is only operational when the 'convert.hg.saverev=True' option is specified. If the old reference cannot be found, it is left as-is. It seems slightly better to leave stale evidence of the graft/transplant/rebase than to eliminate it entirely.
Wed, 18 Jun 2014 20:59:36 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 18 Jun 2014 20:59:36 -0500] rev 21764
merge with stable
Wed, 18 Jun 2014 20:51:49 -0500 run-tests: hold iolock across diff/prompt when interactive
Matt Mackall <mpm@selenic.com> [Wed, 18 Jun 2014 20:51:49 -0500] rev 21763
run-tests: hold iolock across diff/prompt when interactive Otherwise diff may get separated from the corresponding prompt by other threads. This required moving the interactive prompting from one helper method to another.
Wed, 18 Jun 2014 15:26:07 -0500 bookmarks: improve the bookmark help (issue4244)
Matt Mackall <mpm@selenic.com> [Wed, 18 Jun 2014 15:26:07 -0500] rev 21762
bookmarks: improve the bookmark help (issue4244)
Wed, 18 Jun 2014 19:46:18 -0500 push: restore contents of HG_URL for hooks (issue4268) stable
Matt Mackall <mpm@selenic.com> [Wed, 18 Jun 2014 19:46:18 -0500] rev 21761
push: restore contents of HG_URL for hooks (issue4268)
Wed, 18 Jun 2014 13:47:14 -0500 tests: ignore missing file with PYTHONDONTWRITEBYTECODE (issue4239) stable
Matt Mackall <mpm@selenic.com> [Wed, 18 Jun 2014 13:47:14 -0500] rev 21760
tests: ignore missing file with PYTHONDONTWRITEBYTECODE (issue4239)
Mon, 16 Jun 2014 13:30:46 -0500 hgweb: avoid initialization race (issue4280) stable
Matt Mackall <mpm@selenic.com> [Mon, 16 Jun 2014 13:30:46 -0500] rev 21759
hgweb: avoid initialization race (issue4280)
Mon, 16 Jun 2014 12:04:48 -0500 p4: accept changesets with no description (issue4282) stable
Matt Mackall <mpm@selenic.com> [Mon, 16 Jun 2014 12:04:48 -0500] rev 21758
p4: accept changesets with no description (issue4282)
Sat, 14 Jun 2014 11:56:20 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Sat, 14 Jun 2014 11:56:20 -0500] rev 21757
merge with stable
Fri, 30 May 2014 12:57:58 -0700 test-run-tests.t: test the --nodiff option
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 May 2014 12:57:58 -0700] rev 21756
test-run-tests.t: test the --nodiff option
Fri, 30 May 2014 12:12:12 -0700 test-run-tests.t: test the --interactive option
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 May 2014 12:12:12 -0700] rev 21755
test-run-tests.t: test the --interactive option
Fri, 13 Jun 2014 14:45:23 +0530 run-tests: fixes the '--interactive' option error
anuraggoel <anurag.dsps@gmail.com> [Fri, 13 Jun 2014 14:45:23 +0530] rev 21754
run-tests: fixes the '--interactive' option error This patch fixes a regression recently introduced by a refactoring. Previously when failure occurs while testing with '--interactive' was enable, it didn't prompt user by asking whether he wants to accept this failure changes or not. This was happening beacuse of the 'if' condition if ret or not self._options.interactive or \ not os.path.exists(test.errpath): Everytime failure occurs, this condition gets true and returns back even when '--interactive' is enabled. This condition don't led the function to execute further, which consist the '--interactive' functionality. Now, on failure with '--interactive' enabled, it prompts user whether he wants to accepts failure changes or not. If yes then test gets passed and returns true, else test gets failed. On every failure, results gets stored in "self.failures.append((test, reason))" But if failure changes accepted by user then test must get "pop out" from failed test list.
Fri, 13 Jun 2014 14:33:02 +0530 run-tests: checks behaviour of test on failure while testing
anuraggoel <anurag.dsps@gmail.com> [Fri, 13 Jun 2014 14:33:02 +0530] rev 21753
run-tests: checks behaviour of test on failure while testing On failure while testing, if this function "result.addFailure(self, str(e))" returns true then test get 'passed' else count as 'failed'.
Sat, 14 Jun 2014 11:49:02 -0500 revlog: fix check-code error stable
Matt Mackall <mpm@selenic.com> [Sat, 14 Jun 2014 11:49:02 -0500] rev 21752
revlog: fix check-code error
Fri, 13 Jun 2014 17:42:04 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 13 Jun 2014 17:42:04 -0500] rev 21751
merge with stable
Fri, 13 Jun 2014 14:17:14 -0500 revlog: hold a private reference to self._cache stable
Matt Mackall <mpm@selenic.com> [Fri, 13 Jun 2014 14:17:14 -0500] rev 21750
revlog: hold a private reference to self._cache This keeps other threads from modifying self._cache out from under us. With this and the previous fix, 'hg serve' survives 100k hits with siege.
Fri, 13 Jun 2014 14:16:03 -0500 revlog: make _chunkcache access atomic stable
Matt Mackall <mpm@selenic.com> [Fri, 13 Jun 2014 14:16:03 -0500] rev 21749
revlog: make _chunkcache access atomic With this and related fixes, 'hg serve' survived 100000 hits with siege.
Mon, 09 Jun 2014 10:34:21 -0700 tests: cat error messages are different on Solaris stable
Danek Duvall <danek.duvall@oracle.com> [Mon, 09 Jun 2014 10:34:21 -0700] rev 21748
tests: cat error messages are different on Solaris
Tue, 10 Jun 2014 17:00:31 -0700 error: restore python 2.4 compatibility for BundleValueError
Brendan Cully <brendan@kublai.com> [Tue, 10 Jun 2014 17:00:31 -0700] rev 21747
error: restore python 2.4 compatibility for BundleValueError Under python 2.4, this: super(BundleValueError, self).__init__(msg) raises this: TypeError: super() argument 1 must be type, not classobj
Thu, 12 Jun 2014 14:40:45 -0500 i18n: explicitly decode paragraphs
Matt Mackall <mpm@selenic.com> [Thu, 12 Jun 2014 14:40:45 -0500] rev 21746
i18n: explicitly decode paragraphs This was triggering an exception when the default encoding was disabled.
Fri, 13 Jun 2014 14:14:02 -0500 minirst: explicitly decode substitutions
Matt Mackall <mpm@selenic.com> [Fri, 13 Jun 2014 14:14:02 -0500] rev 21745
minirst: explicitly decode substitutions Caught by Augie and sys.setdefaultencoding("undefined")
Fri, 30 May 2014 12:12:03 -0700 test-run-tests.t: tests --jobs option
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 May 2014 12:12:03 -0700] rev 21744
test-run-tests.t: tests --jobs option
Fri, 30 May 2014 12:11:51 -0700 test-run-tests.t: test --debug option
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 May 2014 12:11:51 -0700] rev 21743
test-run-tests.t: test --debug option
Fri, 30 May 2014 12:11:39 -0700 test-run-tests.t: test selection of testfile from the command line
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 May 2014 12:11:39 -0700] rev 21742
test-run-tests.t: test selection of testfile from the command line
Fri, 30 May 2014 12:11:17 -0700 test-run-tests.t: tests the --retest option
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 May 2014 12:11:17 -0700] rev 21741
test-run-tests.t: tests the --retest option
Thu, 12 Jun 2014 03:20:28 +0530 run-tests: fixes the number of tests ran when '--retest' is enabled
anuraggoel <anurag.dsps@gmail.com> [Thu, 12 Jun 2014 03:20:28 +0530] rev 21740
run-tests: fixes the number of tests ran when '--retest' is enabled This patch fixes a regression recently introduced by a refactoring. (see 92a6b16c9186 and about 200 previous changesets from Gregory Szorc) While retesting, that is when '--retest' is enabled, only failure tests run and others either skipped or ignored. During retesting, "result.testsRun" holds the count of failure test that has run. But as while printing output, we have subtracted the skipped and ignored count from "result.testsRun". Therefore, to make the count remain the same, we need to add skipped and ignored count before printing.
Thu, 12 Jun 2014 02:36:52 +0530 run-tests: skipped test should not produce 'i' mark while retesting
anuraggoel <anurag.dsps@gmail.com> [Thu, 12 Jun 2014 02:36:52 +0530] rev 21739
run-tests: skipped test should not produce 'i' mark while retesting When '--retest' option is enabled then skipped test should not produce 'i' mark. This fixes a regression introduced by 92a6b16c9186 and about 200 previous changesets from Gregory Szorc.
Fri, 30 May 2014 12:10:56 -0700 test-run-tests.t: test running a failing test
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 May 2014 12:10:56 -0700] rev 21738
test-run-tests.t: test running a failing test
Fri, 13 Jun 2014 16:36:53 -0500 run-tests: filter whitespace at end of error diffs
Matt Mackall <mpm@selenic.com> [Fri, 13 Jun 2014 16:36:53 -0500] rev 21737
run-tests: filter whitespace at end of error diffs Python 2.6 and 2.7 produce slightly different diff headers.
Thu, 12 Jun 2014 01:28:22 +0530 run-tests: produce '!' mark after running a failing test
anuraggoel <anurag.dsps@gmail.com> [Thu, 12 Jun 2014 01:28:22 +0530] rev 21736
run-tests: produce '!' mark after running a failing test This patch fixes a regression recently introduced by a refactoring (see 92a6b16c9186 and about 200 previous changesets from Gregory Szorc). '!' mark denotes that the test gets failed while testing.
Thu, 12 Jun 2014 01:36:57 +0530 run-tests: produce error on running a failing test
anuraggoel <anurag.dsps@gmail.com> [Thu, 12 Jun 2014 01:36:57 +0530] rev 21735
run-tests: produce error on running a failing test This patch fixes a regression recently introduced by a refactoring (see 92a6b16c9186 and about 200 previous changesets from Gregory Szorc). It produce an error message everytime with a test filename which gets fail while testing except at one condition when '--nodiff' option is enabled.
Fri, 30 May 2014 12:10:19 -0700 test-run-tests.t: test running a passing test
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 May 2014 12:10:19 -0700] rev 21734
test-run-tests.t: test running a passing test
Tue, 10 Jun 2014 14:32:52 -0700 run-tests: don't check for the mercurial library used when using --with-hg
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 10 Jun 2014 14:32:52 -0700] rev 21733
run-tests: don't check for the mercurial library used when using --with-hg In the ``--with-hg`` case, we cannot properly infer the location of the mercurial library, so we skip the warning completely.
Fri, 30 May 2014 12:09:49 -0700 test: introduce test-run-tests.t
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 May 2014 12:09:49 -0700] rev 21732
test: introduce test-run-tests.t This testfile tests the test runner itself. There were multiple regressions in the last few weeks. Having tests would prevent this in the future.
Fri, 30 May 2014 11:40:24 -0700 tests: comment the main purpose of ``test-unified-test.t``
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 May 2014 11:40:24 -0700] rev 21731
tests: comment the main purpose of ``test-unified-test.t``
Wed, 11 Jun 2014 15:31:04 -0700 parsers.c: fix a couple of memory leaks stable
Danek Duvall <danek.duvall@oracle.com> [Wed, 11 Jun 2014 15:31:04 -0700] rev 21730
parsers.c: fix a couple of memory leaks
Fri, 30 May 2014 11:35:45 -0700 tests: rename ``test-run-tests.t`` to ``test-unified-test.t``
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 May 2014 11:35:45 -0700] rev 21729
tests: rename ``test-run-tests.t`` to ``test-unified-test.t`` This ``test-run-tests.y`` is testing the unified test (.t) syntax interpretation, not really the run-tests.py command tool itself.
Tue, 27 May 2014 14:45:31 -0700 wireproto: rephrase the error message for unknown getbundle parameters
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 27 May 2014 14:45:31 -0700] rev 21728
wireproto: rephrase the error message for unknown getbundle parameters In case of an unknown parameter passed to ``getbundle``, the server prints a message and ignores the parameter. This message was misleadingly prefixed with "abort: ". The use of "abort: " here is clearly wrong as nothing is actually aborted and the ``getbundle`` call proceeds without the parameter. The message is now prefixed with "warning: " and rephrased to make it clearer that the parameter was simply ignored.
Sat, 07 Jun 2014 11:32:37 -0400 patchbomb: reorder header insertions to clarify code
Augie Fackler <raf@durin42.com> [Sat, 07 Jun 2014 11:32:37 -0400] rev 21727
patchbomb: reorder header insertions to clarify code This is done as its own change to make the changes to test-patchbomb.t easier to review.
Sat, 07 Jun 2014 11:06:15 -0400 patchbomb: always use message-id of first patch for series-id
Augie Fackler <raf@durin42.com> [Sat, 07 Jun 2014 11:06:15 -0400] rev 21726
patchbomb: always use message-id of first patch for series-id This currently has the side effect that the 0 of N message has no series-id. This won't matter for Mercurial's own use, but may be undesirable for other projects depending on their workflow. The way the header is inserted is intentionally a little funny to make the test expectation diff easier to review.
Sat, 07 Jun 2014 11:30:06 -0400 test-patchbomb: normalize glob lines and record their construction
Augie Fackler <raf@durin42.com> [Sat, 07 Jun 2014 11:30:06 -0400] rev 21725
test-patchbomb: normalize glob lines and record their construction This makes it significantly less painful to use --interactive on run-tests, as you can now use the recorded regular expression substitutions to fix up the glob lines and produce zero diffs. This also tightens the expectations of a few of the lines for the MIME boundaries - it just seemed like the thing to do while in here and causing some changes.
Mon, 05 May 2014 22:51:20 -0700 patchbomb: includes a unique series ID in email header
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 05 May 2014 22:51:20 -0700] rev 21724
patchbomb: includes a unique series ID in email header Now that we have patch index and series size information, having a unique series identifier will helps tool to glue all email back together without any additional logic.
Fri, 30 May 2014 11:28:48 -0700 color: add parenthesis to help readability
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 30 May 2014 11:28:48 -0700] rev 21723
color: add parenthesis to help readability Took me a multiple attempts until my mind eventually stop reading: auto = coloropt = 'auto' And properly reads: auto = colorpopt == 'auto' So we add parenthesis to clarify.
Sat, 31 May 2014 17:26:15 -0700 status: document the content of the returned tuple in the docstring
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 31 May 2014 17:26:15 -0700] rev 21722
status: document the content of the returned tuple in the docstring The ``status`` function returns a lot of information. We document it.
Mon, 09 Jun 2014 14:11:17 -0500 resolve: fix grammar of no matching files message
Matt Mackall <mpm@selenic.com> [Mon, 09 Jun 2014 14:11:17 -0500] rev 21721
resolve: fix grammar of no matching files message
Mon, 09 Jun 2014 13:53:23 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 09 Jun 2014 13:53:23 -0500] rev 21720
merge with stable
Fri, 06 Jun 2014 00:21:46 -0500 bash_completion: add -l|--list support for shelve
Sean Farley <sean.michael.farley@gmail.com> [Fri, 06 Jun 2014 00:21:46 -0500] rev 21719
bash_completion: add -l|--list support for shelve This was overlooked previously and found via 'hg shelve -p -l <tab>' (to show the diff of the shelved commit).
Sat, 31 May 2014 21:21:06 +0900 workingctx: duplicate status list received at _poststatus hook
Yuya Nishihara <yuya@tcha.org> [Sat, 31 May 2014 21:21:06 +0900] rev 21718
workingctx: duplicate status list received at _poststatus hook basectx.status may reorder the list after workingctx._poststatus is called, so workingctx must copy it. Otherwise, wctx.deleted() would return "unknown" files, for example.
Thu, 05 Jun 2014 15:24:29 +0530 patch: replace functions in fsbackend to use vfs
Chinmay Joshi <c@chinmayjoshi.com> [Thu, 05 Jun 2014 15:24:29 +0530] rev 21717
patch: replace functions in fsbackend to use vfs Several functions in fsbackend are replaced to use vfs functions. vfs operations are applied on filename and path is joined by _join().
Thu, 05 Jun 2014 15:16:44 +0530 vfs: add unlinkpath to vfs
Chinmay Joshi <c@chinmayjoshi.com> [Thu, 05 Jun 2014 15:16:44 +0530] rev 21716
vfs: add unlinkpath to vfs This patch adds unlinkpath() function in vfs to replace util.unlinkpath().
Thu, 05 Jun 2014 22:20:32 +0900 shelve: add option combination tests for refactoring in succeeding patch
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Thu, 05 Jun 2014 22:20:32 +0900] rev 21715
shelve: add option combination tests for refactoring in succeeding patch
Sun, 01 Jun 2014 00:08:33 +0900 qfold: allow to specify '--message/'--logfile' and '--edit' at the same time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 01 Jun 2014 00:08:33 +0900] rev 21714
qfold: allow to specify '--message/'--logfile' and '--edit' at the same time Before this patch, 'hg qfold' disallows to specify '--message/'--logfile' and '--edit' at the same time. 'hg qfold' has disallowed such combination since Mercurial 0.9.2, but this restriction seems not to be reasonable for recent Mercurial, because all other commands creating new changeset allow it. This patch allows 'hg qfold' to specify '--message/'--logfile' and '--edit' at the same time like other commands creating new changeset.
Sun, 01 Jun 2014 00:08:32 +0900 qrefresh: allow to specify '--message/'--logfile' and '--edit' at the same time
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 01 Jun 2014 00:08:32 +0900] rev 21713
qrefresh: allow to specify '--message/'--logfile' and '--edit' at the same time Before this patch, 'hg qrefresh' disallows to specify '--message/'--logfile' and '--edit' at the same time. 'hg qrefresh' has disallowed such combination since Mercurial 0.9.2, but this restriction seems not to be reasonable for recent Mercurial, because all other commands creating new changeset allow it. This patch allows 'hg qrefresh' to specify '--message/'--logfile' and '--edit' at the same time like other commands creating new changeset.
Sun, 01 Jun 2014 00:08:32 +0900 backout: accept '--edit' like other commands creating new changeset
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 01 Jun 2014 00:08:32 +0900] rev 21712
backout: accept '--edit' like other commands creating new changeset After this patch, users can invoke editor for the commit message by '--edit' option regardless of '--message'/'--logfile'.
(0) -10000 -3000 -1000 -120 +120 +1000 +3000 +10000 +30000 tip