Sat, 08 Jul 2017 20:38:34 -0700 rebase: remove revprecursor and revpruned states (BC)
Jun Wu <quark@fb.com> [Sat, 08 Jul 2017 20:38:34 -0700] rev 33864
rebase: remove revprecursor and revpruned states (BC) Those states are no longer necessary for rebase to function properly. Remove them to make the code cleaner. Marked as BC because in a corner case where working parent is obsoleted, and is skipped for rebase, we no longer move working parent after rebase completes. That is better since if working parent is obsoleted, it should be the user moving working parent back there (after a rebase) explicitly, in that case, we shouldn't move working parent again. Differential Revision: https://phab.mercurial-scm.org/D24
Sat, 08 Jul 2017 20:14:33 -0700 rebase: move obsoleted not rebased messages earlier (BC)
Jun Wu <quark@fb.com> [Sat, 08 Jul 2017 20:14:33 -0700] rev 33863
rebase: move obsoleted not rebased messages earlier (BC) A later patch will clean up those states. This patch moves the messages earlier. Marked as BC since the order of message has changed. Differential Revision: https://phab.mercurial-scm.org/D23
Sat, 08 Jul 2017 20:05:52 -0700 rebase: extract ctx description logic to a function
Jun Wu <quark@fb.com> [Sat, 08 Jul 2017 20:05:52 -0700] rev 33862
rebase: extract ctx description logic to a function The function will be used in a later patch. Differential Revision: https://phab.mercurial-scm.org/D22
Thu, 27 Jul 2017 00:00:15 -0400 python3: whitelist another *13* tests that now pass
Augie Fackler <augie@google.com> [Thu, 27 Jul 2017 00:00:15 -0400] rev 33861
python3: whitelist another *13* tests that now pass Differential Revision: https://phab.mercurial-scm.org/D302
Mon, 24 Jul 2017 14:38:40 -0400 py3: introduce a wrapper for __builtins__.{raw_,}input()
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 14:38:40 -0400] rev 33860
py3: introduce a wrapper for __builtins__.{raw_,}input() In order to make this work, we have to wrap the io streams in a TextIOWrapper so that __builtins__.input() can do unicode IO on Python 3. We can't just restore the original (unicode) sys.std* because we might be running a cmdserver, and if we blindly restore sys.* to the original values then we end up breaking the cmdserver. Sadly, TextIOWrapper tries to close the underlying stream during its __del__, so we have to make a sublcass to prevent that. If you see errors like: TypeError: a bytes-like object is required, not 'str' On an input() or print() call on Python 3, the substitution of sys.std* is probably the root cause. A previous version of this change tried to put the bytesinput() method in pycompat - it turns out we need to do some encoding handling, so we have to be in a higher layer that's allowed to use mercurial.encoding.encoding. As a result, this is in util for now, with the TextIOWrapper subclass hiding in encoding.py. I'm not sure of a better place for the time being. Differential Revision: https://phab.mercurial-scm.org/D299
Wed, 26 Jul 2017 23:33:26 -0400 python3: whitelist four more passing tests
Augie Fackler <augie@google.com> [Wed, 26 Jul 2017 23:33:26 -0400] rev 33859
python3: whitelist four more passing tests Differential Revision: https://phab.mercurial-scm.org/D298
Fri, 11 Aug 2017 15:09:54 -0400 extensions: don't give AttributeError bytes message on Python 3
Augie Fackler <augie@google.com> [Fri, 11 Aug 2017 15:09:54 -0400] rev 33858
extensions: don't give AttributeError bytes message on Python 3 Differential Revision: https://phab.mercurial-scm.org/D353
Tue, 25 Jul 2017 22:49:43 -0400 extensions: if on py3 and propname is a bytestr, convert to sysstr
Augie Fackler <augie@google.com> [Tue, 25 Jul 2017 22:49:43 -0400] rev 33857
extensions: if on py3 and propname is a bytestr, convert to sysstr Property names are unicodes on Python 3. Differential Revision: https://phab.mercurial-scm.org/D296
Sat, 12 Aug 2017 04:47:40 +0530 pushvars: add a coreconfigitem for push.pushvars.server
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 12 Aug 2017 04:47:40 +0530] rev 33856
pushvars: add a coreconfigitem for push.pushvars.server Differential Revision: https://phab.mercurial-scm.org/D359
Tue, 18 Jul 2017 02:05:19 -0700 phabricator: add phabupdate command to update status in batch
Jun Wu <quark@fb.com> [Tue, 18 Jul 2017 02:05:19 -0700] rev 33855
phabricator: add phabupdate command to update status in batch Changing status (accept, etc) on the webpage is not very convenient - currently there is no way to accept (or abandon etc.) a stack using a single click or command. This patch adds a `phabupdate` command that could be used to change status in batch. It also supports `--comment` which will write a comment on the last revision, which is similar to what we do using emails. Differential Revision: https://phab.mercurial-scm.org/D127
Tue, 18 Jul 2017 01:34:55 -0700 phabricator: add status to revision query language
Jun Wu <quark@fb.com> [Tue, 18 Jul 2017 01:34:55 -0700] rev 33854
phabricator: add status to revision query language This patch adds status words (ex. `abandoned`, `accepted`, `needsreview`, `needsrevision`, `closed`) to the revision query language so people can select revision in a more flexible way. Test Plan: Try something like `phabread ':2 & accepted'`, `phabread ':105 - closed` and make sure they have desired outputs. Differential Revision: https://phab.mercurial-scm.org/D126
Mon, 17 Jul 2017 23:19:11 -0700 phabricator: add a small language to query Differential Revisions
Jun Wu <quark@fb.com> [Mon, 17 Jul 2017 23:19:11 -0700] rev 33853
phabricator: add a small language to query Differential Revisions Previously, `phabread` can only be used to read a single patch, or a single stack of patches. In the future, we want to have more complex queries like filtering with status (open, accepted, closed, etc), or maybe more complex like filtering by reviewers etc. The command line flag approach won't scale with that. Besides, we might want to have other commands to update Differential Revision status in batch, like accepting a stack using a single command. Therefore, this patch adds a small language. It has basic set operations: `&`, `+`, `-` and an ancestor operator to support `--stack`. Test Plan: Try querying this Phabricator instance: hg phabread 1+2 # 1, 2 hg phabread D2+D1 # 2, 1 hg phabread ':118-115+:2-1' # 114, 116, 117, 118, 2 hg phabread '((:118-(D115+117)))&:117' # 114, 116 hg phabread ':2&:117' --debug # differential.query is called only once Make sure the output is expected and prefetch works. Differential Revision: https://phab.mercurial-scm.org/D125
Mon, 17 Jul 2017 23:14:06 -0700 phabricator: change "readpatch" to be more flexible
Jun Wu <quark@fb.com> [Mon, 17 Jul 2017 23:14:06 -0700] rev 33852
phabricator: change "readpatch" to be more flexible Previously, `readpatch` and `querydrev` take a same `params` and `stack` parameters. This patch changes `readpatch` so it takes the output of `querydrev`, not the input of `querydrev`. This makes the code more flexible and cleaner. Differential Revision: https://phab.mercurial-scm.org/D124
Sun, 13 Aug 2017 22:46:16 -0700 filemerge: extract `_picklabels` as a helper function
Phil Cohen <phillco@fb.com> [Sun, 13 Aug 2017 22:46:16 -0700] rev 33851
filemerge: extract `_picklabels` as a helper function This shortens `simplemerge()` and is a bit cleaner, IMO. Differential Revision: https://phab.mercurial-scm.org/D376
Sun, 13 Aug 2017 22:46:03 -0700 simplemerge: write merge result to the localctx, if passed
Phil Cohen <phillco@fb.com> [Sun, 13 Aug 2017 22:46:03 -0700] rev 33850
simplemerge: write merge result to the localctx, if passed Differential Revision: https://phab.mercurial-scm.org/D375
Sun, 13 Aug 2017 20:06:52 -0700 simplemerge: use contexts to read file data from, if passed
Phil Cohen <phillco@fb.com> [Sun, 13 Aug 2017 20:06:52 -0700] rev 33849
simplemerge: use contexts to read file data from, if passed Differential Revision: https://phab.mercurial-scm.org/D374
Sun, 13 Aug 2017 20:06:52 -0700 filemerge: pass contexts to simplemerge
Phil Cohen <phillco@fb.com> [Sun, 13 Aug 2017 20:06:52 -0700] rev 33848
filemerge: pass contexts to simplemerge Otherwise, this should be a no-op. Differential Revision: https://phab.mercurial-scm.org/D373
Sun, 13 Aug 2017 20:06:52 -0700 simplemerge: add optional context parameters to simplemerge
Phil Cohen <phillco@fb.com> [Sun, 13 Aug 2017 20:06:52 -0700] rev 33847
simplemerge: add optional context parameters to simplemerge Rename the existing parameters for clarity. These will, in subsequent patches, allow callers to redirect reads (of the three sides of the merge) and writes (of the result) to the given contexts, instead of using the filesystem. While in most cases, the writes will go to a workingfilectx, this opens the door for it to be a memfilectx in the case of an in-memory merge. Repo will be necessary in a subsequent comit. Differential Revision: https://phab.mercurial-scm.org/D372
Sun, 13 Aug 2017 20:06:52 -0700 simplemerge: extract verifytext as a helper function
Phil Cohen <phillco@fb.com> [Sun, 13 Aug 2017 20:06:52 -0700] rev 33846
simplemerge: extract verifytext as a helper function This will be used in a subsequent commit. Differential Revision: https://phab.mercurial-scm.org/D371
Mon, 14 Aug 2017 23:26:54 -0700 commit: use context manager with dirstateguard
Martin von Zweigbergk <martinvonz@google.com> [Mon, 14 Aug 2017 23:26:54 -0700] rev 33845
commit: use context manager with dirstateguard When I wrote 5ac845ca059a (commit: don't let failed commit with --addremove update dirstate (issue5645), 2017-07-31), Durham's 609606d21765 (rebase: use one dirstateguard for when using rebase.singletransaction, 2017-07-20) had not yet landed, so I had to write it in the old-fashioned way. Now that Durham's patch is in, we can simplify by using a context manager. Differential Revision: https://phab.mercurial-scm.org/D406
Mon, 14 Aug 2017 23:26:51 -0700 commit: move dirstateguard creation out of try-block
Martin von Zweigbergk <martinvonz@google.com> [Mon, 14 Aug 2017 23:26:51 -0700] rev 33844
commit: move dirstateguard creation out of try-block This is just a simple refactoring to make the next patch simpler. If the dirstateguard constructor raises an exception, the finally-block won't do anything anyway, so this is functionally equivalent (and there is no except-block). Differential Revision: https://phab.mercurial-scm.org/D405
Wed, 16 Aug 2017 00:25:20 +0530 copies: add more details to the documentation of mergecopies()
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 16 Aug 2017 00:25:20 +0530] rev 33843
copies: add more details to the documentation of mergecopies() This documentation is very helpful for any developer to understand what copytracing is and what the function does. Since this is the main function of doing copytracing, I have also included bits about copytracing in it. This additions are picked from a doc by Stash@Fb. So thanks to him. Differential Revision: https://phab.mercurial-scm.org/D409
Wed, 26 Jul 2017 17:58:19 -0400 httppeer: add support for httppostargs when we're sending a file
Augie Fackler <augie@google.com> [Wed, 26 Jul 2017 17:58:19 -0400] rev 33842
httppeer: add support for httppostargs when we're sending a file This is probably only used in the 'unbundle' command, but the code ended up being cleaner to make it generic and treat *all* httppostargs with a non-args request body as though they were file-like in nature. It also means we get test coverage more or less for free. A previous version of this change didn't use io.BytesIO, and it was a lot more complicated. This also fixes a server-side bug, so anyone using httppostargs should update all of their servers to this revision or later *before* this gets to their clients, otherwise servers will hang trying to over-read the POST body. Differential Revision: https://phab.mercurial-scm.org/D231
Tue, 15 Aug 2017 21:09:33 +0900 i18n: get translation entries for description of each compression engines
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Aug 2017 21:09:33 +0900] rev 33841
i18n: get translation entries for description of each compression engines Now, hggettext can be applied safely on util.py, of which i18nfunctions contains appropriate objects related to each compression types.
Tue, 15 Aug 2017 21:06:26 +0900 i18n: ignore docstring for modules under mercurial
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Aug 2017 21:06:26 +0900] rev 33840
i18n: ignore docstring for modules under mercurial Docstring of modules is needed only for "hg help -e EXTNAME". This is a preparation for applying hggettext on util.py, which has module docstring, but it isn't needed for translation.
Tue, 15 Aug 2017 19:27:24 +0900 i18n: use saved object to get actual function information if available
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Tue, 15 Aug 2017 19:27:24 +0900] rev 33839
i18n: use saved object to get actual function information if available To list up available compression types instead of ".. bundlecompressionmarker" in "hg help bundlespec" output, proxy object "docobject" is used, because: - current online help system requires that __doc__ of registered object (maybe, function) is already well formatted in reST syntax - bundletype() method of compressionengine classes is used to list up available compression types, but - __doc__ of bundletype() object (= "instancemethod") is read-only On the other hand, hggettext requires original function object, in order to get document location in source code. Therefore, description of each compression types isn't yet translatable. Even if translatable, translators should make much effort to determine location of original texts in source code. To get actual function information, this patch makes hggettext use function object saved as "_origfunc", if it is available. This patch also changes bundlecompressiontopics() side, in order to explain how these changes work easily. This patch is a part of preparations for making description of each compression types translatable.
Sun, 13 Aug 2017 15:20:16 +0900 i18n: ignore doctest part to avoid warning at "make update-pot"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 13 Aug 2017 15:20:16 +0900] rev 33838
i18n: ignore doctest part to avoid warning at "make update-pot" hggettext assumes that backslashes in docstring are always doubled in original source code, in order to find the location of original docstring out certainly. This assumption almost always works as expected. But doctest easily breaks it, because many of backslashes in doctests aren't doubled. This mismatching causes "unknown offset in ..." warning at "make update-pot". To avoid such warning, this patch ignores doctest part of docstring before finding the location of original docstring out. BTW, at this patch, only person() in templatefilters.py has doctest part, which causes "unknown offset ..." warning. Therefore, just making backslashes in that doctest doubled can avoid such warning, too. But forcing doctest writers to double backslashes in doctest isn't reasonable, IMHO.
Wed, 02 Aug 2017 01:15:07 +0900 largefiles: fix help text to avoid warning at "make update-pot"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Wed, 02 Aug 2017 01:15:07 +0900] rev 33837
largefiles: fix help text to avoid warning at "make update-pot" This change helps hggettext to find out help text in original source, because it assumes that backslash ('\') is doubled in docstring.
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -28 +28 +50 +100 +300 +1000 +3000 +10000 tip