Wed, 05 Feb 2014 15:24:08 -0800 revset: added orderedlazyset class
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 05 Feb 2014 15:24:08 -0800] rev 20609
revset: added orderedlazyset class
Thu, 27 Feb 2014 23:17:37 -0600 config: make repo optional again
Matt Mackall <mpm@selenic.com> [Thu, 27 Feb 2014 23:17:37 -0600] rev 20608
config: make repo optional again
Fri, 28 Feb 2014 02:28:12 +0100 merge: fix spelling of length
Olle Lundberg <geek@nerd.sh> [Fri, 28 Feb 2014 02:28:12 +0100] rev 20607
merge: fix spelling of length
Mon, 10 Feb 2014 07:13:10 +0400 ui: edit(): transplant: set HGREVISION environment variable for an editor
Alexander Drozdov <al.drozdov@gmail.com> [Mon, 10 Feb 2014 07:13:10 +0400] rev 20606
ui: edit(): transplant: set HGREVISION environment variable for an editor transplant command set 'transplant_source' extra for the revision. Allow an editor to access the extra using HGREVISION environment variable. This may be useful when an editor is actually a script which modifies a commit message. Transplant filters is an alternative way to do it.
Thu, 06 Feb 2014 12:21:20 +0400 ui: edit(): rebase, graft: set HGREVISION environment variable for an editor
Alexander Drozdov <al.drozdov@gmail.com> [Thu, 06 Feb 2014 12:21:20 +0400] rev 20605
ui: edit(): rebase, graft: set HGREVISION environment variable for an editor rebase and graft commands set 'rebase_source' or 'source' extras for the revision. Allow an editor to access the extras using HGREVISION environment variable. This may be useful when an editor is actually a script which modifies a commit message. The name 'HGREVISION' has been selected as transplant already sets this variable for its filters (--filter).
Thu, 06 Feb 2014 10:15:20 +0400 cmdutil: make commitforceeditor() to pass revision extras to ui.edit()
Alexander Drozdov <al.drozdov@gmail.com> [Thu, 06 Feb 2014 10:15:20 +0400] rev 20604
cmdutil: make commitforceeditor() to pass revision extras to ui.edit()
Thu, 06 Feb 2014 11:38:28 +0400 ui: allow edit() to work with revision extras
Alexander Drozdov <al.drozdov@gmail.com> [Thu, 06 Feb 2014 11:38:28 +0400] rev 20603
ui: allow edit() to work with revision extras Make edit() to accept optional 'extra' dictionary. Revision extras will be used in upcoming patches to set some environment variables.
Fri, 14 Feb 2014 00:36:44 +0100 tests: glob match has a glob character for not getting a warning on windows
Simon Heimberg <simohe@besonet.ch> [Fri, 14 Feb 2014 00:36:44 +0100] rev 20602
tests: glob match has a glob character for not getting a warning on windows When / matches on / on windows, and there is no other glob character, this results in a warning. Avoid this by using an other glob character.
Sun, 16 Feb 2014 23:41:24 +0100 run-tests: fixed warn detection on failures with too many output
Simon Heimberg <simohe@besonet.ch> [Sun, 16 Feb 2014 23:41:24 +0100] rev 20601
run-tests: fixed warn detection on failures with too many output The state "warned" was reported too often. The problem fixed here is that warnonly was only reset when a line did not match. When there was a line too much, warnonly remained set. Fix this by setting more states to warnonly. More negative testing (testing on result "Failed") has been done this time.
Sun, 16 Feb 2014 23:36:02 +0100 run-tests: fixed warn detection on detecting warn only for lines
Simon Heimberg <simohe@besonet.ch> [Sun, 16 Feb 2014 23:36:02 +0100] rev 20600
run-tests: fixed warn detection on detecting warn only for lines The state "warned" was reported too often. The main problem was that "False == 0" is true in python. Therefore use an empty string instead of 0 for reporting warn only for a line. The other problem is fixed in the next patch.
Thu, 27 Feb 2014 20:01:28 -0800 obsolete: extract encoding of marker for pushkey from the list key function
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 27 Feb 2014 20:01:28 -0800] rev 20599
obsolete: extract encoding of marker for pushkey from the list key function We now have a function taking a list and marker and returning an encoded version. This will allow obsolescence marker exchange experimentation to easily pushkey-encode markers to be pushed after selection.
Wed, 19 Feb 2014 13:46:49 -0800 solaris: diff -u emits "No differences encountered"
Danek Duvall <danek.duvall@oracle.com> [Wed, 19 Feb 2014 13:46:49 -0800] rev 20598
solaris: diff -u emits "No differences encountered" Solaris diff -u isn't silent when two files are identical, and tests that don't account for that will fail. Fix those tests, and introduce a check that prevents reintroduction.
Fri, 14 Feb 2014 00:34:20 +0100 rebase: do not raise an UnboundLocalError when called wrong (issue4106)
Simon Heimberg <simohe@besonet.ch> [Fri, 14 Feb 2014 00:34:20 +0100] rev 20597
rebase: do not raise an UnboundLocalError when called wrong (issue4106) When the base is not found, we should not raise a traceback about a not defined variable. This hides the real problem: the function rebasenode was (probably) called wrong. An AssertionError is raised to highlight that the caller of the function did something wrong. An alternative approach is to only assign None to the variable "base" and let the merge mechanism raise an abort message. This was the behaviour for this case before ad9db007656f. But the only known case for this problem is when an extension calls this function wrong. An AssertionError makes this clearer than an abort message. When a different case is detected, the behaviour can be improved then.
Thu, 27 Feb 2014 19:56:36 -0800 exchange: fix docs for pulloperation
Siddharth Agarwal <sid0@fb.com> [Thu, 27 Feb 2014 19:56:36 -0800] rev 20596
exchange: fix docs for pulloperation 'remote' is actually the remote, not the repo one is pulling into. This confused me quite a bit.
Thu, 27 Feb 2014 18:57:03 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 27 Feb 2014 18:57:03 -0600] rev 20595
merge with stable
Tue, 25 Feb 2014 18:45:01 -0800 resolve: use "other" changeset from merge state (issue4163) stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Feb 2014 18:45:01 -0800] rev 20594
resolve: use "other" changeset from merge state (issue4163) We can use the "other" data from the recorded merge state instead of inferring what the other could be from working copy parent. This will allow resolve to fulfil its duty even when the second parent have been dropped. Most direct benefit is fixing a regression in backout.
Tue, 25 Feb 2014 18:54:47 -0800 merge: add "other" file node in the merge state file stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Feb 2014 18:54:47 -0800] rev 20593
merge: add "other" file node in the merge state file This data is mostly redundant with the "other" changeset node (+ other changeset file path). However, more data never hurt. The old format do not store it so this require some dancing to add and remove it on demand.
Thu, 27 Feb 2014 14:14:57 -0800 merge: infer the "other" changeset when falling back to v1 format stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 27 Feb 2014 14:14:57 -0800] rev 20592
merge: infer the "other" changeset when falling back to v1 format When we have to fallback to the old version of the file, we infer the "other" from current working directory parent. The same way it is currently done in the resolve command. This is know to have shortcoming… but we cannot do better from the data contained in the old file format. This is actually the motivation to add this new file format.
Tue, 25 Feb 2014 18:42:11 -0800 merge: record the "other" node in merge state stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Feb 2014 18:42:11 -0800] rev 20591
merge: record the "other" node in merge state We need to record the merge we were merging with. This solve multiple bug with resolve when dropping the second parent after a merge. This happen a lot when doing special merge (overriding the ancestor). Backout, shelve, rebase, etc. can takes advantage of it. This changeset just add the information in the merge state. We'll use it in the resolve process in a later changeset.
Tue, 25 Feb 2014 18:37:06 -0800 merge: introduce new format for the state file stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Feb 2014 18:37:06 -0800] rev 20590
merge: introduce new format for the state file This new format will allow us to address common bugs while doing special merge (graft, backout, rebase…) and record user choice during conflict resolution. The format is open so we can add more record for future usage. This file still store hexified version of node to help human willing to debug it by hand. The overhead or oversize are not expected be an issue. The old format is still used. It will be written to disk along side the newer format. And at parse time we detect if the data from old version of the mergestate are different from the one in the new version file. If its the same, both have most likely be written at the same time and you can trust the extra data from the new file. If it differs, the old file have been written by an older version of mercurial that did not knew about the new file. In that case we use the content of the old file.
Thu, 27 Feb 2014 12:59:41 -0800 merge: change the merge state serialisation to use a record based logic stable
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 27 Feb 2014 12:59:41 -0800] rev 20589
merge: change the merge state serialisation to use a record based logic The format of the file is unchanged. But we are preparing a new file with a new format that would be record based. So we change all the read/write logic to handle a list of record until a very low level. This will allow simple plugging of the new format in the current code.
Tue, 25 Feb 2014 17:14:49 -0800 merge: move merge state file path into a constant stable
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Feb 2014 17:14:49 -0800] rev 20588
merge: move merge state file path into a constant We are about to change the format. Having the file path in a single place make it easier to update the filename for the new version.
Thu, 13 Feb 2014 09:18:16 -0800 revset: changed spanset __add__ implementation to work lazily
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 13 Feb 2014 09:18:16 -0800] rev 20587
revset: changed spanset __add__ implementation to work lazily $ time hg log -qr "first(0:tip or draft())" ... real 0m1.032s user 0m0.841s sys 0m0.179s $ time ./hg log -qr "first(0:tip or draft())" ... real 0m0.378s user 0m0.291s sys 0m0.085s
Thu, 13 Feb 2014 09:00:25 -0800 revset: changed lazyset __add__ implementation to work lazily
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 13 Feb 2014 09:00:25 -0800] rev 20586
revset: changed lazyset __add__ implementation to work lazily Performance Benchmarking: $ time hg log -qr "first(author(mpm) or branch(default))" 0:9117c6561b0b real 0m3.875s user 0m3.818s sys 0m0.051s $ time ./hg log -qr "first(author(mpm) or branch(default))" 0:9117c6561b0b real 0m0.213s user 0m0.174s sys 0m0.038s
Tue, 25 Feb 2014 10:32:54 -0800 obsstore: add a __len__ method
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Feb 2014 10:32:54 -0800] rev 20585
obsstore: add a __len__ method We can already use "for mark in store:" it make sense to allow "len(store)" too.
Tue, 25 Feb 2014 10:21:54 -0800 obsstore: `create` method return True if a marker is actually added
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 25 Feb 2014 10:21:54 -0800] rev 20584
obsstore: `create` method return True if a marker is actually added The obsstore method now have a return value. This informs caller about the actual creation of a new markers. No new markers are created if it would have been a duplicate.
Thu, 27 Feb 2014 15:31:44 -0600 merge with crew
Matt Mackall <mpm@selenic.com> [Thu, 27 Feb 2014 15:31:44 -0600] rev 20583
merge with crew
Thu, 27 Feb 2014 15:39:07 -0500 help: exclude deprecated extensions in the disabled part of 'help extensions'
Augie Fackler <raf@durin42.com> [Thu, 27 Feb 2014 15:39:07 -0500] rev 20582
help: exclude deprecated extensions in the disabled part of 'help extensions'
Thu, 27 Feb 2014 15:37:04 -0500 test-help.t: add test for 'hg help extensions'
Augie Fackler <raf@durin42.com> [Thu, 27 Feb 2014 15:37:04 -0500] rev 20581
test-help.t: add test for 'hg help extensions' This demonstrates the defect that deprecated extensions show up in the output. A followup patch will fix this defect.
Thu, 27 Feb 2014 15:14:37 -0600 ui: fix extra space in username abort
Matt Mackall <mpm@selenic.com> [Thu, 27 Feb 2014 15:14:37 -0600] rev 20580
ui: fix extra space in username abort
Thu, 27 Feb 2014 14:58:44 -0600 tests: fix up config --edit breakage
Matt Mackall <mpm@selenic.com> [Thu, 27 Feb 2014 14:58:44 -0600] rev 20579
tests: fix up config --edit breakage
Thu, 27 Feb 2014 14:48:36 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 27 Feb 2014 14:48:36 -0600] rev 20578
merge with stable
Thu, 27 Feb 2014 22:56:42 +0530 coal: hgweb style adds extra blank line in file view (issue4136) stable
anuraggoel <anurag.dsps@gmail.com> [Thu, 27 Feb 2014 22:56:42 +0530] rev 20577
coal: hgweb style adds extra blank line in file view (issue4136) Now hgweb style='coal' adds no extra blank in file view.
Tue, 25 Feb 2014 21:26:25 +0100 pull: close peer repo on completion (issue2491) (issue2797) stable
Piotr Klecha <pklecha@forcom.com.pl> [Tue, 25 Feb 2014 21:26:25 +0100] rev 20576
pull: close peer repo on completion (issue2491) (issue2797) When pulling changes from a compressed bundle Mercurial first uncompresses it to a temporary file in .hg directory. This file will not be deleted unless the bundlerepo (other) is explicitly closed. This is similar to cleanup that occurs after incoming.
Thu, 27 Feb 2014 00:24:06 +0100 hgweb: ensure isdirectory is None for repositories, replacing any True value stable
Paul Boddie <paul@boddie.org.uk> [Thu, 27 Feb 2014 00:24:06 +0100] rev 20575
hgweb: ensure isdirectory is None for repositories, replacing any True value Until now, repositories did not provide any value for isdirectory in rows produced for the index output, and thus isdirectory was generally evaluated as None for each index entry representing a repository. However, directories (visible when viewed with the descend and collapse settings enabled) did provide a value of True and this value appeared to persist in subsequent rows processed by the templater, causing isdirectory tests in templates to produce incorrect results for index entries appearing after directories. This patch asserts the None value for repositories, thus erasing any such persistent True values.
Thu, 27 Feb 2014 14:46:29 -0600 ui: suggest config --edit when no username is set
Matt Mackall <mpm@selenic.com> [Thu, 27 Feb 2014 14:46:29 -0600] rev 20574
ui: suggest config --edit when no username is set
Thu, 27 Feb 2014 14:01:52 -0600 config: add example config file when -e called with no config
Matt Mackall <mpm@selenic.com> [Thu, 27 Feb 2014 14:01:52 -0600] rev 20573
config: add example config file when -e called with no config
Thu, 27 Feb 2014 13:46:32 -0600 config: add initial implementation of --edit
Matt Mackall <mpm@selenic.com> [Thu, 27 Feb 2014 13:46:32 -0600] rev 20572
config: add initial implementation of --edit This launches the preferred editor on either: a) the first non-empty user rc file found b) the first user rc file in the search list
Wed, 26 Feb 2014 18:56:27 -0800 revert: extract actual revert in its own function
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 26 Feb 2014 18:56:27 -0800] rev 20571
revert: extract actual revert in its own function With this small refactoring, the computation of the action to perform and the actual change to the disk happen in different function. This allows extension to wrap the later in case of need. The initial motivation is the `remotefilelog` extension that need to prefetch all the file content to be checked out.
Thu, 27 Feb 2014 12:42:09 -0600 config: move showconfig code and add config as primary alias
Matt Mackall <mpm@selenic.com> [Thu, 27 Feb 2014 12:42:09 -0600] rev 20570
config: move showconfig code and add config as primary alias Preparation for adding config --edit to launch an editor
Wed, 26 Feb 2014 17:15:55 -0800 revset: added _hexlist method to replace _list for %ln
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 26 Feb 2014 17:15:55 -0800] rev 20569
revset: added _hexlist method to replace _list for %ln Now %ln expression goes through _hexlist and doesn't do any unnecesary processing anymore.
Wed, 26 Feb 2014 17:57:23 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 26 Feb 2014 17:57:23 -0600] rev 20568
merge with stable
Thu, 27 Feb 2014 00:23:21 +0100 localrepo: language and spelling fixes in comment
Olle Lundberg <geek@nerd.sh> [Thu, 27 Feb 2014 00:23:21 +0100] rev 20567
localrepo: language and spelling fixes in comment
Wed, 26 Feb 2014 12:36:36 -0800 revset: added _intlist method to replace _list for %ld
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 26 Feb 2014 12:36:36 -0800] rev 20566
revset: added _intlist method to replace _list for %ld Now %ld expression goes through _intlist and doesn't do any unnecesary processing anymore.
Tue, 25 Feb 2014 06:30:21 +0530 purge: avoid duplicate output for --print (issue4092) stable
anuraggoel <anurag.dsps@gmail.com> [Tue, 25 Feb 2014 06:30:21 +0530] rev 20565
purge: avoid duplicate output for --print (issue4092) Now "hg purge -p" commands avoids printiing duplication of filenames. Second patch is the test coverage of first patch which tells that '-p' does not depend on whether ui.verbose is configured or not,that means it is independent of '-v'.
Mon, 24 Feb 2014 18:50:29 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 24 Feb 2014 18:50:29 -0600] rev 20564
merge with stable
Mon, 24 Feb 2014 18:49:09 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Mon, 24 Feb 2014 18:49:09 -0600] rev 20563
merge with stable
Mon, 24 Feb 2014 18:48:48 -0600 merge with i18n stable
Matt Mackall <mpm@selenic.com> [Mon, 24 Feb 2014 18:48:48 -0600] rev 20562
merge with i18n
Sun, 23 Feb 2014 18:03:47 +0900 i18n-ja: synchronized with 7b9d66c0e4fa stable
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 23 Feb 2014 18:03:47 +0900] rev 20561
i18n-ja: synchronized with 7b9d66c0e4fa
Sun, 16 Feb 2014 09:04:49 -0300 i18n-pt_BR: synchronized with 4e41b2fe46cc stable
Wagner Bruna <wbruna@yahoo.com> [Sun, 16 Feb 2014 09:04:49 -0300] rev 20560
i18n-pt_BR: synchronized with 4e41b2fe46cc
Mon, 24 Feb 2014 09:27:32 -0800 scmutil: changed revrange code not to use append
Lucas Moscovicz <lmoscovicz@fb.com> [Mon, 24 Feb 2014 09:27:32 -0800] rev 20559
scmutil: changed revrange code not to use append Removed one call to the append method
Tue, 25 Feb 2014 04:11:11 +0530 push: provide a hint when no paths in configured (issue3692)
anuraggoel <anurag.dsps@gmail.com> [Tue, 25 Feb 2014 04:11:11 +0530] rev 20558
push: provide a hint when no paths in configured (issue3692) When user type "hg push" command then this patch helps user by providing hint if no default path is configured. Second patch is the test coverage, to test the change behaviour of first patch.
Mon, 24 Feb 2014 22:42:14 +0100 revlog: introduce commonancestors method for getting all common ancestor heads
Mads Kiilerich <madski@unity3d.com> [Mon, 24 Feb 2014 22:42:14 +0100] rev 20557
revlog: introduce commonancestors method for getting all common ancestor heads
Mon, 24 Feb 2014 22:42:14 +0100 localrepo: commit: avoid calling expensive ancestor function when p1 is nullrev
Mads Kiilerich <madski@unity3d.com> [Mon, 24 Feb 2014 22:42:14 +0100] rev 20556
localrepo: commit: avoid calling expensive ancestor function when p1 is nullrev
Mon, 24 Feb 2014 22:42:13 +0100 ancestors: remove unnecessary handling of 'left'
Mads Kiilerich <madski@unity3d.com> [Mon, 24 Feb 2014 22:42:13 +0100] rev 20555
ancestors: remove unnecessary handling of 'left' If one of the initial nodes also is an ancestor then that most be the only ancestor. There is no need for additional bookkeeping.
Mon, 24 Feb 2014 22:42:13 +0100 parsers: remove unreachable and invalid code in index_ancestors
Mads Kiilerich <madski@unity3d.com> [Mon, 24 Feb 2014 22:42:13 +0100] rev 20554
parsers: remove unreachable and invalid code in index_ancestors The function normally returns a list. Returning a single element instead of a list with one element would be weird.
Thu, 13 Feb 2014 14:27:12 -0800 cmdutil: implemented new lazy increasingwindows
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 13 Feb 2014 14:27:12 -0800] rev 20553
cmdutil: implemented new lazy increasingwindows Now log can work in a lazy way and get results as soon as they are processed. Performance Benchmarking: $ time hg log -l1 -qr "branch(default)" 0:9117c6561b0b real 0m2.303s user 0m2.252s sys 0m0.048s $ time ./hg log -l1 -qr "branch(default)" 0:9117c6561b0b real 0m0.238s user 0m0.199s sys 0m0.037s
Thu, 20 Feb 2014 10:15:38 -0800 revset: added __nonzero__ method to lazyset
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 20 Feb 2014 10:15:38 -0800] rev 20552
revset: added __nonzero__ method to lazyset Now it doesn't have to go through all the set and can return lazily as soon as it finds one element.
Wed, 12 Feb 2014 15:30:27 -0800 scmutil: changed revrange to return lazysets for new style revsets
Lucas Moscovicz <lmoscovicz@fb.com> [Wed, 12 Feb 2014 15:30:27 -0800] rev 20551
scmutil: changed revrange to return lazysets for new style revsets When there is an old style revset or both it will still return a baseset. This may be changed in later patches.
Thu, 20 Feb 2014 02:43:17 +0100 phases: make order of debug output 'removing unknown node' deterministic
Mads Kiilerich <madski@unity3d.com> [Thu, 20 Feb 2014 02:43:17 +0100] rev 20550
phases: make order of debug output 'removing unknown node' deterministic
(0) -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 +10000 +30000 tip