Sun, 18 Jan 2015 18:04:44 +0900 formatter: add argument to change output file of non-plain formatter
Yuya Nishihara <yuya@tcha.org> [Sun, 18 Jan 2015 18:04:44 +0900] rev 31182
formatter: add argument to change output file of non-plain formatter This allows us to build data not written to the console. That would be doable by ui.pushbuffer()/popbuffer(), but changing the file object seems cleaner.
Fri, 03 Mar 2017 13:25:30 -0500 schemes: move re construction to module-level and python3-ify
Augie Fackler <raf@durin42.com> [Fri, 03 Mar 2017 13:25:30 -0500] rev 31181
schemes: move re construction to module-level and python3-ify This makes the schemes extension load correctly in Python 3.
Fri, 03 Mar 2017 13:29:50 -0500 dispatch: cope with sys.version being unicode on Python 3
Augie Fackler <raf@durin42.com> [Fri, 03 Mar 2017 13:29:50 -0500] rev 31180
dispatch: cope with sys.version being unicode on Python 3
Fri, 03 Mar 2017 13:29:25 -0500 dispatch: allow testedwith to be bytes or str
Augie Fackler <raf@durin42.com> [Fri, 03 Mar 2017 13:29:25 -0500] rev 31179
dispatch: allow testedwith to be bytes or str
Fri, 03 Mar 2017 14:09:14 -0500 ui: fix ui.traceback on Python 3
Augie Fackler <raf@durin42.com> [Fri, 03 Mar 2017 14:09:14 -0500] rev 31178
ui: fix ui.traceback on Python 3
Fri, 03 Mar 2017 14:08:24 -0500 ui: fix opts labeling on ui.warn et al for Python 3
Augie Fackler <raf@durin42.com> [Fri, 03 Mar 2017 14:08:24 -0500] rev 31177
ui: fix opts labeling on ui.warn et al for Python 3 This is a step towards fixing extension load warnings on Python 3. Note that I suspect there are still some bugs in this area and that things like color won't work, but the code at least executes and prints text to the console correctly now.
Fri, 03 Mar 2017 12:55:11 -0500 config: add sanity assert that files are opened as binary
Augie Fackler <raf@durin42.com> [Fri, 03 Mar 2017 12:55:11 -0500] rev 31176
config: add sanity assert that files are opened as binary This helps with some debugging in Python 3, and shouldn't hurt anything in Python 2. The unusual construction using getattr is done so that StringIO/BytesIO instances can be used as well as real files.
Mon, 06 Mar 2017 23:21:27 -0800 update: for "noconflict" updates, print "conflicting changes" on conflict
Martin von Zweigbergk <martinvonz@google.com> [Mon, 06 Mar 2017 23:21:27 -0800] rev 31175
update: for "noconflict" updates, print "conflicting changes" on conflict With experimental.updatecheck=noconflict, if the update is aborted because of conlicts, "uncommitted changes" is not quite accurate. Let's use "conflicting changes" instead. Also fix the hint to recomment --clean, not --merge, since that's what we do for other failed updates.
Mon, 06 Mar 2017 23:19:57 -0800 tests: fix test-update-branches to remove non-conflicting file
Martin von Zweigbergk <martinvonz@google.com> [Mon, 06 Mar 2017 23:19:57 -0800] rev 31174
tests: fix test-update-branches to remove non-conflicting file I was clearly very sloppy when I wrote the test case for experimental.updatecheck=noconflict. The test case that checks that one can move between commits with a removed file was deleting a file that was modified between the source and target commits, which resulted in a "change/delete" conflict. Since that is a conlict, the update correctly failed. Let's fix the test by removing a file that is not modified between the two commits.
Sat, 25 Feb 2017 17:08:42 +0900 branches: populate all template keywords in formatter
Yuya Nishihara <yuya@tcha.org> [Sat, 25 Feb 2017 17:08:42 +0900] rev 31173
branches: populate all template keywords in formatter This is a usage example of fm.context().
Sat, 25 Feb 2017 17:00:07 +0900 formatter: add support for changeset templating
Yuya Nishihara <yuya@tcha.org> [Sat, 25 Feb 2017 17:00:07 +0900] rev 31172
formatter: add support for changeset templating Some formatter-based commands provide fields that are identical to the ones defined in templatekw, but we had to specify them manually to support all changeset-based template keywords. This patch adds fm.context() that populates all templatekw. These keywords are available only in template output, so we still need to set important keywords via fm.data() if they should be available in e.g. JSON output. Currently fm.context() takes only 'ctx' argument. It will eventually be extended to take 'fctx' to support file-based keywords (e.g. {path}) seen in hgweb.
Sat, 25 Feb 2017 16:38:26 +0900 templatekw: move defaulttmpl constant from changeset_templater
Yuya Nishihara <yuya@tcha.org> [Sat, 25 Feb 2017 16:38:26 +0900] rev 31171
templatekw: move defaulttmpl constant from changeset_templater These templates are used when rendering inner lists of some template keywords, so it makes sense to define them in templatekw. This allows us to reuse them to create a templateformatter knowing changectx.
Sat, 25 Feb 2017 22:04:30 +0900 formatter: drop filters argument from maketemplater()
Yuya Nishihara <yuya@tcha.org> [Sat, 25 Feb 2017 22:04:30 +0900] rev 31170
formatter: drop filters argument from maketemplater() It's unused now. I want to keep the high-level API simple.
Sat, 25 Feb 2017 16:26:58 +0900 templater: port formatnode filter from changeset_templater
Yuya Nishihara <yuya@tcha.org> [Sat, 25 Feb 2017 16:26:58 +0900] rev 31169
templater: port formatnode filter from changeset_templater This slightly reduces the difference between changeset_templater and formatter, and helps extending formatter to support changeset templating. New formatnode() is not a template filter, but a function since a filter cannot access to ui. And it's marked as DEPRECATED since I think it exists only for compatibility reasons.
Mon, 13 Feb 2017 00:05:55 -0800 update: allow setting default update check to "noconflict"
Martin von Zweigbergk <martinvonz@google.com> [Mon, 13 Feb 2017 00:05:55 -0800] rev 31168
update: allow setting default update check to "noconflict" The new value allows update (linear or not) as long as they don't result in file merges. I'm hoping that this value can some day become the default.
Mon, 13 Feb 2017 16:03:05 -0800 update: add experimental config for default way of handling dirty wdir
Martin von Zweigbergk <martinvonz@google.com> [Mon, 13 Feb 2017 16:03:05 -0800] rev 31167
update: add experimental config for default way of handling dirty wdir This allows the user to set e.g. experimental.updatecheck=abort to abort update if the working directory is dirty, but still be able to override the behavior with e.g. --merge when needed. I considered adding a --mergelinear option to get back the old behavior even when experimental.updatecheck=abort is set, but I couldn't see why anyone would prefer that over --merge. The default is read in hg.updatetotally(), which means it also applies to "hg pull -u" and "hg unbundle -u".
Mon, 13 Feb 2017 12:58:37 -0800 update: accept --merge to allow merging across topo branches (issue5125)
Martin von Zweigbergk <martinvonz@google.com> [Mon, 13 Feb 2017 12:58:37 -0800] rev 31166
update: accept --merge to allow merging across topo branches (issue5125)
Mon, 27 Feb 2017 15:09:19 -0800 merge: combine the "merge" cases in docstring table
Martin von Zweigbergk <martinvonz@google.com> [Mon, 27 Feb 2017 15:09:19 -0800] rev 31165
merge: combine the "merge" cases in docstring table
Mon, 27 Feb 2017 15:07:01 -0800 merge: combine "dirty" cases in docstring table
Martin von Zweigbergk <martinvonz@google.com> [Mon, 27 Feb 2017 15:07:01 -0800] rev 31164
merge: combine "dirty" cases in docstring table
Mon, 27 Feb 2017 15:29:34 -0800 merge: clarify non-linear default updates in docstring table
Martin von Zweigbergk <martinvonz@google.com> [Mon, 27 Feb 2017 15:29:34 -0800] rev 31163
merge: clarify non-linear default updates in docstring table Non-linear updates won't happen by default, regardless of -c/-C.
Mon, 27 Feb 2017 15:02:36 -0800 merge: combine the two "can't happen" cases in docstring table
Martin von Zweigbergk <martinvonz@google.com> [Mon, 27 Feb 2017 15:02:36 -0800] rev 31162
merge: combine the two "can't happen" cases in docstring table
Mon, 27 Feb 2017 15:00:13 -0800 merge: move "incompatible options" case first in docstring table
Martin von Zweigbergk <martinvonz@google.com> [Mon, 27 Feb 2017 15:00:13 -0800] rev 31161
merge: move "incompatible options" case first in docstring table
Mon, 27 Feb 2017 14:58:53 -0800 merge: make "linear" an input in docstring table
Martin von Zweigbergk <martinvonz@google.com> [Mon, 27 Feb 2017 14:58:53 -0800] rev 31160
merge: make "linear" an input in docstring table Instead of having two ouputs, it seem simpler to have an addition input. This will allow further simplification.
Mon, 27 Feb 2017 14:33:17 -0800 merge: drop redundant column in docstring table
Martin von Zweigbergk <martinvonz@google.com> [Mon, 27 Feb 2017 14:33:17 -0800] rev 31159
merge: drop redundant column in docstring table The "same" and "cross" columns now have the same values, so let's combine them into "non-linear".
Mon, 27 Feb 2017 14:27:22 -0800 merge: drop obsolete non-linear cases from docstring table
Martin von Zweigbergk <martinvonz@google.com> [Mon, 27 Feb 2017 14:27:22 -0800] rev 31158
merge: drop obsolete non-linear cases from docstring table Since 6b1fc09c699a (update: change default destination to tipmost descendant (issue4673) (BC), 2016-02-02), non-linear updates can no longer happen if the user doesn't specify a destination, so we can drop these case from the table in the docstring of merge.update().
Wed, 24 Feb 2016 14:44:14 -0800 revert: move code dealing with deletions closer together
Martin von Zweigbergk <martinvonz@google.com> [Wed, 24 Feb 2016 14:44:14 -0800] rev 31157
revert: move code dealing with deletions closer together
Fri, 03 Mar 2017 14:10:06 -0500 ui: fix configlist on Python 3
Augie Fackler <raf@durin42.com> [Fri, 03 Mar 2017 14:10:06 -0500] rev 31156
ui: fix configlist on Python 3 Since we're working on bytestrings, we have to use [offset:offset+1] to get consistent behavior on Python 2 and 3. I've only tested the _parse_plain closure, not the _parse_quote one, but I have no real reason to expect the latter to be broken since the fixes were fairly mechanical.
Fri, 03 Mar 2017 12:55:49 -0500 config: pass some optional args as keywords
Augie Fackler <raf@durin42.com> [Fri, 03 Mar 2017 12:55:49 -0500] rev 31155
config: pass some optional args as keywords This makes it a little more obvious that self.read is being passed as include, which took me a moment to figure out.
Fri, 03 Mar 2017 13:28:24 -0500 config: load included config files in binary mode
Augie Fackler <raf@durin42.com> [Fri, 03 Mar 2017 13:28:24 -0500] rev 31154
config: load included config files in binary mode I guess we've been getting lucky that this works in Python 2. This fixes loading included config files in Python 3 (it used to fail on the "somebody set up us the BOM" check.)
Wed, 01 Mar 2017 16:39:48 -0800 manifest: remove _repo from manifestctx objects
Durham Goode <durham@fb.com> [Wed, 01 Mar 2017 16:39:48 -0800] rev 31153
manifest: remove _repo from manifestctx objects We were storing the repo on the manifestctx objects so that they could access the manifestlog via repo.manifestlog, which would refresh the structure if it became out of date. This caused probems however when we want to have multiple manifest logs in memory at once, like when transitioning to tree manifest from flat manifests, since a tree manifest would try to access sub-trees via repo.manifestlog[node], which was the flat manifest. The solution is to just not store the repo, and instead store the manifestlog that created this context. This removes the invalidation when the in memory manifestlog becomes out of date, but people should probably not be keeping ctx's around that long anyway.
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip