Mon, 08 Jan 2018 19:41:47 +0530 merge: add `--abort` flag which can abort the merge
Pulkit Goyal <7895pulkit@gmail.com> [Mon, 08 Jan 2018 19:41:47 +0530] rev 35704
merge: add `--abort` flag which can abort the merge Currently we don't have a good functionality to abort the merge and tell user to do `hg update -C .` which can leads to different results if user missed the '.' and moreover does not align with other abort functionalities like rebase, shelve etc. This patch adds `hg merge --abort` which will abort the ongoing merge and take us back to the chagneset where we started from. Works in both cases when merge resulted in conflicts and when there were no conflicts. .. feature:: A `--abort` flag to merge command to abort the ongoing merge. Differential Revision: https://phab.mercurial-scm.org/D1829
Thu, 04 Jan 2018 21:37:03 -0800 filemerge: only write in-memory backup during premerge
Phil Cohen <phillco@fb.com> [Thu, 04 Jan 2018 21:37:03 -0800] rev 35703
filemerge: only write in-memory backup during premerge This wasn't broken, but should mirror the non-in memory case to save an extra write. Differential Revision: https://phab.mercurial-scm.org/D1807
Thu, 04 Jan 2018 21:36:58 -0800 filemerge: fix backing up an in-memory file to a custom location
Phil Cohen <phillco@fb.com> [Thu, 04 Jan 2018 21:36:58 -0800] rev 35702
filemerge: fix backing up an in-memory file to a custom location If the user specifies a ui.origbackuppath, we used to always copy the file there, but if the source file is in memory we must write it instead of copying. Differential Revision: https://phab.mercurial-scm.org/D1806
Wed, 27 Dec 2017 17:38:28 -0600 rebase: don't run IMM if running rebase in a transaction
Phil Cohen <phillco@fb.com> [Wed, 27 Dec 2017 17:38:28 -0600] rev 35701
rebase: don't run IMM if running rebase in a transaction Some callers to rebase.rebase(), like `_moverelative` in `fbamend/movement.py`, wrap the entire rebase call in a transaction. This raises havoc when IMM tries to retry the rebase when it hits merge conflicts, because the abort will fail the whole transaction, not the subset. It also fails at the end, losing any conflict resolution, as @sid0 noticed. The right long-term fix that @quark and I have discussed is to change the restarting logic such that it doesn't abort at all, but simply switches between IMM and non-IMM fluidly for each commit, which has other nice properties. In the meantime this will do for now. Differential Revision: https://phab.mercurial-scm.org/D1782
Wed, 17 Jan 2018 17:59:12 -0500 python3: whitelist two more passing tests
Augie Fackler <augie@google.com> [Wed, 17 Jan 2018 17:59:12 -0500] rev 35700
python3: whitelist two more passing tests Differential Revision: https://phab.mercurial-scm.org/D1879
Fri, 12 Jan 2018 11:52:57 +0000 sshpeer: add support for request tracing
Boris Feld <boris.feld@octobus.net> [Fri, 12 Jan 2018 11:52:57 +0000] rev 35699
sshpeer: add support for request tracing The new 'devel.debug.peer-request' option now also display some information about request going through ssh peer.
Fri, 12 Jan 2018 10:41:03 +0000 httppeer: add support for tracing all http request made by the peer
Boris Feld <boris.feld@octobus.net> [Fri, 12 Jan 2018 10:41:03 +0000] rev 35698
httppeer: add support for tracing all http request made by the peer This changeset introduces a new 'devel.debug.peer-request' config. When set to True, debug message about request made by peer will be issued. This help to understand what actually happens during an exchange and tracks source of performance loss. This changeset implement support for http peer only.
Fri, 12 Jan 2018 10:14:20 +0000 httppeer: move url opening in its own method
Boris Feld <boris.feld@octobus.net> [Fri, 12 Jan 2018 10:14:20 +0000] rev 35697
httppeer: move url opening in its own method This will help adding debugging logic to request opening when investigating Mercurial performance.
Fri, 12 Jan 2018 10:57:29 +0000 http: add a debug version of the push test
Boris Feld <boris.feld@octobus.net> [Fri, 12 Jan 2018 10:57:29 +0000] rev 35696
http: add a debug version of the push test This will be useful to test further debugging capabilities in coming changesets.
Wed, 17 Jan 2018 21:44:32 -0500 lfs: raise an error if the server sends an unsolicited oid
Matt Harbison <matt_harbison@yahoo.com> [Wed, 17 Jan 2018 21:44:32 -0500] rev 35695
lfs: raise an error if the server sends an unsolicited oid This shouldn't happen. But we shouldn't ignore it if it does, because something else is likely to go wrong.
Wed, 17 Jan 2018 20:54:05 -0500 lfs: correct documentation typo
Matt Harbison <matt_harbison@yahoo.com> [Wed, 17 Jan 2018 20:54:05 -0500] rev 35694
lfs: correct documentation typo
Wed, 17 Jan 2018 22:12:10 -0500 test-convert-svn-move: sort svn checkout output
Jordi Gutiérrez Hermoso <jordigh@octave.org> [Wed, 17 Jan 2018 22:12:10 -0500] rev 35693
test-convert-svn-move: sort svn checkout output It turns out that there's no guarantee in which order svn will traverse a directory while performing a checkout. Sorting the output will make these tests stable.
Sat, 13 Jan 2018 15:13:29 +0900 fileset: do not crash by unary negate operation
Yuya Nishihara <yuya@tcha.org> [Sat, 13 Jan 2018 15:13:29 +0900] rev 35692
fileset: do not crash by unary negate operation Backported from minifileset.py.
Sat, 13 Jan 2018 15:07:37 +0900 fileset: make it robust for bad function calls
Yuya Nishihara <yuya@tcha.org> [Sat, 13 Jan 2018 15:07:37 +0900] rev 35691
fileset: make it robust for bad function calls Before, it could crash or show cryptic message.
Thu, 04 Jan 2018 14:20:58 +0900 log: build follow-log filematcher at once
Yuya Nishihara <yuya@tcha.org> [Thu, 04 Jan 2018 14:20:58 +0900] rev 35690
log: build follow-log filematcher at once We no longer need to replay copy tracing to build filematcher as we can walk (rev, fctxs) pairs.
Thu, 04 Jan 2018 15:20:46 +0900 log: allow matchfn to be non-null even if both --patch/--stat are off
Yuya Nishihara <yuya@tcha.org> [Thu, 04 Jan 2018 15:20:46 +0900] rev 35689
log: allow matchfn to be non-null even if both --patch/--stat are off This makes the next patch slightly simpler.
Thu, 04 Jan 2018 14:37:15 +0900 log: replace "not pats" with matcher attribute for consistency
Yuya Nishihara <yuya@tcha.org> [Thu, 04 Jan 2018 14:37:15 +0900] rev 35688
log: replace "not pats" with matcher attribute for consistency We use match.always() in _makelogrevset(). match.always() is identical to "not pats" here since scmutil.matchandpats() empties pats in that case.
Wed, 03 Jan 2018 15:58:59 +0900 log: follow file history across copies even with -rREV (BC) (issue4959)
Yuya Nishihara <yuya@tcha.org> [Wed, 03 Jan 2018 15:58:59 +0900] rev 35687
log: follow file history across copies even with -rREV (BC) (issue4959) Still it falls back to changelog path if glob patterns or missing paths are specified. This will be changed later. .. bc:: ``log --follow -rREV FILE..`` now follows file history across copies and renames.
Wed, 03 Jan 2018 15:46:15 +0900 log: resolve --follow thoroughly in getlogrevs()
Yuya Nishihara <yuya@tcha.org> [Wed, 03 Jan 2018 15:46:15 +0900] rev 35686
log: resolve --follow thoroughly in getlogrevs() This makes sense because --follow isn't really an option to filter revisions, but an option to extend revisions to be filtered. _fileancestors() is a minimal copy of revset._follow(). They are slightly different in that which revision the matcher sees. _fileancestors() also uses ctx.walk() instead of ctx.manifest().walk() to show a better warning on bad match, which will be tested later.
Wed, 03 Jan 2018 15:13:22 +0900 log: extract function that processes log file patterns
Yuya Nishihara <yuya@tcha.org> [Wed, 03 Jan 2018 15:13:22 +0900] rev 35685
log: extract function that processes log file patterns We'll need a matcher to compute revs followed from the given patterns.
Sun, 10 Dec 2017 17:28:44 +0900 log: resolve --follow with -rREV in cmdutil.getlogrevs()
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Dec 2017 17:28:44 +0900] rev 35684
log: resolve --follow with -rREV in cmdutil.getlogrevs() This also fixes alias expansion. Before, reverse() could be overridden by user alias. This isn't processed at _logrevs() as we'll need starting revisions to parse file patterns. See the subsequent patches for details.
Sun, 10 Dec 2017 18:22:06 +0900 log: remove dead code to follow descendants if ascending revisions specified
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Dec 2017 18:22:06 +0900] rev 35683
log: remove dead code to follow descendants if ascending revisions specified It's been disabled since 8b4b9ee6001a "log: make -fr show complete history from the given revs" 2015-02-06, and we've got no bug report regarding this exact behavior. For details what the heck "followdescendants" is, please see the issue comment: https://bz.mercurial-scm.org/show_bug.cgi?id=4959#c72 "'rev(%d)' % startrev" can be replaced with '.' since revs are 'reversed(:.)'.
Sun, 10 Dec 2017 16:59:54 +0900 log: duplicate _logrevs() dedicated for walkchangerevs()
Yuya Nishihara <yuya@tcha.org> [Sun, 10 Dec 2017 16:59:54 +0900] rev 35682
log: duplicate _logrevs() dedicated for walkchangerevs() Prepares for refactoring getlogrevs() to fix the "log -frREV PATH" issue. I initially thought I could get rid of walkchangerevs(), but it turned out requiring non-trivial work because of a "prepare" callback and a scanning window. This patch makes sure that walkchangerevs() will be unaffected by subsequent changes.
Tue, 16 Jan 2018 21:51:27 +0900 update: fix crash on bare update when directaccess is enabled
Yuya Nishihara <yuya@tcha.org> [Tue, 16 Jan 2018 21:51:27 +0900] rev 35681
update: fix crash on bare update when directaccess is enabled 'rev' may be None. An empty 'rev' string shouldn't also be passed to unhidehashlikerevs().
Tue, 16 Jan 2018 21:42:42 +0900 templater: make sure expression is terminated by '}'
Yuya Nishihara <yuya@tcha.org> [Tue, 16 Jan 2018 21:42:42 +0900] rev 35680
templater: make sure expression is terminated by '}' This can't be ensured by the tokenize() generator since the parser stop consuming tokens once it reached an end of an operation. Spotted by Matt Harbison.
Fri, 14 Jul 2017 19:59:10 +0200 bookmark: deprecate direct update of a bookmark value
Boris Feld <boris.feld@octobus.net> [Fri, 14 Jul 2017 19:59:10 +0200] rev 35679
bookmark: deprecate direct update of a bookmark value This changeset was part of an older series preventing direct update of the bookmarks store without the change being tracked by a transaction. For some unclear reason, this was not sent to the list. So we are sending it now. Initial series: 3325c7dcabaa+08bf0ebc6c8e+712a85b3677f. We want to channel all bookmarks update through 'applychanges' so let's remove more way to work around this function.
Mon, 16 Oct 2017 14:32:06 +0200 debugdeltachain: display how many chunks would be read in sparse-read mode
Paul Morelle <paul.morelle@octobus.net> [Mon, 16 Oct 2017 14:32:06 +0200] rev 35678
debugdeltachain: display how many chunks would be read in sparse-read mode
Wed, 17 Jan 2018 21:36:18 +0000 bdiff: handle the possibility of an integer overflow when allocating
Alex Gaynor <agaynor@mozilla.com> [Wed, 17 Jan 2018 21:36:18 +0000] rev 35677
bdiff: handle the possibility of an integer overflow when allocating Differential Revision: https://phab.mercurial-scm.org/D1877
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -28 +28 +50 +100 +300 +1000 +3000 +10000 tip