changeset 84:08754fce5778

updated design questions
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Tue, 25 Jan 2011 22:53:28 +0100
parents a5275143664c
children ade65afe0906
files design.txt
diffstat 1 files changed, 4 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/design.txt	Tue Jan 25 22:44:14 2011 +0100
+++ b/design.txt	Tue Jan 25 22:53:28 2011 +0100
@@ -36,8 +36,8 @@
 +RevlogStream - Inflater. Perhaps, InflaterStream instead? branch:wrap-data-access
 +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-  
 + strip \1\n metadata out from RevlogStream
++ hash/digest long names for fncache
 
-Implement use of fncache (use names from it - perhaps, would help for Mac issues Alex mentioned) along with 'digest'-ing long file names
 delta merge
 DataAccess - collect debug info (buffer misses, file size/total read operations) to find out better strategy to buffer size detection. Compare performance.
 
@@ -46,6 +46,9 @@
 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)
   -> recently introduced FileWalker may perhaps help solving this (if starts walking from selected folder) for status op against WorkingDir?
 
+? Can I use fncache (names from it - perhaps, would help for Mac issues Alex mentioned)
+? Does fncache lists both .i and .d (iow, is it true hashed <long name>.d is different from hashed <long name>.i)
+ 
 ??? encodings of fncache, .hgignore, dirstate
 ??? http://mercurial.selenic.com/wiki/Manifest says "Multiple changesets may refer to the same manifest revision". To me, each changeset 
 changes repository, hence manifest should update nodeids of the files it lists, effectively creating new manifest revision.