Martin von Zweigbergk <martinvonz@google.com> [Sun, 17 Jun 2018 22:57:34 -0700] rev 38380
copystore: use progress helper
Differential Revision: https://phab.mercurial-scm.org/D3781
Martin von Zweigbergk <martinvonz@google.com> [Sun, 17 Jun 2018 22:09:15 -0700] rev 38379
subrepo: use progress helper
Differential Revision: https://phab.mercurial-scm.org/D3780
Martin von Zweigbergk <martinvonz@google.com> [Sun, 17 Jun 2018 22:05:54 -0700] rev 38378
histedit: use progress helper
Differential Revision: https://phab.mercurial-scm.org/D3779
Martin von Zweigbergk <martinvonz@google.com> [Sun, 17 Jun 2018 22:01:59 -0700] rev 38377
rebase: use progress helper
Differential Revision: https://phab.mercurial-scm.org/D3778
Martin von Zweigbergk <martinvonz@google.com> [Sun, 17 Jun 2018 21:47:34 -0700] rev 38376
debugbuilddag: use context manager for progress, locks, transaction
I minor side-effect is that .hg/localtags is now written before the
transaction commits.
Differential Revision: https://phab.mercurial-scm.org/D3777
Martin von Zweigbergk <martinvonz@google.com> [Sun, 17 Jun 2018 21:44:57 -0700] rev 38375
debugbuilddag: use progress helper
Differential Revision: https://phab.mercurial-scm.org/D3776
Martin von Zweigbergk <martinvonz@google.com> [Sun, 17 Jun 2018 13:48:58 -0700] rev 38374
progress: make the progress helper a context manager
This lets us simplify the use site in streamclone.
Differential Revision: https://phab.mercurial-scm.org/D3775
Martin von Zweigbergk <martinvonz@google.com> [Sun, 17 Jun 2018 22:13:41 -0700] rev 38373
progress: hide update(None) in a new complete() method
update(None) seemed a bit cryptic.
Differential Revision: https://phab.mercurial-scm.org/D3774
Sushil khanchi <sushilkhanchi97@gmail.com> [Sat, 16 Jun 2018 08:22:10 +0530] rev 38372
rebase: add dry-run functionality
For now, it gives stats about rebase would be successful or hit a
conflict. Remaining work is to improve the output and adding verbose mode
where will show the diff of conflicting files if we hit any.
Differential Revision: https://phab.mercurial-scm.org/D3757
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 18 Jun 2018 16:07:46 +0530] rev 38371
py3: add `and None` to suppress return values of .write() calls
.write() calls don't return anything on Python2, so we need to make sure we
suppress that on py3 too.
This makes the test pass on Python 3.
Differential Revision: https://phab.mercurial-scm.org/D3793
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 18 Jun 2018 16:06:28 +0530] rev 38370
py3: slice over bytes to prevent getting ascii values
Differential Revision: https://phab.mercurial-scm.org/D3792
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 18 Jun 2018 16:06:01 +0530] rev 38369
py3: use pycompat.maplist() instead of map() in hgext/transplant.py
map() returns a map-object on Python3 instead of a list.
Differential Revision: https://phab.mercurial-scm.org/D3791
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 18 Jun 2018 15:50:15 +0530] rev 38368
py3: add 4 new passing tests to whitelist
Differential Revision: https://phab.mercurial-scm.org/D3790
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 18 Jun 2018 15:31:13 +0530] rev 38367
py3: make tests/test-impexp-branch.t compatible with Python 3
This patch adds some missig b'' prefixes and add suppress the output of write()
calls.
Differential Revision: https://phab.mercurial-scm.org/D3789
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 18 Jun 2018 15:28:18 +0530] rev 38366
py3: convert error instances to bytes using pycompat.bytestr()
Differential Revision: https://phab.mercurial-scm.org/D3788
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 18 Jun 2018 15:27:34 +0530] rev 38365
py3: encode sys.argv to bytes using .encode()
Differential Revision: https://phab.mercurial-scm.org/D3787
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 18 Jun 2018 15:25:57 +0530] rev 38364
py3: use '%d' for os.stat_result.st_nlink instead of '%s'
Differential Revision: https://phab.mercurial-scm.org/D3786
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 18 Jun 2018 15:24:17 +0530] rev 38363
py3: suppress the output of .write() calls in tests/test-revlog-v2.t
This makes the test pass on Python 3.
Differential Revision: https://phab.mercurial-scm.org/D3785
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 18 Jun 2018 15:23:25 +0530] rev 38362
py3: add couple of missing b'' prefixes in tests/test-pager-legacy.t
# skip-blame because just b'' prefixes
Differential Revision: https://phab.mercurial-scm.org/D3784
Martin von Zweigbergk <martinvonz@google.com> [Thu, 14 Jun 2018 15:17:47 -0700] rev 38361
import: use context manager for lock, dirstateguard, transaction
A tiny side-effect is that the transaction is now closed after saving
the commit message.
Differential Revision: https://phab.mercurial-scm.org/D3748
Augie Fackler <raf@durin42.com> [Sun, 17 Jun 2018 23:03:23 -0400] rev 38360
streamclone: update progress later to avoid passing None to util.bytecount
Differential Revision: https://phab.mercurial-scm.org/D3773
Augie Fackler <raf@durin42.com> [Sun, 17 Jun 2018 23:00:08 -0400] rev 38359
highlight: adjust to attribute being private
Differential Revision: https://phab.mercurial-scm.org/D3772
Yuya Nishihara <yuya@tcha.org> [Thu, 03 May 2018 12:04:36 +0900] rev 38358
annotate: automatically populate fields referenced from template
If '{line_number}' is in the template, we'll probably need it. No
--line-number option should be required in such cases.
Yuya Nishihara <yuya@tcha.org> [Thu, 03 May 2018 12:10:47 +0900] rev 38357
annotate: reverse mapping between option name and field name
This makes the next patch slightly simpler.
Yuya Nishihara <yuya@tcha.org> [Thu, 03 May 2018 11:56:49 +0900] rev 38356
formatter: provide hint of referenced field names
I don't like the function name, but I call it datahint() for consistency
with another function I'll add later, fm.contexthint().
Yuya Nishihara <yuya@tcha.org> [Thu, 03 May 2018 11:53:56 +0900] rev 38355
templater: add function to look up symbols used in template
Formatter can use this information to enable slow paths such as loading
ctx object only when necessary.
Yuya Nishihara <yuya@tcha.org> [Thu, 03 May 2018 11:17:52 +0900] rev 38354
templater: parse template string to tree by templater class
The parsed tree could be cached, but it isn't for now. We can add a cache
later if that matters.
Yuya Nishihara <yuya@tcha.org> [Thu, 03 May 2018 10:58:56 +0900] rev 38353
templater: drop extension point of engine classes (API)
I don't think this would ever be used by third-party extensions, as we've
heavily changed both the templater internals and the syntax since then.
The main reason of removing this API is that I want to move the parsing
function from the engine to the templater class so that we can peek keywords
and functions used in a user template. This change also removes reference
cycle between the templater and the engine.
Yuya Nishihara <yuya@tcha.org> [Thu, 03 May 2018 11:09:27 +0900] rev 38352
templater: make it clearer that parsing doesn't cause recursion
Only compileexp() may recurse into _load().
Yuya Nishihara <yuya@tcha.org> [Thu, 03 May 2018 10:53:29 +0900] rev 38351
templater: mark most attributes as private
Martin von Zweigbergk <martinvonz@google.com> [Sun, 17 Jun 2018 06:23:29 -0700] rev 38350
setdiscovery: use progress helper
Differential Revision: https://phab.mercurial-scm.org/D3770
Martin von Zweigbergk <martinvonz@google.com> [Sat, 16 Jun 2018 00:37:44 -0700] rev 38349
streamclone: use progress helper
Differential Revision: https://phab.mercurial-scm.org/D3769
Martin von Zweigbergk <martinvonz@google.com> [Sat, 16 Jun 2018 00:25:13 -0700] rev 38348
similar: use progress helper
Note that a functional change here is that we now show the progress
position *before* we start working on the item. This is consistent
with how we do it elsewhere.
Differential Revision: https://phab.mercurial-scm.org/D3768
Martin von Zweigbergk <martinvonz@google.com> [Sat, 16 Jun 2018 00:03:23 -0700] rev 38347
remove: use progress helper
Differential Revision: https://phab.mercurial-scm.org/D3767
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Jun 2018 23:04:44 -0700] rev 38346
changegroup: use progress helper in apply() (API)
Differential Revision: https://phab.mercurial-scm.org/D3766
Martin von Zweigbergk <martinvonz@google.com> [Fri, 15 Jun 2018 22:37:01 -0700] rev 38345
progress: create helper class for incrementing progress
When using ui.progress(), there's a clear pattern that is followed:
* Pass the same topic and unit
* Usually pass the same total
* Call with pos=None to close the progress bar
* Often keep track of the current position and increment it
This patch creates a simple helper class for this. I'll probably make
it implement the context manager protocol later (calling update(None)
on __exit__).
Progress is used in low-level modules like changegroup, so I also
exposed it via a method on the ui object. Perhaps the class itself
should also live in ui.py?
This patch also makes merge.oy use it to show that it works.
Differential Revision: https://phab.mercurial-scm.org/D3765
Yuya Nishihara <yuya@tcha.org> [Sun, 17 Jun 2018 18:01:49 +0900] rev 38344
extensions: use context manger for open()
Yuya Nishihara <yuya@tcha.org> [Sun, 17 Jun 2018 17:59:12 +0900] rev 38343
py3: open extension source in binary mode to read docstring as bytes
Sangeet Kumar Mishra <mail2sangeetmishra@gmail.com> [Wed, 13 Jun 2018 16:22:54 +0530] rev 38342
grep: adds allfiles mode
Adds an allfiles flag that lets you grep on all files in the revision
and not just the one that were modified in that changeset.
This would work on a single revision and get all the files that were
there in that revision. So it's like grepping on a previous state.
Using this with wdir() :: `hg grep -r "wdir()" --allfiles` is what the
default behavior is desired for grep.
Support for multiple revisions to be added later.
Differential Revision: https://phab.mercurial-scm.org/D3728
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 13 Jun 2018 22:50:32 +0530] rev 38341
morestatus: remove some extra spaces
The information about unfinished states in `hg status -v` had a lot of spaces
which are not required and feels weird. Let's limit the spacing to four spaces.
Differential Revision: https://phab.mercurial-scm.org/D3730
John Stiles <johnstiles@gmail.com> [Fri, 15 Jun 2018 16:32:31 -0700] rev 38340
graph: improve graph output by using Unicode characters
This extension beautifies log -G output by using Unicode characters.
A terminal with UTF-8 support and a monospace Unicode font are required.
Differential Revision: https://phab.mercurial-scm.org/D3665
Augie Fackler <augie@google.com> [Sat, 16 Jun 2018 17:07:47 -0400] rev 38339
py3: whitelist another 5 passing tests thanks to the ratchet
Differential Revision: https://phab.mercurial-scm.org/D3762
Boris Feld <boris.feld@octobus.net> [Mon, 28 May 2018 16:55:11 +0200] rev 38338
shelve: wider check for successful abort in test
The test was previously focusing on checking that the "sub-rebase" aborted
properly. Since rebase is an implementation details we should also check for
other messages.
Differential Revision: https://phab.mercurial-scm.org/D3686
Boris Feld <boris.feld@octobus.net> [Tue, 29 May 2018 18:01:35 +0200] rev 38337
shelve: use full hash in tests
Using revision number is fragile. Moving to full hash to help with further development.
Differential Revision: https://phab.mercurial-scm.org/D3685
Matt Harbison <matt_harbison@yahoo.com> [Thu, 14 Jun 2018 12:35:04 -0400] rev 38336
phabricator: preserve the phase when amending in the Differential fields
I have no idea if it's better to change scmutil.cleanupnodes() so that it has
the option to either apply a specific phase (e.g. for various --secret switches)
or carry over the phase of the old node. The benefit would be that the caller
doesn't have to remember to do this. The con is maybe inefficiency? I wrote
this up as
issue5918. I'm leaving that open since Yuya flagged it as an API
bug.
Since most other callers already do this, it's the simplest fix. (It's not
obvious that `split`, `fix` and `rebase` are doing this, but there is test
coverage for `fix` and `rebase`, and experimenting with `split` shows it does
the right thing.)
Yuya Nishihara <yuya@tcha.org> [Fri, 15 Jun 2018 22:16:58 +0900] rev 38335
manifest: fix possible SEGV caused by uninitialized lazymanifest fields
Before, uninitialized self->pydata would be passed to lazymanifest_dealloc()
on OOM, and Py_DECREF(self->pydata) would crash if we were unlucky.
It's still wrong to do malloc() thingy in tp_init because __init__() may be
called more than once [1], but I don't want to go a step further in stable
branch.
[1]: https://docs.python.org/2/c-api/typeobj.html#c.PyTypeObject.tp_new
"The tp_new function should ... do only as much further initialization as
is absolutely necessary. Initialization that can safely be ignored or
repeated should be placed in the tp_init handler."
Augie Fackler <augie@google.com> [Fri, 15 Jun 2018 10:14:32 -0400] rev 38334
tests: replace `echo -n` with `printf` per check-code
Differential Revision: https://phab.mercurial-scm.org/D3749
Jun Wu <quark@fb.com> [Thu, 14 Jun 2018 14:04:26 -0700] rev 38333
crecord: fix line number in hunk header (
issue5917)
`@@ -1,1 +-1,0 @@` is not a valid patch hunk header.
Change it to `@@ -1,1 +0,0 @@`.
Differential Revision: https://phab.mercurial-scm.org/D3737