##// 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:

r38982:f9a98075 default
r39267:b41d023a default
Show More
map-cmdline.status
21 lines | 972 B | text/plain | TextLexer
Jordi Gutiérrez Hermoso
log: add a status template...
r25006 %include map-cmdline.default
Yuya Nishihara
templater: load template fragments from [templates] section in map file...
r34715 [templates]
Jordi Gutiérrez Hermoso
log: add a status template...
r25006 # Override base templates
Yuya Nishihara
templates: rename "user" to "luser" defined in default map file (API)...
r38982 changeset = '{cset}{branches}{bookmarks}{tags}{parents}{luser}{ldate}{summary}{lfiles}\n'
changeset_verbose = '{cset}{branches}{bookmarks}{tags}{parents}{luser}{ldate}{description}{lfiles}\n'
changeset_debug = '{fullcset}{branches}{bookmarks}{tags}{lphase}{parents}{manifest}{luser}{ldate}{extras}{description}{lfiles}\n'
Jordi Gutiérrez Hermoso
log: add a status template...
r25006
# Override the file templates
lfiles = '{if(files,
label('ui.note log.files',
Yuya Nishihara
log: fix status template to list copy source per dest (issue5155)...
r29000 'files:\n'))}{lfile_mods}{lfile_adds}{lfile_dels}'
Jordi Gutiérrez Hermoso
log: add a status template...
r25006
Yuya Nishihara
log: fix status template to list copy source per dest (issue5155)...
r29000 lfile_adds = '{file_adds % "{lfile_add}{lfile_src}"}'
lfile_mods = '{file_mods % "{lfile_mod}{lfile_src}"}'
Jordi Gutiérrez Hermoso
log: add a status template...
r25006 lfile_add = '{label("status.added", "A {file}\n")}'
Yuya Nishihara
log: fix status template to list copy source per dest (issue5155)...
r29000 lfile_mod = '{label("status.modified", "M {file}\n")}'
lfile_src = '{ifcontains(file, file_copies_switch,
label("status.copied", " {get(file_copies_switch, file)}\n"))}'
Jordi Gutiérrez Hermoso
log: add a status template...
r25006
lfile_dels = '{file_dels % "{label('status.removed', 'R {file}\n')}"}'