log

age author description
Mon, 11 Jun 2018 13:00:15 +0900 FUJIWARA Katsunori i18n: format warning of hggettext in standard compiler error style
Mon, 11 Jun 2018 12:32:16 +0900 FUJIWARA Katsunori i18n: omit redundant translatable synopsis text to avoid xgettext warning
Thu, 02 Aug 2018 21:07:30 +0900 FUJIWARA Katsunori i18n: avoid substitution of PYFILES at runtime for readability of output
Thu, 02 Aug 2018 20:53:03 +0100 Martijn Pieters util: make new timedcmstats class Python 3 compatible
Wed, 01 Aug 2018 16:03:32 -0700 Danny Hooper fix: add a monkey-patchable point after all new revisions have been committed
Thu, 02 Aug 2018 13:35:13 -0700 Martin von Zweigbergk help: add quotes to a few commands we point to
Wed, 01 Aug 2018 23:25:35 -0400 Augie Fackler linelog: port to Python 3
Sat, 28 Jul 2018 17:42:36 -0700 Gregory Szorc exchange: move simple narrow changegroup generation from extension
Sat, 28 Jul 2018 17:33:20 -0700 Gregory Szorc exchange: make narrow ACL presence imply narrow=True
Sat, 28 Jul 2018 14:52:46 -0700 Gregory Szorc changegroup: inline prune() logic from narrow
Sun, 22 Jul 2018 15:50:45 +0900 Yuya Nishihara fileset: extract language processing part to new module (API)
Sat, 21 Jul 2018 15:23:56 +0900 Yuya Nishihara fileset: flatten 'or' nodes to unnest unionmatchers
Sat, 21 Jul 2018 15:14:38 +0900 Yuya Nishihara fileset: flatten arguments list
Sat, 21 Jul 2018 15:05:40 +0900 Yuya Nishihara debugfileset: add option to show matcher representation
Sat, 21 Jul 2018 14:52:36 +0900 Yuya Nishihara debugfileset: backport --show-stage option from debugrevspec
Sun, 22 Jul 2018 16:03:48 +0900 Yuya Nishihara lfs: remove callstatus property from 'lfs()' fileset
Thu, 05 Jul 2018 10:42:48 +0530 Sushil khanchi rebase: support "history-editing-backup" config option
Wed, 01 Aug 2018 16:06:53 +0200 Martijn Pieters extensions: add detailed loading information
Wed, 01 Aug 2018 16:05:41 +0200 Martijn Pieters util: create a context manager to handle timing
Wed, 01 Aug 2018 23:08:18 -0400 Augie Fackler linelog: fix import statements to pass the import checker on py3
Mon, 30 Jul 2018 10:42:37 -0400 Augie Fackler linelog: add a Python implementation of the linelog datastructure
Sat, 28 Jul 2018 11:40:31 -0700 Gregory Szorc changegroup: move file matcher from narrow extension
Thu, 26 Jul 2018 17:11:03 -0700 Kyle Lippincott resolve: add option to warn/abort on -m with unresolved conflict markers
Mon, 02 Jul 2018 18:39:48 -0700 Gregory Szorc exchange: refactor control flow of _getbundlechangegrouppart()
Mon, 02 Jul 2018 18:32:20 -0700 Gregory Szorc exchange: move _computeellipsis() from narrow
Mon, 02 Jul 2018 18:24:26 -0700 Gregory Szorc exchange: move narrow acl functionality into core
Sat, 28 Jul 2018 10:41:23 -0700 Gregory Szorc exchange: move disabling of rev-branch-cache bundle part out of narrow
Tue, 24 Jul 2018 10:47:42 -0700 Martin von Zweigbergk dispatch: show a short error message when invalid global option given
Tue, 24 Jul 2018 10:22:07 -0700 Martin von Zweigbergk dispatch: don't show list of commands on bogus command
Tue, 24 Jul 2018 22:51:11 -0700 Martin von Zweigbergk histedit: avoid repeating name of state file in a few places
Wed, 01 Aug 2018 13:10:07 -0700 Gregory Szorc py3: stop rewriting xrange() to pycompat.xrange()
Wed, 01 Aug 2018 13:08:00 -0700 Gregory Szorc check-code: ban use of bare xrange()
Wed, 01 Aug 2018 13:00:45 -0700 Gregory Szorc global: use pycompat.xrange()
Wed, 01 Aug 2018 12:57:15 -0700 Gregory Szorc pycompat: add xrange alias for Python 2
Tue, 31 Jul 2018 19:37:54 +0200 Martijn Pieters manifest: persist the manifestfulltext cache
Tue, 31 Jul 2018 19:37:48 +0200 Martijn Pieters debug: allow specifying a manifest node rather than a revision
Wed, 01 Aug 2018 12:24:52 -0700 Gregory Szorc packaging: always execute builddeb from source root stable
Fri, 20 Jul 2018 11:37:31 -0700 Martin von Zweigbergk perfmoonwalk: make work with filtered repo
Fri, 20 Jul 2018 11:17:33 -0700 Martin von Zweigbergk revlog: don't include trailing nullrev in revlog.revs(stop=len(revlog))
Mon, 16 Jul 2018 14:15:29 -0400 Augie Fackler patchbomb: ensure all headers and values given to email mod are native strings
Mon, 30 Jul 2018 14:37:36 -0700 Martin von Zweigbergk context: delete an obsolete comment
Fri, 27 Jul 2018 14:48:58 -0700 Martin von Zweigbergk templatekw: use ctx1.status(ctx2) instead of repo.status(ctx1, ctx2)
Fri, 27 Jul 2018 14:48:34 -0700 Martin von Zweigbergk patch: use ctx1.status(ctx2) instead of repo.status(ctx1, ctx2)
Fri, 27 Jul 2018 14:48:06 -0700 Martin von Zweigbergk fileset: use ctx1.status(ctx2) instead of repo.status(ctx1, ctx2)
Fri, 27 Jul 2018 14:47:38 -0700 Martin von Zweigbergk uncommit: use ctx1.status(ctx2) instead of repo.status(ctx1, ctx2)
Fri, 27 Jul 2018 14:46:59 -0700 Martin von Zweigbergk fix: use ctx1.status(ctx2) instead of repo.status(ctx1, ctx2)
Fri, 27 Jul 2018 14:49:45 -0700 Martin von Zweigbergk amend: use ctx1.status(ctx2) instead of repo.status(ctx1, ctx2)
Thu, 19 Jul 2018 23:22:05 -0700 Rodrigo Damazio Bovendorp dispatch: making all hg abortions be output with a specific label
Thu, 19 Jul 2018 15:21:28 -0400 Augie Fackler ui: fix implicit unicode-to-bytes conversion introduced in 9df29b7c62cf
Wed, 01 Aug 2018 10:23:57 -0400 Augie Fackler merge with stable
Wed, 01 Aug 2018 10:20:19 -0400 Augie Fackler Added signature for changeset 33ac6a72308a stable
Wed, 01 Aug 2018 10:20:18 -0400 Augie Fackler Added tag 4.7 for changeset 33ac6a72308a stable
Wed, 01 Aug 2018 10:23:48 +0200 Boris Feld revlog: fix descendant deprecated method stable 4.7
Tue, 31 Jul 2018 13:46:57 -0700 Gregory Szorc ui: remove commands.status.terse=u from ui.tweakdefaults stable
Wed, 25 Jul 2018 21:19:06 +0300 Pulkit Goyal context: safegaurd against 'lx' being passed as file flag in manifest stable
Tue, 31 Jul 2018 13:53:06 -0700 Boris Feld localrepo: unconditionally enable general delta with sparse revlogs stable
Mon, 30 Jul 2018 15:53:47 +0200 Boris Feld sparse-revlog: also use sparse-revlog config as a general delta trigger stable
Sun, 29 Jul 2018 16:25:51 +0900 Yuya Nishihara fileset: suppress EACCES while reading arbitrary paths via filectx API stable
Fri, 27 Jul 2018 14:56:10 +0300 Pulkit Goyal merge: do the trivial resolution after updating sparse checkout stable
Fri, 27 Jul 2018 14:53:28 +0300 Pulkit Goyal sparse: add test showing `hg merge` is broken while using sparse extension stable
Mon, 30 Jul 2018 14:36:42 -0700 Martin von Zweigbergk context: use hex nodeid in error about filtered node stable
Tue, 31 Jul 2018 10:55:14 +0200 Boris Feld doc: fix underline length for config title (issue5949) stable
Mon, 30 Jul 2018 15:36:04 +0200 Boris Feld clone: process 'lookup' return as an arbitrary symbol stable
Mon, 30 Jul 2018 10:18:29 -0400 Augie Fackler tests: use inline Python instead of sed to add trailing whitespace stable
Mon, 30 Jul 2018 09:50:32 -0400 Augie Fackler context: add missing b prefix stable
Sat, 28 Jul 2018 16:36:35 +0900 Yuya Nishihara doctest: convert matcher root to native path stable
Mon, 30 Jul 2018 21:26:55 +0900 Yuya Nishihara test-fileset: make con.xml in output conditionally available stable
Sat, 28 Jul 2018 15:52:03 +0900 Yuya Nishihara test-obsmarker-template: run mkcommit in subshell to isolate envvars stable
Sat, 28 Jul 2018 15:49:51 +0900 Yuya Nishihara test-obsmarker-template: add missing HGENCODING=latin-1 stable
Thu, 26 Jul 2018 10:06:46 -0700 Gregory Szorc gitweb: add link to graph stable
Wed, 25 Jul 2018 10:05:24 +0200 Cédric Krier hgweb: strip trailing '/' in apppath before appending '/static/' (issue5943) stable
Fri, 20 Jul 2018 09:08:20 +0200 Boris Feld config: rename `revlog` section into `storage` stable
Thu, 19 Jul 2018 14:17:26 -0400 Augie Fackler Added signature for changeset e90130af47ce stable
Thu, 19 Jul 2018 14:17:25 -0400 Augie Fackler Added tag 4.7rc0 for changeset e90130af47ce stable
Thu, 19 Jul 2018 11:10:48 -0700 Gregory Szorc configitems: restore alias for format.aggressivemergedeltas stable 4.7rc0
Thu, 19 Jul 2018 21:36:24 +0900 Yuya Nishihara worker: call selector.close() to release polling resources stable
Thu, 19 Jul 2018 13:55:54 -0400 Augie Fackler release: merge default into stable for 4.7 release freeze stable
Thu, 19 Jul 2018 22:30:37 +0530 Sushil khanchi histedit: drop --no-backup option
Thu, 19 Jul 2018 10:35:29 +0200 Boris Feld aggressivemergedelta: document rename and move to `revlog` section
Thu, 19 Jul 2018 10:06:58 +0200 Boris Feld aggressivemergedeltas: rename variable internally
Thu, 19 Jul 2018 09:57:42 +0200 Boris Feld config: document the purpose of the `format` config section
Wed, 18 Jul 2018 18:36:39 -0700 Rodrigo Damazio macosx: fixing macOS version generation after db9d1dd01bf0
Tue, 10 Jul 2018 17:01:06 +0530 Sushil khanchi histedit: add history-editing-backup config option
Wed, 18 Jul 2018 09:49:34 -0700 Gregory Szorc merge: mark file gets as not thread safe (issue5933)
Wed, 18 Jul 2018 09:46:45 -0700 Gregory Szorc worker: ability to disable thread unsafe tasks
Tue, 17 Jul 2018 16:57:27 -0700 Gregory Szorc worker: rename variable to reflect constant
Mon, 16 Jul 2018 17:52:17 -0700 Danny Hooper worker: use one pipe per posix worker and select() in parent process
Sun, 28 Jan 2018 13:20:52 +0100 Joerg Sonnenberger tests: refactor common bundle2 capabilities
Mon, 16 Jul 2018 18:02:30 +0200 Boris Feld debug: move extensions debug behind a dedicated flag
Mon, 16 Jul 2018 11:38:56 -0700 Kyle Lippincott curses: use "text" interface if TERM=dumb
Mon, 16 Jul 2018 00:32:33 -0400 Matt Harbison windows: expand '~/' and '~\' to %USERPROFILE% when translating to cmd.exe
Sun, 15 Jul 2018 23:58:39 -0400 Matt Harbison windows: replace single quote with double quote when translating to cmd.exe
Sun, 15 Jul 2018 23:51:43 -0400 Matt Harbison hook: only print the note about native cmd translation if it actually changes
Sun, 15 Jul 2018 23:46:09 -0400 Matt Harbison hook: disable the shell to native command translation by default
Mon, 16 Jul 2018 17:47:58 -0700 Mike Hommey setup: allow to run setup.py with python 3 without a mercurial checkout
Thu, 21 Jun 2018 18:05:55 +0200 Paul Morelle upgrade: enable adding or removing sparse-revlog requirement
Mon, 16 Jul 2018 17:10:52 -0700 Paul Morelle upgrade: add information about sparse-revlog
Tue, 05 Jun 2018 08:19:35 +0200 Paul Morelle sparse-revlog: implement algorithm to write sparse delta chains (issue5480)
Mon, 04 Jun 2018 22:23:18 +0200 Paul Morelle sparse-revlog: new requirement enabled with format.sparse-revlog
Mon, 04 Jun 2018 12:12:00 +0200 Paul Morelle revlog: extract `deltainfo.distance` for future conditional redefinition
Mon, 16 Jul 2018 14:04:48 -0700 Danny Hooper shelve: pick the most recent shelve if none specified for --patch/--stat
Fri, 13 Jul 2018 13:48:56 -0700 Danny Hooper shelve: improve help text for --patch and --stat
Thu, 12 Jul 2018 18:46:10 +0200 Joerg Sonnenberger ssh: avoid reading beyond the end of stream when using compression
Mon, 16 Jul 2018 16:46:32 +0200 Boris Feld revset: add larger test for heads(ancestors(…))
Mon, 16 Jul 2018 16:43:35 +0200 Boris Feld revset-benchmark: use a generic revset to test `heads(commonancestors())`
Mon, 16 Jul 2018 16:22:43 +0200 Boris Feld revlog: reintroduce `revlog.descendant` as deprecated
Mon, 16 Jul 2018 16:21:12 +0200 Boris Feld context: reintroduce `ctx.descendant` as deprecated
Sun, 15 Jul 2018 18:32:17 +0900 Yuya Nishihara obsolete: explode if metadata contains invalid UTF-8 sequence (API)
Sun, 15 Jul 2018 18:24:57 +0900 Yuya Nishihara obsolete: store user name and note in UTF-8 (issue5754) (BC)
Sun, 15 Jul 2018 18:22:40 +0900 Yuya Nishihara obsolete: clarify users in markerusers() never contain None
Thu, 12 Jul 2018 23:07:29 +0900 Yuya Nishihara revset: special case commonancestors(none()) to be empty set
Tue, 10 Jul 2018 23:01:53 +0900 Yuya Nishihara revset: clarify heads() order doesn't matter while computing common ancestors
Sat, 14 Jul 2018 10:51:52 +0900 Yuya Nishihara hghave: require clang-format >= 6 due to output change
Sat, 14 Jul 2018 10:50:10 +0900 Yuya Nishihara cext: reformat with clang-format 6.0
Sun, 08 Jul 2018 19:52:35 +0900 Yuya Nishihara py3: use bytes() to byte-stringify Abort message in handleremotechangegroup()
Sun, 08 Jul 2018 19:44:51 +0900 Yuya Nishihara py3: don't str() to byte-stringify object in test-bundle2-remote-changegroup.t
Sun, 08 Jul 2018 19:39:11 +0900 Yuya Nishihara py3: byte-stringify literals in extension in test-bundle2-remote-changegroup.t
Sun, 08 Jul 2018 19:41:00 +0900 Yuya Nishihara py3: open file in binary mode in test-bundle2-remote-changegroup.t
Fri, 01 Jun 2018 12:10:34 +0200 Boris Feld statprof: small if cleanup
Sat, 14 Jul 2018 02:10:43 +0200 Boris Feld store: assert the fncache have been loaded if dirty
Sat, 14 Jul 2018 02:09:47 +0200 Boris Feld perffncachewrite: load fncache after lock is acquired
Fri, 22 Jun 2018 11:02:42 +0100 Boris Feld perf: add a 'perf.all-timing' option to display more than best time
Wed, 11 Jul 2018 10:46:15 +0200 Boris Feld perf: document the perfmanifest command
Sat, 09 Jun 2018 22:38:29 +0900 Yuya Nishihara fileset: remove fullmatchctx class
Sat, 09 Jun 2018 22:35:21 +0900 Yuya Nishihara fileset: remove subset and unused filtering functions from matchctx
Sat, 09 Jun 2018 22:31:51 +0900 Yuya Nishihara fileset: remove callexisting flag and mctx.existing() (API)
Sat, 09 Jun 2018 19:55:10 +0900 Yuya Nishihara fileset: rewrite predicates to return matcher not closed to subset (API) (BC)
Tue, 10 Jul 2018 23:49:48 +0900 Yuya Nishihara highlight: use matcher API to test if file should be pygmentized
Sun, 10 Jun 2018 20:58:10 +0900 Yuya Nishihara fileset: parse argument of size() by predicate function
Sun, 10 Jun 2018 22:19:56 +0900 Yuya Nishihara fileset: add "tracked()" to explicitly select files in the revision
Sat, 09 Jun 2018 18:11:49 +0900 Yuya Nishihara fileset: rewrite andset() to not use mctx.narrow()
Sun, 10 Jun 2018 20:02:53 +0900 Yuya Nishihara fileset: add helpers to make predicatematcher and nevermatcher
Sat, 14 Jul 2018 13:21:49 +0900 Yuya Nishihara phases: micro-optimize newheads() to not create context objects
Sat, 14 Jul 2018 13:19:18 +0900 Yuya Nishihara phases: remove excessive optimization from newheads() (issue5939)
Sun, 15 Jul 2018 15:48:18 +0530 Sushil khanchi rebase: remove unused variable "release" and an extra blank line
Sat, 14 Jul 2018 23:00:22 +0530 Sushil khanchi rebase: remove unnecessary confirm block
Sat, 14 Jul 2018 08:59:42 +0530 Sushil khanchi rebase: in --confirm option just abort if hit a conflict
Thu, 12 Jul 2018 15:29:03 +0200 Joerg Sonnenberger pullbundle: fix handling of gzip bundlespecs
Wed, 11 Jul 2018 16:44:33 -0700 Gregory Szorc tests: add test demonstrating phase loss when cloning (issue5939)
Fri, 13 Jul 2018 14:20:12 -0700 Gregory Szorc scmutil: rewrite docstring for filecache
Thu, 12 Jul 2018 22:35:54 +0530 Sushil khanchi rebase: correct misleading message in --confirm option
Thu, 12 Jul 2018 22:23:51 +0530 Sushil khanchi rebase: make sure we don't loose the return code in --confirm option
Wed, 11 Jul 2018 15:12:01 -0700 Martin von Zweigbergk rebase: use revnums (not nodes) for set of extinct revisions
Wed, 11 Jul 2018 15:01:47 -0700 Martin von Zweigbergk rebase: avoid converting from nodes to revnums twice
Wed, 11 Jul 2018 15:03:39 -0700 Martin von Zweigbergk rebase: reduce scope of a variable
Thu, 12 Jul 2018 08:22:28 -0700 Martin von Zweigbergk context: rename descendant() to isancestorof()
Thu, 12 Jul 2018 09:25:02 -0700 Martin von Zweigbergk copies: delete now-unnecessary check for "a == b" before "a.descendant(b)"
Thu, 12 Jul 2018 08:14:21 -0700 Martin von Zweigbergk revlog: delete isdescendantrev() in favor of isancestorrev()
Sat, 30 Jun 2018 12:42:49 +0530 Sushil khanchi rebase: add --confirm option
Wed, 11 Jul 2018 16:29:23 -0700 Martin von Zweigbergk revlog: introduce a isancestorrev() and use it in rebase
Wed, 11 Jul 2018 16:37:30 -0700 Martin von Zweigbergk revlog: make isdescendantrev(a, b) check if a < b
Wed, 11 Jul 2018 16:21:41 -0700 Martin von Zweigbergk revlog: replace descendant(b, a) by isdescendantrev(a, b) (API)
Wed, 11 Jul 2018 16:27:40 -0700 Martin von Zweigbergk revlog: move comment about commonancestorsheads where it's used
Wed, 11 Jul 2018 13:02:06 -0700 Kyle Lippincott removeemptydirs: add test for `hg split` inside a disappearing directory
Wed, 11 Jul 2018 14:28:13 +0100 Martijn Pieters fncache: avoid loading the filename cache when not actually modifying it
Wed, 11 Jul 2018 16:11:33 +0200 Sune Foldager tests: add diff color trailing whitespace test
Wed, 11 Jul 2018 13:40:50 -0400 Augie Fackler scmutil: fix shortesthexnodeidprefix on Python 3 for 0-prefixed nodes
Wed, 11 Jul 2018 12:36:37 -0400 Augie Fackler tests: add missing b prefix in test-context.py
Wed, 11 Jul 2018 11:43:22 -0400 Augie Fackler manifest: just duplicate the definition of items as iteritems
Wed, 11 Jul 2018 11:41:14 -0400 Augie Fackler tests: properly sort imports in test-nointerrupt.t
Wed, 11 Jul 2018 11:34:41 -0400 Augie Fackler revlog: adjust doctest examples to be portable to Python 3
Wed, 11 Jul 2018 13:41:47 -0400 Augie Fackler py3: whitelist 3 more passing tests caught with the ratchet
Tue, 10 Jul 2018 22:55:30 +0900 Yuya Nishihara grep: hide cryptic revision number by default
Wed, 11 Jul 2018 22:06:04 +0900 Yuya Nishihara grep: restore pre-9ef10437bb88 behavior, enable wdir search by tweakdefaults
Wed, 11 Jul 2018 21:51:47 +0900 Yuya Nishihara grep: add config knob to enable/disable the default wdir search
Wed, 11 Jul 2018 21:35:31 +0900 Yuya Nishihara grep: search working directory files by default if --all-files is specified
Wed, 11 Jul 2018 21:23:18 +0900 Yuya Nishihara grep: reject --diff --all-files
Wed, 11 Jul 2018 21:15:52 +0900 Yuya Nishihara grep: rename --allfiles to --all-files
Wed, 11 Jul 2018 13:48:44 +0200 Boris Feld debugdeltachain: protect against 0 readsize
Thu, 21 Jun 2018 18:19:57 +0200 Paul Morelle debugdeltachain: avoid division by zero when a chain is empty
Mon, 09 Jul 2018 15:33:49 -0700 Danny Hooper tests: prevent conflict markers in test case from triggering warnings
Tue, 10 Jul 2018 12:20:57 +0200 Boris Feld revlog: enforce chunk slicing down to a certain size
Tue, 10 Jul 2018 11:57:33 +0200 Boris Feld revlog: postprocess chunk to slice them down to a certain size
Wed, 11 Jul 2018 00:35:01 -0700 Boris Feld revlog: add function to slice chunk down to a given size
Tue, 10 Jul 2018 11:53:36 +0200 Boris Feld revlog: extract density based slicing into its own function
Tue, 10 Jul 2018 10:34:33 +0200 Boris Feld revlog: document and test _slicechunk
Tue, 10 Jul 2018 10:18:46 +0200 Boris Feld revlog: add a doctest for _segmentspan
Tue, 10 Jul 2018 10:04:44 +0200 Boris Feld revlog: add a doctest to _trimchunk
Tue, 10 Jul 2018 10:04:31 +0200 Boris Feld revlog: introduce a tiny mock of a revlog class
Thu, 17 May 2018 15:10:36 +0200 Paul Morelle revlog: _segmentspan computes the byte span of a segment
Tue, 10 Jul 2018 15:17:05 -0700 Boris Feld revlog: early return in _slicechunk when span is already small enough
Tue, 19 Jun 2018 15:03:58 +0200 Paul Morelle revlog: early return in _slicechunk when density is already good
Tue, 10 Jul 2018 02:33:43 +0200 Boris Feld sparse-read: discard gap below 65K only
Fri, 22 Jun 2018 17:12:24 +0200 Paul Morelle sparse-read: target density of 50% instead of 25%
Fri, 06 Jul 2018 00:39:21 +0530 Sangeet Kumar Mishra grep: change default behaviour to search working directory files (BC)
Tue, 10 Jul 2018 13:18:34 +0200 Sune Foldager patch: don't separate \r and \n when colorizing diff output
Sat, 07 Jul 2018 23:38:06 -0400 Matt Harbison hook: add support for disabling the shell to native command translation
Sat, 07 Jul 2018 23:47:49 -0400 Matt Harbison hook: narrow the 'priority' prefix check to align with the documentation
Sat, 07 Jul 2018 22:13:56 -0400 Matt Harbison windows: don't consider '$$' to be an escaped '$' when translating to cmd.exe
Wed, 20 Jun 2018 17:07:46 -0700 Sean Farley contrib: add heads(commonancestors(_)) to all-revsets
Tue, 26 Jun 2018 15:26:21 -0700 Sean Farley revset: add optimization for heads(commonancestors())
Mon, 18 Jun 2018 19:41:54 -0700 Sean Farley revsets: add commonancestors revset