From: Duy Nguyen Date: Wed, 25 Nov 2015 19:38:58 GMT Subject: Re: Sparse checkout in worktree Message-ID: In-Reply-To: <5655AC29.20801@drmicha.warpmail.net> On Wed, Nov 25, 2015 at 1:40 PM, Michael J Gruber wrote: > Hi there, > > I'm wondering how much it would take to enable worktree specific sparse > checkouts. From a superfluous look: > > - $GIT_DIR/info/sparse_checkout needs to be worktree specific It already is. > - We don't have much tooling around sparse to speak of at all. > > The endgoal would be to have something like > > git checkout [--sparse ]... > > which sets up the sparse_checkout file and "git worktree" to pass any > --sparse option on to "git checkout" Or.. convert pathspec specified at 'git-checkout' (or git-worktree) into sparse patterns. For example, git worktree add --sparse some-path branch -- foo/ will automatically create sparse-checkout file that limits to 'foo'. Not easy (and in some cases probably impossible), but it's more intuitive. . > While in an ideal world we all have micro repos, in the real world we > often have larger repos with mostly independent subdirs. For a quick fix > on a side branch in a subdir, a new sparse worktree would be an ideal > lean solution. Sparse checkout should eventually be replaced with something better that does not keep full tree in index, but I don't think anybody is working on that.. > As it is, "git stash save && git checkout" is leaner but interrupts the > workflow more, and a local "git clone" with links and alternates is > leaner, too, but conceptually overkill if you want to work quickly on an > existing side branch. -- Duy