Mercurial > jhg
comparison design.txt @ 93:d55d4eedfc57
Switch to Path instead of String in filenames returned by various status operations
| author | Artem Tikhomirov <tikhomirov.artem@gmail.com> | 
|---|---|
| date | Thu, 27 Jan 2011 21:15:21 +0100 | 
| parents | 08754fce5778 | 
| children | 44b97930570c | 
   comparison
  equal
  deleted
  inserted
  replaced
| 92:bf304cb14247 | 93:d55d4eedfc57 | 
|---|---|
| 40 | 40 | 
| 41 delta merge | 41 delta merge | 
| 42 DataAccess - collect debug info (buffer misses, file size/total read operations) to find out better strategy to buffer size detection. Compare performance. | 42 DataAccess - collect debug info (buffer misses, file size/total read operations) to find out better strategy to buffer size detection. Compare performance. | 
| 43 | 43 | 
| 44 Strip off metadata from beg of the stream - DataAccess (with rebase/moveBaseOffset(int)) would be handy | 44 Strip off metadata from beg of the stream - DataAccess (with rebase/moveBaseOffset(int)) would be handy | 
| 45 Parameterize StatusCollector to produce copy only when needed. And HgDataFile.metadata perhaps should be moved to cacheable place? | |
| 45 | 46 | 
| 46 Status operation from GUI - guess, usually on a file/subfolder, hence API should allow for starting path (unlike cmdline, seems useless to implement include/exclide patterns - GUI users hardly enter them, ever) | 47 Status operation from GUI - guess, usually on a file/subfolder, hence API should allow for starting path (unlike cmdline, seems useless to implement include/exclide patterns - GUI users hardly enter them, ever) | 
| 47 -> recently introduced FileWalker may perhaps help solving this (if starts walking from selected folder) for status op against WorkingDir? | 48 -> recently introduced FileWalker may perhaps help solving this (if starts walking from selected folder) for status op against WorkingDir? | 
| 48 | 49 | 
| 49 ? Can I use fncache (names from it - perhaps, would help for Mac issues Alex mentioned) | 50 ? Can I use fncache (names from it - perhaps, would help for Mac issues Alex mentioned) | 
| 54 changes repository, hence manifest should update nodeids of the files it lists, effectively creating new manifest revision. | 55 changes repository, hence manifest should update nodeids of the files it lists, effectively creating new manifest revision. | 
| 55 | 56 | 
| 56 ? hg status, compare revision and local file with kw expansion and eol extension | 57 ? hg status, compare revision and local file with kw expansion and eol extension | 
| 57 ? subrepos in log, status (-S) and manifest commands | 58 ? subrepos in log, status (-S) and manifest commands | 
| 58 | 59 | 
| 60 | |
| 59 Commands to get CommandContext where they may share various caches (e.g. StatusCollector) | 61 Commands to get CommandContext where they may share various caches (e.g. StatusCollector) | 
| 62 Perhaps, abstract classes for all Inspectors (i.e. StatusCollector.Inspector) for users to use as base classes to protect from change? | |
| 60 | 63 | 
| 61 >>>> Effective file read/data access | 64 >>>> Effective file read/data access | 
| 62 ReadOperation, Revlog does: repo.getFileSystem().run(this.file, new ReadOperation(), long start=0, long end = -1) | 65 ReadOperation, Revlog does: repo.getFileSystem().run(this.file, new ReadOperation(), long start=0, long end = -1) | 
| 63 ReadOperation gets buffer (of whatever size, as decided by FS impl), parses it and then reports if needs more data. | 66 ReadOperation gets buffer (of whatever size, as decided by FS impl), parses it and then reports if needs more data. | 
| 64 This helps to ensure streams are closed after reading, allows caching (if the same file (or LRU) is read few times in sequence) | 67 This helps to ensure streams are closed after reading, allows caching (if the same file (or LRU) is read few times in sequence) | 
