Mercurial > jhg
comparison design.txt @ 169:8c8e3f372fa1
Towards initial clone: refactor HgBundle to provide slightly higher-level structure of the bundle
| author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
|---|---|
| date | Wed, 23 Mar 2011 14:13:11 +0100 |
| parents | 947bf231acbb |
| children | 3a7696fb457c |
comparison
equal
deleted
inserted
replaced
| 168:dd525ca65de8 | 169:8c8e3f372fa1 |
|---|---|
| 35 +RevisionWalker (on manifest) and WorkingCopyWalker (io.File) talking to ? and/or dirstate (StatusCollector and WCSC) | 35 +RevisionWalker (on manifest) and WorkingCopyWalker (io.File) talking to ? and/or dirstate (StatusCollector and WCSC) |
| 36 +RevlogStream - Inflater. Perhaps, InflaterStream instead? branch:wrap-data-access | 36 +RevlogStream - Inflater. Perhaps, InflaterStream instead? branch:wrap-data-access |
| 37 +repo.status - use same collector class twice, difference as external code. add external walker that keeps collected maps and use it in Log operation to give files+,files- | 37 +repo.status - use same collector class twice, difference as external code. add external walker that keeps collected maps and use it in Log operation to give files+,files- |
| 38 + strip \1\n metadata out from RevlogStream | 38 + strip \1\n metadata out from RevlogStream |
| 39 + hash/digest long names for fncache | 39 + hash/digest long names for fncache |
| 40 +Strip off metadata from beg of the stream - DataAccess (with rebase/moveBaseOffset(int)) would be handy | |
| 41 + hg status, compare revision and local file with kw expansion and eol extension | |
| 42 | |
| 43 write code to convert inlined revlog to .i and .d | |
| 40 | 44 |
| 41 delta merge | 45 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. | 46 DataAccess - collect debug info (buffer misses, file size/total read operations) to find out better strategy to buffer size detection. Compare performance. |
| 43 | 47 |
| 44 Strip off metadata from beg of the stream - DataAccess (with rebase/moveBaseOffset(int)) would be handy | 48 |
| 45 Parameterize StatusCollector to produce copy only when needed. And HgDataFile.metadata perhaps should be moved to cacheable place? | 49 Parameterize StatusCollector to produce copy only when needed. And HgDataFile.metadata perhaps should be moved to cacheable place? |
| 46 | 50 |
| 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) | 51 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) |
| 48 -> recently introduced FileWalker may perhaps help solving this (if starts walking from selected folder) for status op against WorkingDir? | 52 -> recently introduced FileWalker may perhaps help solving this (if starts walking from selected folder) for status op against WorkingDir? |
| 49 | 53 |
| 52 | 56 |
| 53 ??? encodings of fncache, .hgignore, dirstate | 57 ??? encodings of fncache, .hgignore, dirstate |
| 54 ??? http://mercurial.selenic.com/wiki/Manifest says "Multiple changesets may refer to the same manifest revision". To me, each changeset | 58 ??? http://mercurial.selenic.com/wiki/Manifest says "Multiple changesets may refer to the same manifest revision". To me, each changeset |
| 55 changes repository, hence manifest should update nodeids of the files it lists, effectively creating new manifest revision. | 59 changes repository, hence manifest should update nodeids of the files it lists, effectively creating new manifest revision. |
| 56 | 60 |
| 57 ? hg status, compare revision and local file with kw expansion and eol extension | |
| 58 ? subrepos in log, status (-S) and manifest commands | 61 ? subrepos in log, status (-S) and manifest commands |
| 59 | 62 |
| 60 | 63 |
| 61 Commands to get CommandContext where they may share various caches (e.g. StatusCollector) | 64 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? | 65 Perhaps, abstract classes for all Inspectors (i.e. StatusCollector.Inspector) for users to use as base classes to protect from change? |
