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.
Thu, 03 Aug 2017 20:08:31 -0700 build: delay version computation on macOS builds
Rodrigo Damazio <rdamazio@google.com> [Thu, 03 Aug 2017 20:08:31 -0700] rev 33707
build: delay version computation on macOS builds The way HGVER is evaluated now, it'll be evaluated at the beginning of the make execution - with this change, it's evaluated when it gets to that command, at which point the version file it's looking for is sure to exist and be up-to-date. Differential Revision: https://phab.mercurial-scm.org/D224
Thu, 03 Aug 2017 12:40:48 -0700 color: remove warnings if term is not formatted (==dumb or !ui.formatted())
Kyle Lippincott <spectral@google.com> [Thu, 03 Aug 2017 12:40:48 -0700] rev 33706
color: remove warnings if term is not formatted (==dumb or !ui.formatted()) If the user sets color.mode=terminfo, and then runs in the shell inside of emacs (so TERM=dumb), the previous behavior was that it would warn about no terminfo entry for setab/setaf, and then warn about 'failed to set color mode to terminfo'. The first warning is silenced by carrying 'formatted' through to _terminfosetup, the second is silenced by using 'formatted' instead of ui.formatted(). If --color=on (or ui.color=always) is specified, this will still warn, since the formatted boolean is set to true in these cases. Differential Revision: https://phab.mercurial-scm.org/D223
Thu, 27 Jul 2017 16:09:26 +0200 rpms: add chg
Mathias De Maré <mathias.de_mare@nokia.com> [Thu, 27 Jul 2017 16:09:26 +0200] rev 33705
rpms: add chg I'm not sure if there's a reason chg is not added by default. If not, I would like to propose adding in this patch. Differential Revision: https://phab.mercurial-scm.org/D220
Fri, 14 Jul 2017 14:30:55 -0700 tests: demonstrate crash when trying to rebase merge without its parents
Martin von Zweigbergk <martinvonz@google.com> [Fri, 14 Jul 2017 14:30:55 -0700] rev 33704
tests: demonstrate crash when trying to rebase merge without its parents As the test case shows, when "hg rebase -d G -r 'B + D + F'" is run on the following graph, we crash with traceback. It's reasonable to fail because we can not easily produce a correct rebased F. The problem is what diff to apply to either the rebased B or the rebased D. We could potentially produce the result by e.g. applying the (F-D) diff to the rebased B and then applying the reverse (E-D) diff on top, but that could result in merge conflicts in each of those steps, which we don't have a way of dealing with. So for now, let's just add a test case to demonstrate that we crash (i.e. the AssertionError is clearly incorrect since the user can run into it). F /| C E | | B D G \|/ A Differential Revision: https://phab.mercurial-scm.org/D212
Sun, 16 Jul 2017 23:17:41 -0700 tests: demonstrate broken rebase of merge with p1's successor in dest
Martin von Zweigbergk <martinvonz@google.com> [Sun, 16 Jul 2017 23:17:41 -0700] rev 33703
tests: demonstrate broken rebase of merge with p1's successor in dest The fix in 8ede973597fd (rebase: handle successor targets (issue5198), 2016-04-11) only fixed the case where p2's successor was in the destination, and only when the successor was exactly the destination (i.e. not when the successor was an ancestor of it). This patch adds a test case for when p1's successor is in the destination. It adds another one for when the successor is an ancestor of the destination. To do that simply, it also rewrites the test case using drawdag. Differential Revision: https://phab.mercurial-scm.org/D211
Mon, 24 Jul 2017 11:19:11 -0400 bundle2: obtain repr() of exception in a python3-safe way
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 11:19:11 -0400] rev 33702
bundle2: obtain repr() of exception in a python3-safe way This was exposed by other problems in bundle generation, but I'm not sure how to test it for now.
Mon, 24 Jul 2017 11:28:40 -0400 bundle2: use bytestr() instead of str() to convert part id to bytes
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 11:28:40 -0400] rev 33701
bundle2: use bytestr() instead of str() to convert part id to bytes This was exposed by trying to run previously-passing Python 3 tests.
Mon, 24 Jul 2017 11:20:08 -0400 bundle2: work around zip() being lazy in Python 3
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 11:20:08 -0400] rev 33700
bundle2: work around zip() being lazy in Python 3
Mon, 24 Jul 2017 11:19:45 -0400 bundle2: look for __next__ as well as next to identify iterators
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 11:19:45 -0400] rev 33699
bundle2: look for __next__ as well as next to identify iterators In Python 3, next is called __next__ and this was failing to catch some iterators.
Mon, 24 Jul 2017 11:17:36 -0400 bundle2: use modern Python division
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 11:17:36 -0400] rev 33698
bundle2: use modern Python division This was failing on Python 3 because the / was returning a float, which was then making the __mul__ on a bytes sad.
Mon, 24 Jul 2017 11:16:53 -0400 changegroup: wrap some ** expansions in strkwargs
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 11:16:53 -0400] rev 33697
changegroup: wrap some ** expansions in strkwargs
Mon, 24 Jul 2017 10:21:23 -0400 obsolete: reuse _fm1metapair for computing _fm1metapairsize
Augie Fackler <augie@google.com> [Mon, 24 Jul 2017 10:21:23 -0400] rev 33696
obsolete: reuse _fm1metapair for computing _fm1metapairsize It's evaluated at import time, so it seems silly to not reuse the constant name.
Tue, 01 Aug 2017 17:53:48 +0200 evolution: rename unstable to orphan
Boris Feld <boris.feld@octobus.net> [Tue, 01 Aug 2017 17:53:48 +0200] rev 33695
evolution: rename unstable to orphan Rename unstable to orphan 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/D214
Tue, 01 Aug 2017 17:39:28 +0200 evolution: rename trouble(s) to instability
Boris Feld <boris.feld@octobus.net> [Tue, 01 Aug 2017 17:39:28 +0200] rev 33694
evolution: rename trouble(s) to instability Rename trouble(s) to instability 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/D213
Wed, 02 Aug 2017 03:23:06 +0530 bundle2: load hookargs from bundleoperation into transaction when started one
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 02 Aug 2017 03:23:06 +0530] rev 33693
bundle2: load hookargs from bundleoperation into transaction when started one When a transaction is started, we must load the hookargs from the bundleoperation object to the transaction so that they can be used in the transaction. Also this patch makes sure no more hookargs are added to the bundleoperation object once the transaction starts. This is a part of porting fb extension bundle2hooks to core. Differential Revision: https://phab.mercurial-scm.org/D209
Wed, 02 Aug 2017 03:08:42 +0530 bundle2: add the capability to store hookargs on bundle operation object
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 02 Aug 2017 03:08:42 +0530] rev 33692
bundle2: add the capability to store hookargs on bundle operation object There are extensions like pushrebase, pushvars which run hooks on a server before taking the lock. Since the lock is not taken, transaction is not there, so the hookargs can't be stored on the transaction. Adding hooksargs to bundle operation object will help in running hooks before taking the lock. This is a part of moving fb's extension bundle2hooks to core. Differential Revision: https://phab.mercurial-scm.org/D208
Thu, 20 Jul 2017 01:30:41 -0700 rebase: use one dirstateguard for when using rebase.singletransaction
Durham Goode <durham@fb.com> [Thu, 20 Jul 2017 01:30:41 -0700] rev 33691
rebase: use one dirstateguard for when using rebase.singletransaction This was previously landed as 2519994d25ca but backed out in b63351f6a2 because it broke hooks mid-rebase and caused conflict resolution data loss in the event of unexpected exceptions. This new version adds the behavior back but behind a config flag, since the performance improvement is notable in large repositories. The old commit message was: Recently we switched rebases to run the entire rebase inside a single transaction, which dramatically improved the speed of rebases in repos with large working copies. Let's also move the dirstate into a single dirstateguard to get the same benefits. This let's us avoid serializing the dirstate after each commit. In a large repo, rebasing 27 commits is sped up by about 20%. I believe the test changes are because us touching the dirstate gave the transaction something to actually rollback. (grafted from 9e3dc3a1638b9754b58a0cb26aaa75d868058109) (grafted from 7d38b41d2266d9a02a15c64229fae0da5738dcec) Differential Revision: https://phab.mercurial-scm.org/D135
Tue, 01 Aug 2017 10:14:25 -0400 merge with stable
Augie Fackler <augie@google.com> [Tue, 01 Aug 2017 10:14:25 -0400] rev 33690
merge with stable
Wed, 04 Oct 2017 09:04:52 -0400 tests: invoke run-tests.py in test-hghave using $PYTHON (issue5697) stable
Augie Fackler <augie@google.com> [Wed, 04 Oct 2017 09:04:52 -0400] rev 33689
tests: invoke run-tests.py in test-hghave using $PYTHON (issue5697) Some platforms (notably pkgsrc on NetBSD) only provide versioned Python interpreters (eg `python2.7` exists, but `python` does not), which exposes this error. We want to be running run-tests.py with the python given in $PYTHON, since that might be `pypy` or `python3`.
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 33688
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 33687
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 33686
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 33685
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 33684
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 33683
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
Mon, 18 Sep 2017 11:53:54 -0400 Added signature for changeset 920977f72c7b stable
Augie Fackler <raf@durin42.com> [Mon, 18 Sep 2017 11:53:54 -0400] rev 33682
Added signature for changeset 920977f72c7b
Mon, 18 Sep 2017 11:53:53 -0400 Added tag 4.3.2 for changeset 920977f72c7b stable
Augie Fackler <raf@durin42.com> [Mon, 18 Sep 2017 11:53:53 -0400] rev 33681
Added tag 4.3.2 for changeset 920977f72c7b
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip