Thread (11 messages) flat view 11 messages, 3 authors, 2016-06-15

Re: [PATCH 5/5] unpack_trees(): add support for sparse checkout

From: Nguyen Thai Ngoc Duy <hidden>
Date: 2016-06-15 22:47:07

2009/7/29 Jakub Narebski [off-list ref]:
Nguyễn Thái Ngọc Duy    [off-list ref] writes:
quoted
This patch teaches unpack_trees() to checkout/remove entries
on working directories appropriately when sparse checkout area is
changed. A helper "git shape-workdir" is needed to help determine
which entry will be checked out, which will be not.
Wouldn't "git update-index --index-info" (perhaps extended) be enough?
It's a bit more complicated because the in-memory index is filled with
various information and can't just be dumped out to be manipulated
with "git update-index".
quoted
"git shape-workdir" will receive from stdin in this format

X\tpathname

where X is either
 - '!' current entry is already CE_VALID
 - 'N' current entry is "new" (it has not been in index before)
 - '-' current entry is "normal" entry

"git shape-workdir" is expected to return either "1" or "0"
immediately. "1" means the entry should be in workdir. "0" means
setting CE_VALID and get rid of it from workdir.
Just in case it would be better IMVHO if it returned "1\tpathname" or
"2\tpathname".  By the way, is 'pathname' quoted if necessary, and
does git-shape-workdir support -z/--null option?
It doesn't currently. Thanks for the suggestion.
Signoff (also in some other patches in this series)?
This series is mainly for taking input on how git-shape-workdir should
behave, what format is good... That's why I did not sign off. Anyway
the series is not really well tested (and obvious lacks tests)
-- 
Duy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help