Mon, 07 May 2018 19:43:43 -0700 update: print warning about hidden changeset after update
Martin von Zweigbergk <martinvonz@google.com> [Mon, 07 May 2018 19:43:43 -0700] rev 37920
update: print warning about hidden changeset after update When an attempt to update to a hidden changeset fails because the working copy is dirty, you may get a message like this: updating to a hidden changeset 343f6de32686 (hidden revision '343f6de32686' was rewritten as: 4ab941244072) abort: conflicting changes (commit or update --clean to discard changes) It's easy to miss the real error here. This patch moves the warning about the hidden changeset to after the update has happened. It changes the verb tense accordingly (and drops the "a" that I think it sounds better without). Of course, this means that the commit isn't actually hidden anymore when the message is printed. I think that's fine. Differential Revision: https://phab.mercurial-scm.org/D3479
Fri, 27 Apr 2018 01:35:00 -0400 py3: whitelist three passing cvs convert tests
Augie Fackler <augie@google.com> [Fri, 27 Apr 2018 01:35:00 -0400] rev 37919
py3: whitelist three passing cvs convert tests Differential Revision: https://phab.mercurial-scm.org/D3490
Fri, 27 Apr 2018 01:32:21 -0400 cvsps: convert encoding name to sysstr
Augie Fackler <augie@google.com> [Fri, 27 Apr 2018 01:32:21 -0400] rev 37918
cvsps: convert encoding name to sysstr Differential Revision: https://phab.mercurial-scm.org/D3489
Wed, 09 May 2018 13:46:31 -0700 tweakdefaults: remove "bisect" from commands.status.skipstates
Martin von Zweigbergk <martinvonz@google.com> [Wed, 09 May 2018 13:46:31 -0700] rev 37917
tweakdefaults: remove "bisect" from commands.status.skipstates If you forget to clear bisect state after you're done bisecting (as I've done twice in the last week or so), the next time you run `hg bisect --good/--bad`, it's going to tell you "The first bad revision is:" etc. It's probably not obvious to new users what's going on, and having the verbose output about an ongoing bisection will probably help them, so let's turn it back on by default. Differential Revision: https://phab.mercurial-scm.org/D3516
Tue, 03 Apr 2018 22:58:33 +0900 hgweb: wrap {instabilities} by hybridlist()
Yuya Nishihara <yuya@tcha.org> [Tue, 03 Apr 2018 22:58:33 +0900] rev 37916
hgweb: wrap {instabilities} by hybridlist() This is a list of simple values, which can be a hybrid list.
Tue, 03 Apr 2018 22:55:33 +0900 hgweb: wrap {whyunstable} with mappinggenerator
Yuya Nishihara <yuya@tcha.org> [Tue, 03 Apr 2018 22:55:33 +0900] rev 37915
hgweb: wrap {whyunstable} with mappinggenerator This is also a generator of mappings, which needs a wrapper.
Tue, 03 Apr 2018 22:54:36 +0900 hgweb: wrap {succsandmarkers} with mappinggenerator
Yuya Nishihara <yuya@tcha.org> [Tue, 03 Apr 2018 22:54:36 +0900] rev 37914
hgweb: wrap {succsandmarkers} with mappinggenerator This is also a generator of mappings, which needs a wrapper.
Mon, 02 Apr 2018 00:46:33 +0900 hgweb: wrap {branches} and {entries} of branches with mappinggenerator
Yuya Nishihara <yuya@tcha.org> [Mon, 02 Apr 2018 00:46:33 +0900] rev 37913
hgweb: wrap {branches} and {entries} of branches with mappinggenerator Bare generator of mappings shouldn't be put in a template mapping because its type can't be determined without consuming it.
Mon, 02 Apr 2018 00:41:19 +0900 hgweb: drop tmpl argument from webutil.showtag() and showbookmark()
Yuya Nishihara <yuya@tcha.org> [Mon, 02 Apr 2018 00:41:19 +0900] rev 37912
hgweb: drop tmpl argument from webutil.showtag() and showbookmark() It's replaced by a context argument passed to a mappinggenerator.
Mon, 02 Apr 2018 00:39:26 +0900 hgweb: wrap {changelogtag}, {changesettag}, and {changesetbookmark}
Yuya Nishihara <yuya@tcha.org> [Mon, 02 Apr 2018 00:39:26 +0900] rev 37911
hgweb: wrap {changelogtag}, {changesettag}, and {changesetbookmark} These can't be hybrid lists as they've associated with named template, 't1'.
Mon, 02 Apr 2018 00:29:31 +0900 hgweb: drop useless **args from webutil.showtag() and showbookmark()
Yuya Nishihara <yuya@tcha.org> [Mon, 02 Apr 2018 00:29:31 +0900] rev 37910
hgweb: drop useless **args from webutil.showtag() and showbookmark() Callers never pass excessive arguments to these functions.
Tue, 08 May 2018 19:00:01 +0800 hgweb: reuse graph node-related functions from templates
Anton Shestakov <av6@dwimlabs.net> [Tue, 08 May 2018 19:00:01 +0800] rev 37909
hgweb: reuse graph node-related functions from templates The difference between templatekw.getgraphnode() and webutil.getgraphnode() is that the latter is not limited to 1 character.
Tue, 08 May 2018 17:54:57 +0800 templates: split getgraphnode() body into two functions
Anton Shestakov <av6@dwimlabs.net> [Tue, 08 May 2018 17:54:57 +0800] rev 37908
templates: split getgraphnode() body into two functions getgraphnodecurrent() is checking if the node is currently checked out and getgraphnodesymbol() is checking properties that have more to do with the stored data and the DAG.
Mon, 02 Apr 2018 00:06:39 +0900 hgweb: wrap {branch} and {changesetbranch} by hybridlist()
Yuya Nishihara <yuya@tcha.org> [Mon, 02 Apr 2018 00:06:39 +0900] rev 37907
hgweb: wrap {branch} and {changesetbranch} by hybridlist() This is also a 0/1-length list of a simple value, can be a hybrid list. Appears that we have many {branch} variants.
Mon, 02 Apr 2018 00:05:38 +0900 hgweb: wrap {inbranch} by hybridlist()
Yuya Nishihara <yuya@tcha.org> [Mon, 02 Apr 2018 00:05:38 +0900] rev 37906
hgweb: wrap {inbranch} by hybridlist() This is also a 0/1-length list of a simple value, can be a hybrid list.
Mon, 02 Apr 2018 00:04:53 +0900 hgweb: wrap {branches} by hybridlist()
Yuya Nishihara <yuya@tcha.org> [Mon, 02 Apr 2018 00:04:53 +0900] rev 37905
hgweb: wrap {branches} by hybridlist() This is a 0/1-length list of a simple value, can be a hybrid list.
Mon, 02 Apr 2018 00:03:49 +0900 hgweb: wrap {bookmarks} by hybridlist()
Yuya Nishihara <yuya@tcha.org> [Mon, 02 Apr 2018 00:03:49 +0900] rev 37904
hgweb: wrap {bookmarks} by hybridlist() This is also a list of simple values.
Mon, 02 Apr 2018 00:02:36 +0900 hgweb: wrap {tags} by hybridlist()
Yuya Nishihara <yuya@tcha.org> [Mon, 02 Apr 2018 00:02:36 +0900] rev 37903
hgweb: wrap {tags} by hybridlist() This one is a list of simple values, which can be a hybrid list.
Mon, 02 Apr 2018 00:00:29 +0900 hgweb: wrap {rename} with mappinglist
Yuya Nishihara <yuya@tcha.org> [Mon, 02 Apr 2018 00:00:29 +0900] rev 37902
hgweb: wrap {rename} with mappinglist No bare list of mappings should be put in a template mapping.
Fri, 27 Apr 2018 11:23:41 -0400 tests: fix test-status-inprocess.py on Python 3
Augie Fackler <augie@google.com> [Fri, 27 Apr 2018 11:23:41 -0400] rev 37901
tests: fix test-status-inprocess.py on Python 3 The same print() hack as test-filecache.py. Differential Revision: https://phab.mercurial-scm.org/D3507
Fri, 27 Apr 2018 11:22:00 -0400 tests: port test-filecache.py to Python 3
Augie Fackler <augie@google.com> [Fri, 27 Apr 2018 11:22:00 -0400] rev 37900
tests: port test-filecache.py to Python 3 Only remarkable bit is my wrapper around print(), which I regret a little, but not enough to go back and try to do something cleaner. Differential Revision: https://phab.mercurial-scm.org/D3506
Fri, 27 Apr 2018 11:07:24 -0400 tests: port test-cbor.py to Python 3
Augie Fackler <augie@google.com> [Fri, 27 Apr 2018 11:07:24 -0400] rev 37899
tests: port test-cbor.py to Python 3 I suspect this b''.join() was a remnant of an earlier iteration of this code, as it was building a string from a string. Differential Revision: https://phab.mercurial-scm.org/D3505
Fri, 27 Apr 2018 11:06:49 -0400 cborutil: port to Python 3
Augie Fackler <augie@google.com> [Fri, 27 Apr 2018 11:06:49 -0400] rev 37898
cborutil: port to Python 3 The only problem lurking in here was sorts of mismatched types. The sorts are only for output stability in our tests (sigh), so we just build a phony sort key using the __name__ of types so that we only compare like types against each other. By pure luck, my awful sort key matches the behavior we get "for free" in Python 2, so no test output changes. Differential Revision: https://phab.mercurial-scm.org/D3504
Fri, 27 Apr 2018 10:58:08 -0400 lock: pass sysstr to warnings module
Augie Fackler <augie@google.com> [Fri, 27 Apr 2018 10:58:08 -0400] rev 37897
lock: pass sysstr to warnings module This makes test-lock.py slightly less broken, but it's still pretty far from passing. Differential Revision: https://phab.mercurial-scm.org/D3503
Fri, 27 Apr 2018 10:46:33 -0400 tests: port test-revlog-raw.py to Python 3
Augie Fackler <augie@google.com> [Fri, 27 Apr 2018 10:46:33 -0400] rev 37896
tests: port test-revlog-raw.py to Python 3 # skip-blame just b prefixes Differential Revision: https://phab.mercurial-scm.org/D3496
Fri, 27 Apr 2018 10:40:04 -0400 tests: migrate test-wsgirequest.py to Python 3
Augie Fackler <augie@google.com> [Fri, 27 Apr 2018 10:40:04 -0400] rev 37895
tests: migrate test-wsgirequest.py to Python 3 # skip-blame adding and removing b prefixes Differential Revision: https://phab.mercurial-scm.org/D3495
Fri, 27 Apr 2018 10:31:49 -0400 tests: port test-parseindex2.py to Python 3
Augie Fackler <augie@google.com> [Fri, 27 Apr 2018 10:31:49 -0400] rev 37894
tests: port test-parseindex2.py to Python 3 # skip-blame just b prefixes and int() instead of long() Differential Revision: https://phab.mercurial-scm.org/D3494
Fri, 27 Apr 2018 10:30:24 -0400 tests: prefer string concatenation with () instead of \ in parseindex2 tests
Augie Fackler <augie@google.com> [Fri, 27 Apr 2018 10:30:24 -0400] rev 37893
tests: prefer string concatenation with () instead of \ in parseindex2 tests Differential Revision: https://phab.mercurial-scm.org/D3493
Fri, 27 Apr 2018 10:17:48 -0400 tests: port test-simplemerge.py to Python 3
Augie Fackler <augie@google.com> [Fri, 27 Apr 2018 10:17:48 -0400] rev 37892
tests: port test-simplemerge.py to Python 3 # skip-blame just b prefixes Differential Revision: https://phab.mercurial-scm.org/D3492
Fri, 27 Apr 2018 10:21:24 -0400 tests: replace use of assertEquals with assertEqual in test-simplemerge.py
Augie Fackler <augie@google.com> [Fri, 27 Apr 2018 10:21:24 -0400] rev 37891
tests: replace use of assertEquals with assertEqual in test-simplemerge.py The former is deprecated. No functionality change. # skip-blame just removing an ess and some whitespace Differential Revision: https://phab.mercurial-scm.org/D3491
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip