view TODO @ 197:3a7696fb457c

Investigate optimization options to allow fast processing of huge repositories. Fix defect in StatusCollector that lead to wrong result comparing first revision to empty repo (-1 to 0), due to same TIP constant value
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Tue, 19 Apr 2011 03:49:29 +0200
parents 947bf231acbb
children ffc5f6d59f7e
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)


Read-only support, version 1.1
==============================
Committed:
* http, https and ssh connections:
  
* incoming

* outgoing

- clone remote repo