Tue, 18 Mar 2014 17:19:44 -0500 revset: pass a lookup function to the tokenizer
Matt Mackall <mpm@selenic.com> [Tue, 18 Mar 2014 17:19:44 -0500] rev 20779
revset: pass a lookup function to the tokenizer
Tue, 18 Mar 2014 17:17:23 -0500 parser: allow passing a lookup function to a tokenizer
Matt Mackall <mpm@selenic.com> [Tue, 18 Mar 2014 17:17:23 -0500] rev 20778
parser: allow passing a lookup function to a tokenizer This will allow us to dynamically handle hyphenated symbols in revsets.
Sat, 15 Mar 2014 18:11:51 -0700 benchmark-revset: add full version of benchmarked revset
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 15 Mar 2014 18:11:51 -0700] rev 20777
benchmark-revset: add full version of benchmarked revset All revsets added to benchmark so far are aimed to show an improvement of performance from laziness. We had more wider version to track impact of laziness on them.
Fri, 14 Mar 2014 00:02:05 -0700 localrepo: rename capability set to lower case.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 14 Mar 2014 00:02:05 -0700] rev 20776
localrepo: rename capability set to lower case. This is not C and they are not even constant.
Wed, 12 Mar 2014 14:46:41 -0700 wireproto: move wireproto capabilities computation in a subfunction
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 12 Mar 2014 14:46:41 -0700] rev 20775
wireproto: move wireproto capabilities computation in a subfunction It will help people that need to add capabilities (in a more subtle was that just adding some to the list) in multiple way: 1. This function returns a list, not a string. Making it easier to look at, extend or alter the content. 2. The original capabilities function will be store in the dictionary of wire protocol command. So extension that wrap this function also need to update the dictionary entry. Both wrapping and update of the dictionary entry are needed because the `hello` wire protocol use the function itself. This is specifically sneaky for extension writer as ssh use the `hello` command while http use the `capabilities` command. With this new `_capabilities` function there is one and only one obvious place to wrap when needed.
Tue, 11 Mar 2014 01:38:02 -0700 wireproto: extract capabilities list in outside the wireproto function
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 11 Mar 2014 01:38:02 -0700] rev 20774
wireproto: extract capabilities list in outside the wireproto function Before that it was over complicated to add capabilities from an extension. This mimic was is done for capabilities in localrepo.
Tue, 18 Mar 2014 14:25:28 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 18 Mar 2014 14:25:28 -0500] rev 20773
merge with stable
Mon, 17 Mar 2014 14:57:13 -0400 commit: propagate --secret option to subrepos (issue4182) stable
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Mon, 17 Mar 2014 14:57:13 -0400] rev 20772
commit: propagate --secret option to subrepos (issue4182) Before this patch, `hg commit --secret` was not getting propagated correctly, and subrepos were not getting the commit in the secret phase. The problem is that subrepos get their ui from the base repo's baseui object and ignore the ui object passed on to them. This sets and restores both ui objects with the appropriate option.
Wed, 19 Mar 2014 01:07:41 +0900 amend: save commit message into ".hg/last-message.txt" stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 19 Mar 2014 01:07:41 +0900] rev 20771
amend: save commit message into ".hg/last-message.txt" Before this patch, commit message (may be manually edited) for "commit --amend" is never saved into ".hg/last-message.txt", because it uses "localrepository.commitctx()" instead of "localrepository.commit()": saving into ".hg/last-message.txt" is executed only in the latter. This patch saves commit message for "commit --amend" into ".hg/last-message.txt" just after user editing. This is the simplest implementation to fix on stable. Editing and saving commit message for memctx should be centralized into the framework like "localrepository.commit()" with "editor" argument or so in the future.
Wed, 19 Mar 2014 01:07:41 +0900 histedit: save manually edited commit message into ".hg/last-message.txt" stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 19 Mar 2014 01:07:41 +0900] rev 20770
histedit: save manually edited commit message into ".hg/last-message.txt" Before this patch, manually edited commit message for "fold" command in histedit-ing is never saved into ".hg/last-message.txt", because it uses "localrepository.commitctx()" instead of "localrepository.commit()": saving into ".hg/last-message.txt" is executed only in the latter. This patch saves manually edited commit message for "fold" command in histedit-ing into ".hg/last-message.txt" just after user editing. This is the simplest implementation to fix on stable. Editing and saving commit message for memctx should be centralized into the framework like "localrepository.commit()" with "editor" argument or so in the future.
Wed, 19 Mar 2014 01:07:41 +0900 qfold: save manually edited commit message into ".hg/last-message.txt" stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 19 Mar 2014 01:07:41 +0900] rev 20769
qfold: save manually edited commit message into ".hg/last-message.txt" Before this patch, manually edited commit message for "hg qfold -e" isn't saved into ".hg/last-message.txt" until it is saved by "localrepository.savecommitmessage()" in "localrepository.commit()". This may lose such commit message, if unexpected exception is raised. This patch saves manually edited commit message for "hg qfold -e" into ".hg/last-message.txt" just after user editing. This patch doesn't save the message specified by -m/-l options as same as other commands. This is the simplest implementation to fix on stable. Editing and saving commit message should be centralized into the framework of "localrepository.commit()" with "editor" argument in the future. This patch uses repository wrapping class for exception raising before saving commit message in "localrepository.commit()" easily and certainly, because such exception requires corner case condition.
Wed, 19 Mar 2014 01:07:41 +0900 qnew: save manually edited commit message into ".hg/last-message.txt" stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 19 Mar 2014 01:07:41 +0900] rev 20768
qnew: save manually edited commit message into ".hg/last-message.txt" Before this patch, manually edited commit message for "hg qnew -e" isn't saved into ".hg/last-message.txt" until it is saved by "localrepository.savecommitmessage()" in "localrepository.commit()". This may lose such commit message, if unexpected exception is raised. This patch saves manually edited commit message for "hg qnew -e" into ".hg/last-message.txt" just after user editing. This patch doesn't save the message specified by -m/-l options as same as other commands. This is the simplest implementation to fix on stable. Editing and saving commit message should be centralized into the framework of "localrepository.commit()" with "editor" argument in the future. This patch uses repository wrapping class for exception raising before saving commit message in "localrepository.commit()" easily and certainly, because such exception requires corner case condition.
Wed, 19 Mar 2014 01:07:41 +0900 tag: save manually edited commit message into ".hg/last-message.txt" stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 19 Mar 2014 01:07:41 +0900] rev 20767
tag: save manually edited commit message into ".hg/last-message.txt" Before this patch, manually edited commit message for "hg tag -e" isn't saved into ".hg/last-message.txt" until it is saved by "localrepository.savecommitmessage()" in "localrepository.commit()". This may lose such commit message, if unexpected exception is raised. This patch saves manually edited commit message for "hg tag -e" into ".hg/last-message.txt" just after user editing. This patch doesn't save the message specified by -m option (-l is not supported for "hg tag") as same as other commands. This is the simplest implementation to fix on stable. Editing and saving commit message should be centralized into the framework of "localrepository.commit()" with "editor" argument in the future.
Wed, 19 Mar 2014 01:07:41 +0900 rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse" stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 19 Mar 2014 01:07:41 +0900] rev 20766
rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse" Before this patch, "rebase --collapse --edit" without "--message" and "--logfile" invokes editor twice unexpectedly: 1. explicit "ui.edit()" invocation in rebase extension itself 2. indirect invocation in "localrepository.commit()" with "editor = commitforceeditor" assigned by "--edit" option This patch uses indirect "commitforceeditor" invocation instead of "ui.edit()" for "--collapse" without "--message" and "--logfile" to: - suppress redundant the former invocation - ensure editor invocation even when "--edit" is not specified
Wed, 19 Mar 2014 01:07:41 +0900 localrepo: save manually edited commit message as soon as possible stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 19 Mar 2014 01:07:41 +0900] rev 20765
localrepo: save manually edited commit message as soon as possible Before this patch, "localrepository.commit()" invokes specified "editor" to edit commit message manually, and saves it after checking sub-repositories. This may lose manually edited commit message, if unexpected exception is raised while checking (or commiting recursively) sub-repositories. This patch saves manually edited commit message as soon as possible.
Sat, 15 Mar 2014 15:44:51 +0100 hgk: enable selected patch text on Windows
Andrew Shadura <andrew@shadura.me> [Sat, 15 Mar 2014 15:44:51 +0100] rev 20764
hgk: enable selected patch text on Windows Port a patch from gitk. Original description: On windows, mouse input follows the keyboard focus, so to allow selecting text from the patch canvas we must not shift focus back to the top level. This change has no negative impact on X, so we don't explicitly test for Win32 on this change. This provides similar selection capability as already available using X-Windows. Signed-off-by: Mark Levedahl <mdl123@verizon.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
Sat, 15 Mar 2014 15:33:50 +0100 hgk: ignore ctrl-z as EOF on windows
Andrew Shadura <andrew@shadura.me> [Sat, 15 Mar 2014 15:33:50 +0100] rev 20763
hgk: ignore ctrl-z as EOF on windows Port a patch from gitk. Original description: Cygwin's Tcl is configured to honor any occurence of ctrl-z as an end-of-file marker, while some commits in the git repository and possibly elsewhere include that character in the commit comment. This causes gitk ignore commit history following such a comment and incorrect graphs. This change affects only Windows as Tcl on other platforms already has eofchar == {}. This fixes problems noted by me and by Ray Lehtiniemi, and the fix was suggested by Shawn Pierce. Signed-off-by: Mark Levedahl <mdl123@verizon.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
Fri, 14 Mar 2014 08:46:46 -0700 graphmod: changed code in dagwalker to use lazy implementations
Lucas Moscovicz <lmoscovicz@fb.com> [Fri, 14 Mar 2014 08:46:46 -0700] rev 20762
graphmod: changed code in dagwalker to use lazy implementations Used lazy methods when possible.
Fri, 14 Mar 2014 08:47:57 -0700 webcommands: changed code to use lazy classes when calling dagwalker
Lucas Moscovicz <lmoscovicz@fb.com> [Fri, 14 Mar 2014 08:47:57 -0700] rev 20761
webcommands: changed code to use lazy classes when calling dagwalker This needs to be changed to use a baseset since dagwalker now expects to receive a smartset. This is basically wrapping revs into a baseset to be compatible with smartset implementations.
Fri, 14 Mar 2014 13:27:12 -0700 cmdutil: changed max method for lazy call
Lucas Moscovicz <lmoscovicz@fb.com> [Fri, 14 Mar 2014 13:27:12 -0700] rev 20760
cmdutil: changed max method for lazy call Used the lazy max call instead of the python max implementation to be able to use lazysets for graphlog.
Fri, 14 Mar 2014 13:26:40 -0700 getgraphlogrevs: return an empty baseset instead of a empty list
Lucas Moscovicz <lmoscovicz@fb.com> [Fri, 14 Mar 2014 13:26:40 -0700] rev 20759
getgraphlogrevs: return an empty baseset instead of a empty list We aims at returning smartset only so that function higher in the stack can use smartset feature.
Fri, 14 Mar 2014 16:26:50 -0700 getgraphlogrevs: do not convert smartset to baseset
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 14 Mar 2014 16:26:50 -0700] rev 20758
getgraphlogrevs: do not convert smartset to baseset We are now sure that revs is a smartset. We remove the baseset call that would defeat any lazyness.
Fri, 14 Mar 2014 08:44:52 -0700 cmdutil: changed revset for spanset
Lucas Moscovicz <lmoscovicz@fb.com> [Fri, 14 Mar 2014 08:44:52 -0700] rev 20757
cmdutil: changed revset for spanset Instead of using baseset(repo.changelog) changed it for spanset(repo) which is much faster.
Fri, 14 Mar 2014 11:35:17 -0700 cmdutil: changed code in _makegraphlogrevset not to use getitem
Lucas Moscovicz <lmoscovicz@fb.com> [Fri, 14 Mar 2014 11:35:17 -0700] rev 20756
cmdutil: changed code in _makegraphlogrevset not to use getitem __getitem__ is a method that is not implemented lazily on many of the new classes and it can be easily replaced with a structure that takes advantage of the new lazy implementations instead.
Fri, 14 Mar 2014 08:43:52 -0700 cmdutil: changed code in getgraphlogrevs not to use getitem
Lucas Moscovicz <lmoscovicz@fb.com> [Fri, 14 Mar 2014 08:43:52 -0700] rev 20755
cmdutil: changed code in getgraphlogrevs not to use getitem __getitem__ is a method that is not implemented lazily on many of the new classes and it can be easily replaced with a structure that takes advantage of the new lazy implementations instead.
Tue, 18 Feb 2014 11:35:03 -0800 revset: changed minrev and maxrev implementations to use ordered sets
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 18 Feb 2014 11:35:03 -0800] rev 20754
revset: changed minrev and maxrev implementations to use ordered sets Performance Benchmarking: 0) max(tip:0) 1) min(0:tip) 2) min(0::) b96cb15ec9e0 (2.9.1 release) 0) ! wall 0.005699 comb 0.000000 user 0.000000 sys 0.000000 (best of 450) 1) ! wall 0.005414 comb 0.010000 user 0.010000 sys 0.000000 (best of 493) 2) ! wall 0.025951 comb 0.030000 user 0.030000 sys 0.000000 (best of 107) 05267e6e94dd (public tip at submission time) 0) ! wall 0.015177 comb 0.020000 user 0.020000 sys 0.000000 (best of 175) 1) ! wall 0.014779 comb 0.010000 user 0.010000 sys 0.000000 (best of 189) 2) ! wall 12.345179 comb 12.350000 user 12.350000 sys 0.000000 (best of 3) Current patches: 0) ! wall 0.001911 comb 0.000000 user 0.000000 sys 0.000000 (best of 1357) 1) ! wall 0.001943 comb 0.010000 user 0.010000 sys 0.000000 (best of 1406) 2) ! wall 0.000405 comb 0.000000 user 0.000000 sys 0.000000 (best of 6761)
Fri, 14 Mar 2014 14:43:44 -0700 revset: changed addset to extend _orderedsetmixin
Lucas Moscovicz <lmoscovicz@fb.com> [Fri, 14 Mar 2014 14:43:44 -0700] rev 20753
revset: changed addset to extend _orderedsetmixin Now _addset can use the lazy min and max implementation.
Fri, 14 Mar 2014 11:41:26 -0700 revset: add a default argument for baseset.__init__
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 14 Mar 2014 11:41:26 -0700] rev 20752
revset: add a default argument for baseset.__init__ We are now able to create empty baseset using `baseset()` as we are able to create empty list with `list()`.
Thu, 13 Mar 2014 11:36:45 -0700 revset: changed orderedlazyset to also extend _orderedsetmixin
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 13 Mar 2014 11:36:45 -0700] rev 20751
revset: changed orderedlazyset to also extend _orderedsetmixin Now orderedlazyset can use the lazy min and max implementation.
Thu, 13 Mar 2014 11:36:11 -0700 revset: changed spanset to extend _orderedsetmixin
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 13 Mar 2014 11:36:11 -0700] rev 20750
revset: changed spanset to extend _orderedsetmixin Now spanset can use the lazy min and max methods implementation.
(0) -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 +30000 tip