view TODO @ 709:497e697636fc

Report merged lines as changed block if possible, not as a sequence of added/deleted blocks. To facilitate access to merge parent lines AddBlock got mergeLineAt() method that reports index of the line in the second parent (if any), while insertedAt() has been changed to report index in the first parent always
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Wed, 21 Aug 2013 16:23:27 +0200
parents b3c16d1aede0
children
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)


RELEASE NOTES 1.0
* Known issues and limitations:
  ** Configuration files listed under HKEY_LOCAL_MACHINE\SOFTWARE\Mercurial are not processed
  ** %include and %unset directives in config files
  ** additional locations of ignore configuration are not read/processed from ui.ignore.*
  ** subrepositories and path mapping in cfg 

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