Fri, 30 Jun 2017 03:43:22 +0200 configitems: register the 'notify.fromauthor' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:22 +0200] rev 33767
configitems: register the 'notify.fromauthor' config
Fri, 30 Jun 2017 03:43:20 +0200 configitems: register the 'notify.domain' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:20 +0200] rev 33766
configitems: register the 'notify.domain' config
Fri, 30 Jun 2017 03:43:19 +0200 configitems: register the 'notify.diffstat' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:19 +0200] rev 33765
configitems: register the 'notify.diffstat' config
Fri, 30 Jun 2017 03:43:18 +0200 configitems: register the 'notify.config' config
Boris Feld <boris.feld@octobus.net> [Fri, 30 Jun 2017 03:43:18 +0200] rev 33764
configitems: register the 'notify.config' config
Thu, 10 Aug 2017 18:55:33 -0400 merge with stable
Augie Fackler <augie@google.com> [Thu, 10 Aug 2017 18:55:33 -0400] rev 33763
merge with stable
Thu, 10 Aug 2017 14:23:41 -0400 merge with stable
Augie Fackler <augie@google.com> [Thu, 10 Aug 2017 14:23:41 -0400] rev 33762
merge with stable
Wed, 02 Aug 2017 19:49:57 +0200 obsutil: rename allprecursors into allpredecessors
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 19:49:57 +0200] rev 33761
obsutil: rename allprecursors into allpredecessors Use util.nouideprecwarn because obsstore doesn't have easy access to an ui object. The renaming is done according to https://www.mercurial-scm.org/wiki/CEDVocabulary. Differential Revision: https://phab.mercurial-scm.org/D247
Wed, 02 Aug 2017 19:48:06 +0200 obsolete: rename precursor into predecessor in obsolete docstrings
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 19:48:06 +0200] rev 33760
obsolete: rename precursor into predecessor in obsolete docstrings The renaming is done according to https://www.mercurial-scm.org/wiki/CEDVocabulary. Differential Revision: https://phab.mercurial-scm.org/D246
Wed, 02 Aug 2017 19:39:08 +0200 obsstore: rename precursors into predecessors
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 19:39:08 +0200] rev 33759
obsstore: rename precursors into predecessors Use util.nouideprecwarn because obsstore doesn't have easy access to an ui object. The renaming is done according to https://www.mercurial-scm.org/wiki/CEDVocabulary. Differential Revision: https://phab.mercurial-scm.org/D245
Wed, 02 Aug 2017 19:34:15 +0200 obsolete: rename _addprecursors into _addpredecessors
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 19:34:15 +0200] rev 33758
obsolete: rename _addprecursors into _addpredecessors Use util.nouideprecwarn because _addpredecessors doesn't have easy access to an ui object. The renaming is done according to https://www.mercurial-scm.org/wiki/CEDVocabulary. Differential Revision: https://phab.mercurial-scm.org/D244
Wed, 02 Aug 2017 19:20:59 +0200 obsmarker: rename precnode into prednode
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 19:20:59 +0200] rev 33757
obsmarker: rename precnode into prednode Rename prednode (predecessors node) into precnode (precursors node) in markers class. Use util.nouideprecwarn because markers doesn't have easy access to an ui object. The renaming is done according to https://www.mercurial-scm.org/wiki/CEDVocabulary. Differential Revision: https://phab.mercurial-scm.org/D243
Wed, 02 Aug 2017 19:13:56 +0200 context: rename troubled into isunstable
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 19:13:56 +0200] rev 33756
context: rename troubled into isunstable As we changed the meaning of unstable between the old vocabulary and the new one, we can't reuse the unstable method name at the risk of breaking extensions calling unstable and getting a wrong result. Instead rename troubled into isunstable so extensions will continue to work. The renaming is done according to https://www.mercurial-scm.org/wiki/CEDVocabulary. Differential Revision: https://phab.mercurial-scm.org/D242
Wed, 02 Aug 2017 19:09:00 +0200 context: rename bumped into phasedivergent
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 19:09:00 +0200] rev 33755
context: rename bumped into phasedivergent Rename bumped context method into phasedivergent and add a deprecation warning on bumped. Only update all callers to keep the patch straightforward. The renaming is done according to https://www.mercurial-scm.org/wiki/CEDVocabulary. Differential Revision: https://phab.mercurial-scm.org/D241
Wed, 02 Aug 2017 19:02:48 +0200 context: rename divergent into contentdivergent
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 19:02:48 +0200] rev 33754
context: rename divergent into contentdivergent Rename divergent context method into contentdivergent and add a deprecation warning on divergent. Only update all callers to keep the patch straightforward. The renaming is done according to https://www.mercurial-scm.org/wiki/CEDVocabulary. Differential Revision: https://phab.mercurial-scm.org/D240
Wed, 02 Aug 2017 18:50:32 +0200 context: rename unstable into orphan
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 18:50:32 +0200] rev 33753
context: rename unstable into orphan Rename unstable context method into orphan and add a deprecation warning on unstable. Only update all callers to keep the patch straightforward. The renaming is done according to https://www.mercurial-scm.org/wiki/CEDVocabulary. Differential Revision: https://phab.mercurial-scm.org/D239
Wed, 02 Aug 2017 18:34:39 +0200 context: rename troubles into instabilities
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 18:34:39 +0200] rev 33752
context: rename troubles into instabilities Rename troubles context method into instabilities. Copy the old troubles method and add a deprecation warning. This way extensions calling troubles will see the deprecation warning but will not break due to new return values. The renaming is done according to https://www.mercurial-scm.org/wiki/CEDVocabulary. Differential Revision: https://phab.mercurial-scm.org/D238
Tue, 08 Aug 2017 17:25:38 -0700 repair: move manifest strip to a separate function
Durham Goode <durham@fb.com> [Tue, 08 Aug 2017 17:25:38 -0700] rev 33751
repair: move manifest strip to a separate function This moves manifest stripping to a separate function so implementations of the manifest that don't support stripping can replace this function with a no-op. I considered adding a strip api to the manifestlog, so other implementations could make it a no-op there, but it seems like strip might be unique to the revlog implementation, and therefore shouldn't be present on the generic api. Differential Revision: https://phab.mercurial-scm.org/D292
Tue, 08 Aug 2017 17:25:38 -0700 repair: refactor broken linkrev collection
Durham Goode <durham@fb.com> [Tue, 08 Aug 2017 17:25:38 -0700] rev 33750
repair: refactor broken linkrev collection This refactors broken linkrev collection such that manifest collection is in a separate function. This allows extensions to replace the manifest collection with a non-revlog oriented version. I considered moving the collect changes function onto the manifestlog itself, so it would be behind the abstraction, but since the store we're building doesn't even have the concept of strip, embeding that concept in the manifestlog api seemed odd. Differential Revision: https://phab.mercurial-scm.org/D291
Tue, 25 Jul 2017 22:53:44 -0400 tests: update duplicateoptions test to use bytestrings everywhere
Augie Fackler <augie@google.com> [Tue, 25 Jul 2017 22:53:44 -0400] rev 33749
tests: update duplicateoptions test to use bytestrings everywhere Test now passes on Python 3. Differential Revision: https://phab.mercurial-scm.org/D297
Tue, 25 Jul 2017 22:48:46 -0400 extensions: attempt to use non-deprecated inspect method
Augie Fackler <augie@google.com> [Tue, 25 Jul 2017 22:48:46 -0400] rev 33748
extensions: attempt to use non-deprecated inspect method Avoids some deprecation warnings when extension loading breaks. Differential Revision: https://phab.mercurial-scm.org/D295
Thu, 15 Jun 2017 14:22:25 -0400 tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com> [Thu, 15 Jun 2017 14:22:25 -0400] rev 33747
tests: clean up many print statements to be print functions instead Differential Revision: https://phab.mercurial-scm.org/D294
Thu, 15 Jun 2017 13:32:32 -0400 tests: fix simple heredoc print statements to work on Py3
Augie Fackler <augie@google.com> [Thu, 15 Jun 2017 13:32:32 -0400] rev 33746
tests: fix simple heredoc print statements to work on Py3 There are a handful left that require some more care. Differential Revision: https://phab.mercurial-scm.org/D293
Mon, 24 Jul 2017 10:37:39 -0400 obsolete: use bytes() instead of str() so the node is bytes on py3
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 10:37:39 -0400] rev 33745
obsolete: use bytes() instead of str() so the node is bytes on py3 I'm not sure this is right, since this should either be bytes or str to match what's going on in the revlog layer. Differential Revision: https://phab.mercurial-scm.org/D271
Mon, 24 Jul 2017 23:56:17 -0400 tests: fix test-notify.t to use $PYTHON
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 23:56:17 -0400] rev 33744
tests: fix test-notify.t to use $PYTHON In doing so, I consolidated the filtering logic. This resulted in some small test output changes, but I think the consistency throughout the test is worth it. Differential Revision: https://phab.mercurial-scm.org/D279
Tue, 25 Jul 2017 00:00:14 -0400 tests: make test-highlight code portable to python3
Augie Fackler <augie@google.com> [Tue, 25 Jul 2017 00:00:14 -0400] rev 33743
tests: make test-highlight code portable to python3 This is easier than trying to do some sort of check-code shenanigans. Differential Revision: https://phab.mercurial-scm.org/D278
Thu, 15 Jun 2017 13:32:02 -0400 dagparser: make print statement in doctest Py3 portable
Augie Fackler <augie@google.com> [Thu, 15 Jun 2017 13:32:02 -0400] rev 33742
dagparser: make print statement in doctest Py3 portable Differential Revision: https://phab.mercurial-scm.org/D277
Thu, 15 Jun 2017 13:31:33 -0400 i18n: fix check-translation.py to be less broken on Python 3
Augie Fackler <augie@google.com> [Thu, 15 Jun 2017 13:31:33 -0400] rev 33741
i18n: fix check-translation.py to be less broken on Python 3 These are all simple one-argument print statements, so this syntax works the same way in 2 and 3. Differential Revision: https://phab.mercurial-scm.org/D276
Mon, 24 Jul 2017 13:48:32 -0400 ui: refactor extractchoices so it doesn't break on Python 3
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 13:48:32 -0400] rev 33740
ui: refactor extractchoices so it doesn't break on Python 3 Differential Revision: https://phab.mercurial-scm.org/D275
Mon, 24 Jul 2017 11:29:51 -0400 obsutil: defend against succsmarkers() returning None
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 11:29:51 -0400] rev 33739
obsutil: defend against succsmarkers() returning None I'm not sure if this is a realistic problem, but doing this avoids some pretty awful test failures on Python 3, and it looks like it should be harmless. Differential Revision: https://phab.mercurial-scm.org/D274
Mon, 24 Jul 2017 11:28:59 -0400 changegroup: more **kwargs
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 11:28:59 -0400] rev 33738
changegroup: more **kwargs Differential Revision: https://phab.mercurial-scm.org/D273
Mon, 24 Jul 2017 11:16:32 -0400 bundle2: convert ints to strings using pycompat.bytestring()
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 11:16:32 -0400] rev 33737
bundle2: convert ints to strings using pycompat.bytestring() Fixes some Python 3 regressions. We don't use %d here because the part id is actually an Optional[int]. It should always be initialized to a non-None value by the time this code executes, but we shouldn't blindly depend on that being the case. Differential Revision: https://phab.mercurial-scm.org/D272
Tue, 08 Aug 2017 15:07:05 -0400 tests: fix up test-run-tests failures on Python 3.6
Augie Fackler <augie@google.com> [Tue, 08 Aug 2017 15:07:05 -0400] rev 33736
tests: fix up test-run-tests failures on Python 3.6 Some of the recent work on run-tests.py didn't work on Python 3. This fixes the regressions. Differential Revision: https://phab.mercurial-scm.org/D270
Wed, 02 Aug 2017 11:32:25 +0200 template: rename troubles templatekw into instabilities
Boris Feld <boris.feld@octobus.net> [Wed, 02 Aug 2017 11:32:25 +0200] rev 33735
template: rename troubles templatekw into instabilities Rename troubles template keyword into instabilities and add a deprecation warning on templatekw. Update default mapfile and test files to use the new template keyword. The renaming is done according to https://www.mercurial-scm.org/wiki/CEDVocabulary. Differential Revision: https://phab.mercurial-scm.org/D237
Sun, 06 Aug 2017 11:40:53 -0700 test-rebase: add a brute force test
Jun Wu <quark@fb.com> [Sun, 06 Aug 2017 11:40:53 -0700] rev 33734
test-rebase: add a brute force test Rebase is becoming more complex and it looks like a good idea to try some brute force enumeration to cover cases that are hard to find manually. Using brute force to generate repos in different shapes and enumerating the rebase source and destination would generate too many cases that takes too long to compute. This patch limits the "brute force" to only the "rebase source" part. Repo and destination are still manual. The added test cases are crafted manually to reveal some behaviors that are not covered by other tests: - "revlog index out of range" crash - after rebase, p1 == p2, p2 != null - "nothing to merge" abort In the future we might want to add more tests here. For now I'm more interested in revealing interesting behaviors in a minified way. I tried some more complex cases but didn't find other interesting behaviors. Differential Revision: https://phab.mercurial-scm.org/D262
Tue, 08 Aug 2017 18:53:13 +0000 dirstate: simplify dirstate's __iter__
Alex Gaynor <agaynor@mozilla.com> [Tue, 08 Aug 2017 18:53:13 +0000] rev 33733
dirstate: simplify dirstate's __iter__ Probably also a performance win, but not measurable in perfdirstate. Differential Revision: https://phab.mercurial-scm.org/D269
Wed, 19 Jul 2017 13:34:06 -0700 repo: skip invalidation of changelog if it has 'delayed' changes (API)
Martin von Zweigbergk <martinvonz@google.com> [Wed, 19 Jul 2017 13:34:06 -0700] rev 33732
repo: skip invalidation of changelog if it has 'delayed' changes (API) The changelog object can store recently added revisions in memory until the transaction is committed. We don't want to lose those changes even if repo.invalidate(clearfilecache=True), so let's skip the changelog when it has such 'delayed' changes. Differential Revision: https://phab.mercurial-scm.org/D152
Sun, 06 Aug 2017 17:47:41 -0700 httppeer: make several instance attributes internal (API)
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 06 Aug 2017 17:47:41 -0700] rev 33731
httppeer: make several instance attributes internal (API) Peer instances are supposed to conform to a well-defined API so consumers can be agnostic about the underlying peer type. To reinforce this, this commit renames a handful of instance attributes on httpeer so they no longer have a "public" name. Differential Revision: https://phab.mercurial-scm.org/D268
Sun, 06 Aug 2017 10:56:25 -0700 httppeer: remove unused handler attribute
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 06 Aug 2017 10:56:25 -0700] rev 33730
httppeer: remove unused handler attribute The consumer of this attribute was removed by b6bd4ee6ed85 in 2008. Differential Revision: https://phab.mercurial-scm.org/D267
Mon, 07 Aug 2017 20:17:02 -0700 localrepo: remove unused requirements attributes on localpeer (API)
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 07 Aug 2017 20:17:02 -0700] rev 33729
localrepo: remove unused requirements attributes on localpeer (API) The previous changeset removed the last consumer of requirements. I'm not sure when supportedformats became unused. But I couldn't find any obvious instances where it is being used. It likely stems from peers being derived from repository instances several years ago and is a holdover from that day. Differential Revision: https://phab.mercurial-scm.org/D266
Sat, 05 Aug 2017 15:15:20 -0700 exchange: access requirements on repo instead of peer
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 05 Aug 2017 15:15:20 -0700] rev 33728
exchange: access requirements on repo instead of peer As part of formalizing the peer interface, I audited for attribute accesses for non-internal names to find API violations. This uncovered the code changed in this commit. localpeer.requirements is just an alias to the repo's requirements attribute. So, change the code to get the data from the source instead of relying on a one-off attribute in the localpeer type. Differential Revision: https://phab.mercurial-scm.org/D265
Sun, 06 Aug 2017 17:44:56 -0700 exchange: drop support for lock-based unbundling (BC)
Gregory Szorc <gregory.szorc@gmail.com> [Sun, 06 Aug 2017 17:44:56 -0700] rev 33727
exchange: drop support for lock-based unbundling (BC) Locking over the wire protocol and the "addchangegroup" wire protocol command has been deprecated since e8c4f3d3df8c, which was first part of Mercurial 0.9.1. Support for handling these commands from sshserver was dropped in 9f6e0e7ef828 in 2015, effectively locking out pre 0.9.1 clients from new servers. However, client-side code for calling lock and addchangegroup is still present in exchange.py and the various peer classes to facilitate pushing to pre 0.9.1 servers. The lock-based pushing mechanism is extremely brittle. 0.9.1 was released in July 2006 and I highly doubt anyone is still running such an ancient version of Mercurial on a server. I'm about to refactor the peer API and I don't think it is worth keeping support for this ancient protocol feature. So, this commit removes client support for the lock-based pushing mechanism. This means modern clients will no longer be able to push to pre 0.9.1 servers. Differential Revision: https://phab.mercurial-scm.org/D264
Fri, 04 Aug 2017 15:49:36 -0400 http: add a test of actually pushing with httppostargs
Augie Fackler <augie@google.com> [Fri, 04 Aug 2017 15:49:36 -0400] rev 33726
http: add a test of actually pushing with httppostargs This was previously untested. Sigh. Differential Revision: https://phab.mercurial-scm.org/D230
Sun, 06 Aug 2017 01:13:57 +0900 filemerge: move decorator definition for internal merge tools to registrar
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 06 Aug 2017 01:13:57 +0900] rev 33725
filemerge: move decorator definition for internal merge tools to registrar This patch also adds extra loading entry for internal merge tools to extensions.py, for similarity to other decorators defined in registrar.py. This patch uses "internalmerge" for decorator class name, instead of original "internaltool", because the latter is too generic. BTW, after this patch, 4-spaces indentation is added to the 1st line of internal merge tool description docstring, and this may make already translated entries in *.po fuzzy. Even though this indentation is required for "definition list" in reST syntax, absence of it has been overlooked, because help.makeitemsdoc() forcibly inserts it at generation of online help. But this forcible insertion causes formatting issue (I'll send another patch series for this). Therefore, this additional indentation should be reasonable.
Sat, 05 Aug 2017 05:25:36 +0530 releasenotes: add similarity check function to compare incoming notes
Rishabh Madan <rishabhmadan96@gmail.com> [Sat, 05 Aug 2017 05:25:36 +0530] rev 33724
releasenotes: add similarity check function to compare incoming notes It is possible that the incoming note fragments have some similar content as the existing release notes. In case of a bug fix, we match for issueNNNN in the existing notes. For other general cases, it makes use of fuzzywuzzy library to get a similarity score. If the score is above a certain threshold, we ignore the fragment, otherwise add it. But the score might be misleading for small commit messages. So, it uses similarity function only if the length of string (in words) is above a certain value. The patch adds tests related to its usage. But it needs improvement in the sense of combining incoming notes. We can use interactive mode for adding notes. Maybe we can do this if similarity is under a certain range.
Sat, 29 Jul 2017 14:06:26 +0530 releasenotes: add import check for fuzzywuzzy
Rishabh Madan <rishabhmadan96@gmail.com> [Sat, 29 Jul 2017 14:06:26 +0530] rev 33723
releasenotes: add import check for fuzzywuzzy This patch adds the has_fuzzywuzzy for import check of external dependency fuzzywuzzy.
Tue, 18 Jul 2017 00:57:11 -0400 run-tests: don't drop optional lines after a missing unconditional line
Matt Harbison <matt_harbison@yahoo.com> [Tue, 18 Jul 2017 00:57:11 -0400] rev 33722
run-tests: don't drop optional lines after a missing unconditional line The previous behavior was to bail out when hitting 'awol', so 'missing (?)' was also dropped.
Tue, 18 Jul 2017 00:12:44 -0400 run-tests: drop required (feature !) style lines when the output is missing
Matt Harbison <matt_harbison@yahoo.com> [Tue, 18 Jul 2017 00:12:44 -0400] rev 33721
run-tests: drop required (feature !) style lines when the output is missing Essentially, these were acting as a verbose (?) flag, since they weren't being dropped when required. Foozy has a nice description [1]. Basically, a couple more places needed to check the features before treating it as optional. I don't like how test-run-tests.py had to be hacked, but _hghave() can't be made a static method. The test change was a change while developing `debugssl`, prior to tightening up the cases where the message is printed, that this fix would have caught. [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-July/101941.html
Mon, 24 Jul 2017 10:34:32 +0200 status: avoid recursing into ignored directory with "--terse u"
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 24 Jul 2017 10:34:32 +0200] rev 33720
status: avoid recursing into ignored directory with "--terse u" Let "isignoreddir" function first check that supplied directory is itself ignored before walking recursively into its content. Otherwise, the command is awfully slow when one has an ignored directory with a lot of content. Update and rephrase function docstring accordingly.
Mon, 31 Jul 2017 09:59:42 +0530 pushvars: move fb extension pushvars to core
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 31 Jul 2017 09:59:42 +0530] rev 33719
pushvars: move fb extension pushvars to core pushvars extension in fbext adds a --pushvars flag to push command using which one send strings to server which becomes environment variables there prepended with HG_USERVAR_. These variables can then be used to run hooks on the server. The extension is moved directly to core and unbundling of the strings and converting them to environment variables at server is disabled by default for security reasons. One can turn that on by following config: [push] pushvars.server = true This patch also adds the test for the extension. Differential Revision: https://phab.mercurial-scm.org/D210
Fri, 04 Aug 2017 12:21:23 -0700 phabricator: update diff property even if we choose not to create a new diff
Jun Wu <quark@fb.com> [Fri, 04 Aug 2017 12:21:23 -0700] rev 33718
phabricator: update diff property even if we choose not to create a new diff The diff property contains metadata like "HG Node". Previously we skip uploading a new diff if we are sure that the old patch and new patch have a same content. That has issues when a pusher adds an obsmarker using the old "HG Node" stored in the old diff. This patch adds logic to update the diff property so "HG Node" gets updated to prevent that issue. Differential Revision: https://phab.mercurial-scm.org/D229
Mon, 17 Jul 2017 19:52:50 -0700 phabricator: use Phabricator's last node information
Jun Wu <quark@fb.com> [Mon, 17 Jul 2017 19:52:50 -0700] rev 33717
phabricator: use Phabricator's last node information This makes it more strict when checking whether or not we should update a Differential Revision. For example, a) Alice updates D1 to content 1. b) Bob updates D1 to content 2. c) Alice tries to update D1 to content 1. Previously, `c)` will do nothing because `phabsend` detects the patch is not changed. A more correct behavior is to override Bob's update here, hence the patch. This also makes it possible to return a reaonsable "last node" when there is no tags but only `Differential Revision` commit messages. Test Plan: ``` for i in A B C; do echo $i > $i; hg ci -m $i -A $i; done hg phabsend 0:: # D40: created # D41: created # D42: created echo 3 >> C; hg amend; hg phabsend . # D42: updated hg tag --local --hidden -r 2 -f D42 # move tag to the previous version hg phabsend . # D42: skipped (previously it would be "updated") rm -rf .hg; hg init hg phabread --stack D42 | hg import - hg phabsend . # D42: updated hg tag --local --remove D42 hg commit --amend hg phabsend . # D42: updated (no new diff uploaded, previously it will upload a new diff) ``` The old diff object is now returned, which could be useful in the next patch. Differential Revision: https://phab.mercurial-scm.org/D121
Thu, 03 Aug 2017 03:09:33 +0530 phabricator: add --confirm option to phabsend command
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 03 Aug 2017 03:09:33 +0530] rev 33716
phabricator: add --confirm option to phabsend command This adds a --confirm flag similar to the confirm flag of `hg email` using which one can confirm the changesets before they get emailed. The confirm flag will show the changesets and ask for confirmation before sending them. Differential Revision: https://phab.mercurial-scm.org/D218
Tue, 01 Aug 2017 18:07:34 +0200 evolution: rename bumped to phase-divergent
Boris Feld <boris.feld@octobus.net> [Tue, 01 Aug 2017 18:07:34 +0200] rev 33715
evolution: rename bumped to phase-divergent Rename bumped to phase-divergent in all external user-facing output. Only update user-facing output for the moment, variables names, templates keyword and potentially configuration would be done in later series. The renaming is done according to https://www.mercurial-scm.org/wiki/CEDVocabulary. Differential Revision: https://phab.mercurial-scm.org/D216
Tue, 01 Aug 2017 17:58:20 +0200 evolution: rename divergent to content-divergent
Boris Feld <boris.feld@octobus.net> [Tue, 01 Aug 2017 17:58:20 +0200] rev 33714
evolution: rename divergent to content-divergent Rename divergent to content-divergent in all external user-facing output. Only update user-facing output for the moment, variables names, templates keyword and potentially configuration would be done in later series. The renaming is done according to https://www.mercurial-scm.org/wiki/CEDVocabulary. Differential Revision: https://phab.mercurial-scm.org/D215
Thu, 03 Aug 2017 00:45:02 +0900 py3: use bytes IO to write sample hgrc
Yuya Nishihara <yuya@tcha.org> [Thu, 03 Aug 2017 00:45:02 +0900] rev 33713
py3: use bytes IO to write sample hgrc Unicode sucks. Stop using Text IO and manually convert line endings.
Fri, 04 Aug 2017 08:15:10 +0200 buildrpm: do not break in presence of custom user configs
muxator <a.mux@inwind.it> [Fri, 04 Aug 2017 08:15:10 +0200] rev 33712
buildrpm: do not break in presence of custom user configs For example, if "hg log" was defined as an alias: # /etc/mercurial/hgrc [alias] log = log --graph the buildrpm script would be surprised by log messages formatted in unexpected ways, and bail out. This patch sets HGPLAIN, effectively resetting all the user configs, including log output, to a common state, making the build more predictable across all the possible environments.
Fri, 04 Aug 2017 05:38:22 -0700 sparse: treat paths as cwd-relative
Kostia Balytskyi <ikostia@fb.com> [Fri, 04 Aug 2017 05:38:22 -0700] rev 33711
sparse: treat paths as cwd-relative This commit makes it so sparse treats passed paths as CWD-relative, not repo-root-realive. This is a more intuitive behavior in my (and some other FB people's) opinion. This is breaking change however. My hope here is that since sparse is experimental, it's ok to introduce BCs. The reason (glob)s are needed in the test is this: in these two cases we do not supply path together with slashes, but `os.path.join` adds them, which means that under Windows they can be backslashes. To demonstrate this behavior, one could remove the (glob)s and run `./run-tests.py test-sparse.t` from MinGW's terminal on Windows.
Wed, 02 Aug 2017 15:48:57 -0700 match: expose some data and functionality to other modules
Kostia Balytskyi <ikostia@fb.com> [Wed, 02 Aug 2017 15:48:57 -0700] rev 33710
match: expose some data and functionality to other modules This patch makes sure that other modules can check whether patterns are CWD-relative.
Wed, 02 Aug 2017 15:05:21 -0700 sparse: properly error out when absolute paths are used
Kostia Balytskyi <ikostia@fb.com> [Wed, 02 Aug 2017 15:05:21 -0700] rev 33709
sparse: properly error out when absolute paths are used Current logic is misleading (it says it drops only absolute paths, but it actually drops all of them), not cross-platform (does not support Windows) and IMO just wrong (as it should just error out if absolute paths are given). This commit fixes it.
Thu, 03 Aug 2017 23:02:32 +0900 py3: convert arbitrary exception object to byte string more reliably
Yuya Nishihara <yuya@tcha.org> [Thu, 03 Aug 2017 23:02:32 +0900] rev 33708
py3: convert arbitrary exception object to byte string more reliably Our exception types implement __bytes__(), which should be tried first. Do lossy encoding conversion as a last resort.
(0) -30000 -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 +10000 tip