baseset: remove ascending/descending redefinition
We can rely on the abstractsmartset implementation.
abstractsmartset: default implementation for `ascending` and `descending`
These two methods are actually silly aliases for `sort()` and
`sort(reverse=True)`. So we get that aliasing at the abstractsmartset level. We
will slowly phase out all the custom implementations and eventually remove any
mentions of it from the code.
revert: bring back usage of `subset & ps` in `parents`
Changeset
95af98616aa7 switched the order of the operand of the "&" computation
to work around an issue from repo-wide spanset. The need for a workaround has been
alleviated by the introduction of `fullreposet`. So we restore it to normal.
The benchmark shows no significant changes as expected.
We also revert the bogus test change introduced by
95af98616aa7. The order is
actually important.
color: update docstring for debug option
964dd1c491ca updated the format for the --color=debug option. This
updates the documentation to match this new format.
color: document the possibility to colourise tabs in diffs
This is a no-op change that simply suggests that tabs can be
colourised, but defaults to no colour effects for tabs. This
complements cset
c343557a8442.
Like the similar effects for phases from
f8e2aebbb24c, we set the
default effects to '' instead of None, so that this is a true noop
change. Otherwise, the diff.tab effect would override (i.e.
neutralise) the effect of the surrounding label.
contrib/synthrepo: walk a repo's directory structure during analysis
Augments the analyze command to additionally walk the repo's current
directory structure (or of any directory tree), counting how many files
appear in which paths. This data is saved in the repo model to be used
by synthesize, for creating an initial commit with many files.
This change is aimed at developing, testing and measuring scaling
improvements when importing/converting a large repository to mercurial.
contrib/synthrepo: generate initial repo contents using directory shape model
Augments the synthesize command to use an additional parameter to the analyzed
repo model: the number of files in each directory at a given snapshot. Before
synthesizing history, an arbitrary number of files will be generated in a
distribution matching the analyzed directory structure.
Intended for developing, testing and measuring scaling improvements when
importing/converting a large repository to Mercurial.
filemerge: introduce :x as short version of internal:x merge tool name
"internal:" is so much typing - it is frequently specified on the command line
and gives options that are longer than any other I have seen.