##// END OF EJS Templates
repository: establish API for emitting revision deltas...
repository: establish API for emitting revision deltas With our revision delta and revision delta request interfaces defined, it is now time to define a method on storage interfaces for using them. So far, the only storage interface that is well-defined and used is file storage. So that is the only interface we need to add a method on. We define an ``emitrevisiondeltas()`` method that takes an iterable of ``irevisiondeltarequest``s and turns them into ``irevisiondelta`` instances. changegroup._handlerevisiondeltarequest() and the looping logic from changegroup.deltagroup() has effectively been moved to revlog.emitrevisiondeltas(). Our filelog wrapper class proxies its emitrevisiondeltas() to the internal revlog instance. The simple store test extension used to verify sanity of storage abstractions has also implemented emitrevisiondeltas() for file storage and the test harness when run with this extension doesn't seem to exhibit any regressions. Rather than create a shared type to represent revision deltas, each storage backend has its own type and the class name identifies where the revision delta was derived from. Differential Revision: https://phab.mercurial-scm.org/D4226

File last commit:

r38469:b45c353e default
r39267:b41d023a default
Show More
map-cmdline.show
25 lines | 1.1 KiB | text/plain | TextLexer
Gregory Szorc
show: add basic labels to work template...
r32059 # TODO there are a few deficiencies in this file:
# * The "namespace" of the labels needs to be worked out. We currently
# piggyback on existing values so color works.
Denis Laxalde
show: use labelcset() template alias for work (and stack) views...
r34878
%include map-cmdline.default
Yuya Nishihara
templater: load template fragments from [templates] section in map file...
r34715
[templates]
Gregory Szorc
show: pass the minimum length for nodes as a template keyword...
r34191 showbookmarks = '{if(active, "*", " ")} {pad(bookmark, longestbookmarklen + 4)}{shortest(node, nodelen)}\n'
Gregory Szorc
show: construct changeset templater during dispatch...
r33046
Gregory Szorc
show: show all namespaces in "work" view...
r33050 showwork = '{cset_shortnode}{namespaces % cset_namespace} {cset_shortdesc}'
Gregory Szorc
show: implement "stack" view...
r33194 showstack = '{showwork}'
Gregory Szorc
show: construct changeset templater during dispatch...
r33046
Denis Laxalde
show: use labelcset() template alias for work (and stack) views...
r34878 cset_shortnode = '{labelcset(shortest(node, nodelen))}'
Gregory Szorc
show: show all namespaces in "work" view...
r33050
# Treat branch and tags specially so we don't display "default" or "tip"
cset_namespace = '{ifeq(namespace, "branches", names_branches, ifeq(namespace, "tags", names_tags, names_others))}'
names_branches = '{ifeq(branch, "default", "", " ({label('log.{colorname}', branch)})")}'
Yuya Nishihara
show: use filter() function to strip "tip" tag...
r38469 names_tags = '{if(filter_tags(names),
" ({label('log.{colorname}', join(filter_tags(names), ' '))})")}'
Gregory Szorc
show: show all namespaces in "work" view...
r33050 names_others = '{if(names, " ({label('log.{colorname}', join(names, ' '))})")}'
Gregory Szorc
show: construct changeset templater during dispatch...
r33046 cset_shortdesc = '{label("log.description", desc|firstline)}'
Yuya Nishihara
show: use filter() function to strip "tip" tag...
r38469
[templatealias]
filter_tags(names) = filter(names, ifeq(name, 'tip', '', name))