Mercurial > hg4j
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? |