Thread (27 messages) flat view 27 messages, 6 authors, 2016-06-15

Re: [RFC PATCH 00/12] Sparse checkout

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

On 8/4/08, Jan Hudec [off-list ref] wrote:
Hello,

 sorry for replying to an old thread, but I am a bit puzzled here,


 On Wed, Jul 23, 2008 at 17:55:14 +0100, Johannes Schindelin wrote:
 > On Wed, 23 Jul 2008, Nguyen Thai Ngoc Duy wrote:
 > > On 7/23/08, Johannes Schindelin [off-list ref] wrote:
 > > >  On Wed, 23 Jul 2008, Nguyễn Thái Ngọc Duy wrote:
 > > >
 > > >  > So in short, sparse prefix will be stored in config,
 > > >  > core.sparsecheckout.
 > > >
 > > > Do you really think the prefix should be stored anywhere else than the
 > > > index?
 > > >
 > > > With core.sparseCheckout you have to introduce a _sh*tload_ of config
 > > > loaders.
 > > >
 > > > And with core.sparseCheckout you are at the whim of the user, since
 > > > .git/config is _supposed_ to be user-editable.
 > > >
 > > > From a logical point of view, I'd say that the sparse prefix has
 > > > nothing to do with the "configuration" of the local repository.
 > >
 > > Well, whatever place. I chose .git/config because I did not want to
 > > introduce a new config place. But then how about .git/sparsecheckout?
 >
 > No, I did mean the index.  This is an attribute of the index: either it is
 > sparsely checked out or not.  You can even have multiple indices
 > (switching between them by setting GIT_INDEX_FILE) which have different
 > prefixes.


Um, but does the prefix we want to use depend on what files are physically
 present in the tree? That would however imply that it's /not/ an attribute of
 the index, but the tree and therefore should be stored in a separate object.

 The question whether it goes in the .git/config or .git/sparsecheckout is
 than that of semantics -- if it's in .git/config, than user changes that by
 editing the file or git config and no other way, while if it's in
 .git/sparsecheckout, user changes it by running checkout with appropriate
 arguments.
Please see the post Junio talked about narrow/sparse checkout [1].
With that approach (that is finer grain checkout than my approach), it
becomes clear that "prefix" is an attribute of index.

[1] http://article.gmane.org/gmane.comp.version-control.git/90016/match=narrow+checkout
 By the way, why is it *prefix*? Wouldn't a *path limit* be better?
Well, yes "path limiter" seems a better term. But it's irrelevant now
because this approach won't fly. I'm going to wait to see if anyone
takes the task as part of hackontest. Otherwise I will redo my series,
using assume unchanged bit.
 --
                                                 Jan 'Bulb' Hudec [off-list ref]

-- 
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