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) |