Sat, 30 Sep 2017 07:44:08 -0400 formatter: remove superfluous pass statements
Augie Fackler <augie@google.com> [Sat, 30 Sep 2017 07:44:08 -0400] rev 34375
formatter: remove superfluous pass statements
Sat, 30 Sep 2017 07:43:53 -0400 exchange: remove superfluous pass statements
Augie Fackler <augie@google.com> [Sat, 30 Sep 2017 07:43:53 -0400] rev 34374
exchange: remove superfluous pass statements
Sat, 30 Sep 2017 07:43:40 -0400 commandserver: remove superfluous pass statements
Augie Fackler <augie@google.com> [Sat, 30 Sep 2017 07:43:40 -0400] rev 34373
commandserver: remove superfluous pass statements
Sat, 30 Sep 2017 07:43:26 -0400 cmdutil: remove superfluous pass statements
Augie Fackler <augie@google.com> [Sat, 30 Sep 2017 07:43:26 -0400] rev 34372
cmdutil: remove superfluous pass statements
Sat, 30 Sep 2017 07:43:11 -0400 byterange: remove superfluous pass statements
Augie Fackler <augie@google.com> [Sat, 30 Sep 2017 07:43:11 -0400] rev 34371
byterange: remove superfluous pass statements
Sat, 30 Sep 2017 07:42:59 -0400 branchmap: remove superfluous pass statements
Augie Fackler <augie@google.com> [Sat, 30 Sep 2017 07:42:59 -0400] rev 34370
branchmap: remove superfluous pass statements
Sat, 30 Sep 2017 07:42:47 -0400 convert: remove superfluous pass statements
Augie Fackler <augie@google.com> [Sat, 30 Sep 2017 07:42:47 -0400] rev 34369
convert: remove superfluous pass statements
Fri, 29 Sep 2017 11:55:26 -0400 bugzilla: remove superfluous pass statements
Augie Fackler <augie@google.com> [Fri, 29 Sep 2017 11:55:26 -0400] rev 34368
bugzilla: remove superfluous pass statements
Sat, 30 Sep 2017 07:52:48 -0700 merge with stable
Martin von Zweigbergk <martinvonz@google.com> [Sat, 30 Sep 2017 07:52:48 -0700] rev 34367
merge with stable
Fri, 22 Sep 2017 22:45:02 +0900 copytrace: use ctx.mutable() instead of adhoc constant of non-public phases
Yuya Nishihara <yuya@tcha.org> [Fri, 22 Sep 2017 22:45:02 +0900] rev 34366
copytrace: use ctx.mutable() instead of adhoc constant of non-public phases
Sat, 30 Sep 2017 10:09:29 +0100 exchange: fix test for remote support of binary phases
Boris Feld <boris.feld@octobus.net> [Sat, 30 Sep 2017 10:09:29 +0100] rev 34365
exchange: fix test for remote support of binary phases If the remote do not support phases, the "get" call will return None. We change that default return to empty tuple to fix the membership testing. This was a bug in the initial series. Thanks to yuja for catching this.
Thu, 28 Sep 2017 15:24:54 +0100 exchange: perform stream clone with clone bundle with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 28 Sep 2017 15:24:54 +0100] rev 34364
exchange: perform stream clone with clone bundle with --uncompressed Previously, `hg clone --uncompressed` would always clone from the origin server, even if a streaming clone bundle were available. With this change, we invoke the clone bundle mechanism before the stream clone mechanism, giving clone bundles the opportunity to handle --uncompressed (which is mapped to pullop.streamclonepreferred). The clone bundle filtering code now filters out entries that aren't stream clones when a stream clone is requested. If a stream clone clone bundle entry is present, it will be used. Otherwise, the client will fall back to a server-based streaming clone. .. feature:: `hg clone --uncompressed` uses clone bundles when possible Differential Revision: https://phab.mercurial-scm.org/D833
Thu, 28 Sep 2017 12:17:30 +0200 tests: add tests for clone bundles with --uncompressed
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 28 Sep 2017 12:17:30 +0200] rev 34363
tests: add tests for clone bundles with --uncompressed Currently, --uncompressed will always clone from the origin server, even if a stream clone bundle is present. Let's add tests demonstrating this behavior. Differential Revision: https://phab.mercurial-scm.org/D832
Wed, 27 Sep 2017 19:27:41 +0900 py3: work around bytes/unicode divergence in parsedate()
Yuya Nishihara <yuya@tcha.org> [Wed, 27 Sep 2017 19:27:41 +0900] rev 34362
py3: work around bytes/unicode divergence in parsedate()
Wed, 27 Sep 2017 19:13:43 +0900 py3: replace bytes[n] with slicing in checkwinfilename()
Yuya Nishihara <yuya@tcha.org> [Wed, 27 Sep 2017 19:13:43 +0900] rev 34361
py3: replace bytes[n] with slicing in checkwinfilename()
Wed, 27 Sep 2017 19:11:28 +0900 py3: manually escape control character to be embedded in win filename error
Yuya Nishihara <yuya@tcha.org> [Wed, 27 Sep 2017 19:11:28 +0900] rev 34360
py3: manually escape control character to be embedded in win filename error
Wed, 27 Sep 2017 19:08:23 +0900 py3: replace str(None) with literal in convcmd.py
Yuya Nishihara <yuya@tcha.org> [Wed, 27 Sep 2017 19:08:23 +0900] rev 34359
py3: replace str(None) with literal in convcmd.py
Wed, 27 Sep 2017 19:04:32 +0900 py3: remove use of str() in hgwebdir
Yuya Nishihara <yuya@tcha.org> [Wed, 27 Sep 2017 19:04:32 +0900] rev 34358
py3: remove use of str() in hgwebdir '%d' can't be used here since port may be either integer or byte string.
Wed, 27 Sep 2017 18:07:48 -0700 config: use copy-on-write to improve copy performance
Jun Wu <quark@fb.com> [Wed, 27 Sep 2017 18:07:48 -0700] rev 34357
config: use copy-on-write to improve copy performance Previously, chg's `verify` call could take 30+ms loading and checking new config files. With one socket redirection, that adds up to around 70ms, which is a lot for fast commands (ex. `bookmark --hidden`). When investigating closer, A lot of time was spent on actually spent on ui copying, which is mainly about `config.config` and `dict` copying. This patch makes that 20x faster by adopting copy-on-write. The copy-on-write is performed at config section level. Before: In [1]: %timeit ui.copy() 100 loops, best of 3: 2.32 ms per loop After: In [1]: %timeit ui.copy() 10000 loops, best of 3: 128 us per loop 2ms may look not that bad, but it adds up pretty quickly with multiple calls. A typical chg run may call it 4 times, which is about 10ms. Differential Revision: https://phab.mercurial-scm.org/D808
Sun, 01 Oct 2017 05:28:54 -0400 Added signature for changeset 2f427b57bf90 stable
Augie Fackler <raf@durin42.com> [Sun, 01 Oct 2017 05:28:54 -0400] rev 34356
Added signature for changeset 2f427b57bf90
Sun, 01 Oct 2017 05:28:49 -0400 Added tag 4.3.3 for changeset 2f427b57bf90 stable
Augie Fackler <raf@durin42.com> [Sun, 01 Oct 2017 05:28:49 -0400] rev 34355
Added tag 4.3.3 for changeset 2f427b57bf90
Mon, 18 Sep 2017 10:54:00 -0700 rebase: move bookmarks with --keep (issue5682) stable 4.3.3
Jun Wu <quark@fb.com> [Mon, 18 Sep 2017 10:54:00 -0700] rev 34354
rebase: move bookmarks with --keep (issue5682) This is a regression caused by 3b7cb3d17137. We have documented the behavior in rebase help: Rebase will destroy original commits unless you use "--keep". It will also move your bookmarks (even if you do). So let's restore the old behavior. It is done by changing `scmutil.cleanupnodes` to accept more information so a node could have different "movement destination" from "successors". It also helps simplifying the callsite as a side effect - the special bookmark movement logic in rebase is removed. Differential Revision: https://phab.mercurial-scm.org/D727
Wed, 20 Sep 2017 09:32:26 -0700 cleanupnodes: rename "mapping" to "replacements" stable
Martin von Zweigbergk <martinvonz@google.com> [Wed, 20 Sep 2017 09:32:26 -0700] rev 34353
cleanupnodes: rename "mapping" to "replacements" The next patch will pass in overrides for bookmark moves, which is a mapping itself, so let's rename "mapping" to "replacements" to distinguish them better. Differential Revision: https://phab.mercurial-scm.org/D749
Wed, 20 Sep 2017 09:10:43 -0700 cleanupnodes: separate out bookmark destination calculation from actual update stable
Martin von Zweigbergk <martinvonz@google.com> [Wed, 20 Sep 2017 09:10:43 -0700] rev 34352
cleanupnodes: separate out bookmark destination calculation from actual update We will soon want to pass in overrides for bookmark movements and this will make that patch simpler. I also think this makes the code easier to follow regardless of the later patch. Differential Revision: https://phab.mercurial-scm.org/D748
Wed, 20 Sep 2017 09:55:52 -0700 ui: check for progress singleton when clearing progress bar (issue5684) stable
Mark Thomas <mbthomas@fb.com> [Wed, 20 Sep 2017 09:55:52 -0700] rev 34351
ui: check for progress singleton when clearing progress bar (issue5684) A combination of wrapping `ui` and progress bars interrupted by exceptions can lead to the progress bar not being cleared when the exception error is printed. This results in corrupted-looking output like this: ``` updating [===============================> ] 1/2u nresolved conflicts (see hg resolve, then hg rebase --continue) ``` This is because in `ui._progclear`, we only check the local reference to the progress bar, not whether or not there is an instance of the singleton. When a progress bar is interrupted by an exception, the exception printing in `scmutil.callcatch` uses the original instance of the `ui` object, not the wrapped copy that has `_progbar` set. When consider whether or not to clear the progress bar, check for the existence of the singleton, rather than just whether or not we have a local reference to it. Differential Revision: https://phab.mercurial-scm.org/D743
Sat, 30 Sep 2017 18:19:14 +0530 py3: whitelist 15 more tests passing on Python 3
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 30 Sep 2017 18:19:14 +0530] rev 34350
py3: whitelist 15 more tests passing on Python 3 We have reached the count of 75 tests passing on Python 3. Differential Revision: https://phab.mercurial-scm.org/D858
Sat, 30 Sep 2017 15:48:08 +0530 py3: use pycompat.bytestr instead of str
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 30 Sep 2017 15:48:08 +0530] rev 34349
py3: use pycompat.bytestr instead of str Differential Revision: https://phab.mercurial-scm.org/D855
Sat, 30 Sep 2017 15:45:15 +0530 py3: explicitly convert dict.keys() and dict.items() into a list
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 30 Sep 2017 15:45:15 +0530] rev 34348
py3: explicitly convert dict.keys() and dict.items() into a list Differential Revision: https://phab.mercurial-scm.org/D853
Sat, 30 Sep 2017 18:02:53 +0530 py3: use '%d' instead of '%s' for integers
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 30 Sep 2017 18:02:53 +0530] rev 34347
py3: use '%d' instead of '%s' for integers Differential Revision: https://phab.mercurial-scm.org/D856
Sat, 30 Sep 2017 15:46:36 +0530 py3: use pycompat.strkwargs() before passing a dict as keyword argument
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 30 Sep 2017 15:46:36 +0530] rev 34346
py3: use pycompat.strkwargs() before passing a dict as keyword argument Differential Revision: https://phab.mercurial-scm.org/D854
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip