Mercurial > hg4j
view TODO @ 288:b11f6a08f748
Avoid boxing int values and list resizes on revlog read
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Sat, 10 Sep 2011 00:18:39 +0200 |
parents | ffc5f6d59f7e |
children | 9517df1ef7ec |
line wrap: on
line source
Read-only support, version 1.0 ============================== Committed: * store+fncache, RevlogNG (i.e. no support for older store formats) * hg log + user, branch, limit - date, + filename + filename and follow history * hg manifest (aka ls) * hg status + copies for [revision..revision] and for [revision..working dir] + path or anything meaningful instead of Strings + matchers * hg cat + CatCommand. File, revision. + Cat command line client + hgignore + glob + pattern + Tests with JUnit + allow to specify repo location (system property) + keep a .zip of repo along with tests * tags * Tags are read and can be queried (cmdline Log does) * keywords + filter with context (HgRepository + Path + Direction (to/from repo) - filters shall have weight (to allow certain filter come first). Would need that once FilterFactories are pluggable * newlines + \r\n <==> \n - force translation if inconsistent (now either fails or does nothing) * API - CommandContext + Data access - not bytes, but ByteChannel - HgRepository constants (TIP, BAD, WC) to HgRevisions enum Proposed: - LogCommand.revision(int... rev)+ to walk selected revisions only (list->sort(array) on execute, binary search) - LogCommand.before(Date date) and .after() - LogCommand.match() to specify pattern, no selected file()s only? * RepositoryFacade and CommandContext - hgignore: read extra ignore files from config file (ui.ignore) - Revlog iteration in reversed order (either support internally in RevlogStream or externally, windowed access) Read-only support, version 1.1 ============================== Committed: * Network protocol/connections: + http * https (respects no certificates) - ssh * incoming + 'lite' (revisions only) + 'full' (complete changelog) * branches (no tests) - subrepositories * outgoing + 'lite' (revisions only) + 'full' (complete changelog access) * branches (no tests) - subrepositories * clone remote repo + into new or empty directory - populate working copy