Re: Features from GitSurvey 2010
- From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
- Date
- Feb 1, 2011, 15:52 UTC
- Message-ID
- <AANLkTinJVa++tttPDav1g1+w128fWsouM=+gf14eUOOK@mail.gmail.com>
- In-Reply-To
- <201102011451.17456.jnareb@gmail.com>
On Tue, Feb 1, 2011 at 8:51 PM, Jakub Narebski <jnareb@gmail.com> wrote:
Show 13 quoted lines
> On Sun, 30 Jan 2011, Jonathan Nieder wrote: >> > support for tracking empty directories >> >> Tricky to get the UI right. I am interested in and would be glad to >> help with this one. > > Also one needs to remember that this would require adding extension > to git index, because currently it tracks only files, and not > directories. Explicitly tracking directories in the index could be > useful for other purposes... > > The major difficulty of this is IMHO not the UI, but tracking all those > tricky corner cases (like directory/file conflict, etc.).
Sort order in index is quite special/strange and must be handled correctly when dirs and files are mixed. There are already special directories in index: the submodules. Current git code treats S_ISDIR() and S_ISGITLINK() the same in ce_to_dtype() and some more places. You need to decouple it somehow.
I tried this (for another purpose) and pulled back. I recall Shawn had a tree-based index implementation, don't know if he still has it. Could be a good point to start adding dirs to index.
Actually tree-based index with dictionary (something like trees in packv4) is a good feature itself. It could shrink index size down a lot. index is frequently read/written so small index helps (webkit's index is 16M, 4M after gzipped).
-- Duy