Sat, 17 Jun 2017 15:05:11 +0530 py3: use pycompat.strkwargs() to convert kwargs keys to str before passing
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 17 Jun 2017 15:05:11 +0530] rev 32896
py3: use pycompat.strkwargs() to convert kwargs keys to str before passing
Sat, 17 Jun 2017 14:53:25 +0530 py3: use '%d' instead of '%s' for integers
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 17 Jun 2017 14:53:25 +0530] rev 32895
py3: use '%d' instead of '%s' for integers Python 3 does not let you use '%s' for integers.
Sat, 17 Jun 2017 14:39:10 +0530 py3: pass the path in hg.repository() as bytes
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 17 Jun 2017 14:39:10 +0530] rev 32894
py3: pass the path in hg.repository() as bytes This make test-ancestor.py pass on Python 3.
Sat, 17 Jun 2017 14:38:02 +0530 py3: pass range() into list() to get one explicitly
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 17 Jun 2017 14:38:02 +0530] rev 32893
py3: pass range() into list() to get one explicitly range() on python 3 returns a generator whereas on python 2 returns a list. So to get a list on python 3, we passed it into list()
Sun, 28 May 2017 00:12:38 +0200 check-concurrency: expose the feature as 'concurrent-push-mode'
Pierre-Yves David <pierre-yves.david@octobus.net> [Sun, 28 May 2017 00:12:38 +0200] rev 32892
check-concurrency: expose the feature as 'concurrent-push-mode' We move the feature to a proper configuration and document it. The config goes in the 'server' section because it feels like something the server owner would want to decide. We pick and open field because it seems likely that other checking levels will emerge in the future. (eg: server like the mozilla-try server will likely wants a "none" value) The option name contains 'push' since this affects 'push' only. The option value 'check-related' is preferred over one explicitly containing 'allow' or 'deny' because the client still have a strong decision power here. Here, the server is just advising the client on the check mode to use.
Fri, 16 Jun 2017 22:57:31 -0700 exchange: switch to usual way of testing for bundle2-ness
Martin von Zweigbergk <martinvonz@google.com> [Fri, 16 Jun 2017 22:57:31 -0700] rev 32891
exchange: switch to usual way of testing for bundle2-ness We used safehasattr() in one place, but we use isinstance() for this everywhere else, so switch to the latter.
Fri, 16 Jun 2017 21:57:22 -0400 setup: update a comment that blamed py26 for a Windows workaround
Matt Harbison <matt_harbison@yahoo.com> [Fri, 16 Jun 2017 21:57:22 -0400] rev 32890
setup: update a comment that blamed py26 for a Windows workaround
Fri, 16 Jun 2017 20:55:34 -0400 i18n: drop a py25 conditional
Matt Harbison <matt_harbison@yahoo.com> [Fri, 16 Jun 2017 20:55:34 -0400] rev 32889
i18n: drop a py25 conditional I'm not sure how to test this one. `make update-pot` spews all kinds of warnings, though it did before this change too.
Fri, 16 Jun 2017 20:49:32 -0400 perf: ensure HGRCPATH is exported on Windows
Matt Harbison <matt_harbison@yahoo.com> [Fri, 16 Jun 2017 20:49:32 -0400] rev 32888
perf: ensure HGRCPATH is exported on Windows After dropping the garbage collector hack, `hg perfstartup` started yelling about not being able to import the evolve extension, which I have in my user config. Launching `env` shows that an empty HGRCPATH isn't exported to the environment. Since `env` doesn't quote, I have no idea if the variable is trimmed, but Mercurial doesn't complain when processing it.
Fri, 16 Jun 2017 20:35:45 -0400 test-status: glob fixes for Windows
Matt Harbison <matt_harbison@yahoo.com> [Fri, 16 Jun 2017 20:35:45 -0400] rev 32887
test-status: glob fixes for Windows
Fri, 16 Jun 2017 18:42:03 -0400 plan9: drop py26 hacks
Matt Harbison <matt_harbison@yahoo.com> [Fri, 16 Jun 2017 18:42:03 -0400] rev 32886
plan9: drop py26 hacks
Sun, 18 Jun 2017 12:25:23 +0900 revset: fix negative ancestor spec to not return changectx objects
Yuya Nishihara <yuya@tcha.org> [Sun, 18 Jun 2017 12:25:23 +0900] rev 32885
revset: fix negative ancestor spec to not return changectx objects The order was unstable because of this.
Mon, 01 May 2017 05:57:36 +0200 obsolete: use ProgrammingError over assert for volatile set registration
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Mon, 01 May 2017 05:57:36 +0200] rev 32884
obsolete: use ProgrammingError over assert for volatile set registration We have ProgrammingError now.
Fri, 16 Jun 2017 10:13:44 -0700 strip: remove a redundant setting of hookargs
Martin von Zweigbergk <martinvonz@google.com> [Fri, 16 Jun 2017 10:13:44 -0700] rev 32883
strip: remove a redundant setting of hookargs bundle2.applybundle() will set both 'source' and 'url'.
Fri, 16 Jun 2017 10:38:14 -0700 unbundle: move streamclone error case away from bundle[12] cases
Martin von Zweigbergk <martinvonz@google.com> [Fri, 16 Jun 2017 10:38:14 -0700] rev 32882
unbundle: move streamclone error case away from bundle[12] cases The bundle1 and bundle2 cases are more similar, and having the streamclone case in between is distracting.
Fri, 16 Jun 2017 10:36:43 -0700 bundle2: use "else" instead of checking condition again
Martin von Zweigbergk <martinvonz@google.com> [Fri, 16 Jun 2017 10:36:43 -0700] rev 32881
bundle2: use "else" instead of checking condition again
Fri, 16 Jun 2017 09:37:22 -0700 wireproto: update reference to deleted addchangegroup()
Martin von Zweigbergk <martinvonz@google.com> [Fri, 16 Jun 2017 09:37:22 -0700] rev 32880
wireproto: update reference to deleted addchangegroup() Thanks to Yuya for catching this.
Thu, 15 Jun 2017 13:02:58 +0200 template: add predecessors template
Boris Feld <boris.feld@octobus.net> [Thu, 15 Jun 2017 13:02:58 +0200] rev 32879
template: add predecessors template Add a 'predecessors' template that returns the list of all closest known predecessors for a changectx. The elements of the list are row changectx node id formatted by default as short nodes. The "closest predecessors" are the first locally known revisions encountered while, walking predecessors markers. For example: 1) If a (A, (B)) markers exists and both A and B are locally known A is a closest predecessors of B. 2) If a (A, (B)) and (B, (C)) markers exists and only A and C are known locally, A will be the closest precursors of C. This logic respect repository filtering. So hidden revision will be skipped by this logic unless --hidden is specified. Since we only display the visible predecessors, this template will not display anything in most case. It makes a good candidate for inclusion in the default log output. I added a new test-file for testing the precursors in various scenarios. This test file will also be used for the successors template. A new "obsutil" module has been added to start gathering utility function outside of the large obsolete.py module.
Sat, 22 Apr 2017 20:29:45 +0900 commit: select template by spec.ref name
Yuya Nishihara <yuya@tcha.org> [Sat, 22 Apr 2017 20:29:45 +0900] rev 32878
commit: select template by spec.ref name And load all templates defined in [committemplate] since the selected template is no longer be named as 'changeset'.
Sat, 22 Apr 2017 15:28:29 +0900 commit: do not look up committemplate in template paths (BC)
Yuya Nishihara <yuya@tcha.org> [Sat, 22 Apr 2017 15:28:29 +0900] rev 32877
commit: do not look up committemplate in template paths (BC) From 5375ba75df40 and de5cee8ba088, I don't think the current behavior is intended. Commit templates should be processed as literal templates.
Sat, 06 May 2017 17:03:59 +0900 formatter: always store a literal template unnamed
Yuya Nishihara <yuya@tcha.org> [Sat, 06 May 2017 17:03:59 +0900] rev 32876
formatter: always store a literal template unnamed Now spec.ref should be '' if spec.tmpl is specified. Since spec.ref is the option to select the initial template to be rendered, it doesn't make sense to store the given literal template as spec.ref.
Sat, 22 Apr 2017 20:14:55 +0900 formatter: load templates section like a map file
Yuya Nishihara <yuya@tcha.org> [Sat, 22 Apr 2017 20:14:55 +0900] rev 32875
formatter: load templates section like a map file Since a map file has another level to select a template (spec -> mapfile -> topic), this isn't exactly the same as how a map file works. But I believe most users would expect the new behavior. A literal template is stored as an unnamed template so that it will never conflict with the templates defined in [templates] section.
Sat, 06 May 2017 17:41:05 +0900 test-command-template: rewrite recursion tests by using a map file
Yuya Nishihara <yuya@tcha.org> [Sat, 06 May 2017 17:41:05 +0900] rev 32874
test-command-template: rewrite recursion tests by using a map file A literal template will be unnamed soon, so no recursion will be practically made by using -T option.
Sat, 22 Apr 2017 19:56:47 +0900 templater: add simple interface for unnamed template (API)
Yuya Nishihara <yuya@tcha.org> [Sat, 22 Apr 2017 19:56:47 +0900] rev 32873
templater: add simple interface for unnamed template (API) This provides a simpler API for callers which don't need full templating stack. Instead of storing the given template as the name specified by topic, use '' as the default template to be rendered.
Wed, 14 Jun 2017 20:56:34 -0400 ui: add support for a tweakdefaults knob
Augie Fackler <augie@google.com> [Wed, 14 Jun 2017 20:56:34 -0400] rev 32872
ui: add support for a tweakdefaults knob We've been talking for years about a one-stop config knob to opt in to better behavior. There have been a lot of ideas thrown around, but they all seem to be too complicated to get anyone to actually do the work.. As such, this patch is the stupidest thing that can possibly work in the name of getting a good feature to users. Right now it's just three config settings that I think are generally uncontroversial, but I expect to add more soon. That will likely include adding new config knobs for the express purpose of adding them to tweakdefaults.
Thu, 15 Jun 2017 15:13:18 -0700 localrepo: remove unused addchangegroup() (API)
Martin von Zweigbergk <martinvonz@google.com> [Thu, 15 Jun 2017 15:13:18 -0700] rev 32871
localrepo: remove unused addchangegroup() (API) This completes the cleanup started in d3775db748a0 (localrepo: move the addchangegroup method in changegroup module, 2014-04-01).
Thu, 15 Jun 2017 13:47:54 -0700 changegroup: rename "dh" to the clearer "deltaheads"
Martin von Zweigbergk <martinvonz@google.com> [Thu, 15 Jun 2017 13:47:54 -0700] rev 32870
changegroup: rename "dh" to the clearer "deltaheads" We have a lot of frequently used abbreviations, but this is not one of them.
Thu, 15 Jun 2017 13:42:41 -0700 changegroup: rename "srccontent" to "cgnodes"
Martin von Zweigbergk <martinvonz@google.com> [Thu, 15 Jun 2017 13:42:41 -0700] rev 32869
changegroup: rename "srccontent" to "cgnodes" It's the list of nodes in the incoming changegroup, so "cgnodes" made more sense to me.
Thu, 15 Jun 2017 13:42:35 -0700 revlog: rename list of nodes from "content" to "nodes"
Martin von Zweigbergk <martinvonz@google.com> [Thu, 15 Jun 2017 13:42:35 -0700] rev 32868
revlog: rename list of nodes from "content" to "nodes" It seems like the reason for "content" is that the variable contains the nodes that the changegroup "contains", see e234eda20984 (revlog: make addgroup returns a list of node contained in the added source, 2012-01-13), but "nodes" seems much clearer.
Thu, 15 Jun 2017 13:25:41 -0700 revlog: delete obsolete comment
Martin von Zweigbergk <martinvonz@google.com> [Thu, 15 Jun 2017 13:25:41 -0700] rev 32867
revlog: delete obsolete comment The comment seems to refer to code that was deleted in 557988c691d1 (revlog.addgroup(): always use _addrevision() to add new revlog entries, 2010-10-08).
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip