Mercurial > hg4j
view TODO @ 338:3cfa4d908fc9
Add options to control DataAccessProvider, allow to turn off use of file memory mapping in particular to solve potential sharing violation (os file handle gets released on MappedByteByffer being GC'd, not on FileChannel.close())
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Tue, 15 Nov 2011 04:47:03 +0100 |
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