On Thu, Apr 5, 2018 at 4:18 PM, Bryan Turner <bturner@xxxxxxxxxxxxx> wrote: > On Thu, Apr 5, 2018 at 12:42 PM, Thierry Moreau > <thierry.moreau@xxxxxxxxxxxxx> wrote: >> Dear GIT enthusiasts! >> >> This ends up with a "git checkout" command aborting. A bit frustrating at >> the early stage of GIT learning curve. >> >> My first goal is to clone repositories locally in order to explore the >> various linux kernel versions, with the rich GIT metadata. >> >> Thus, I clone: >> >> $ git clone --branch linux-4.16.y >> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git >> linux-stable >> $ git -C linux-stable/ branch >> * linux-4.16.y >> >> So far so good. Then, I want to extract an earlier kernel version into a tmp >> dir: >> >> $ mkdir tmp >> $ git -C linux-stable/ --work-tree $PWD/tmp/ checkout linux-4.15.y >> $ git -C linux-stable/ branch >> * linux-4.15.y >> linux-4.16.y > > The documentation for --work-tree says: > > --work-tree=<path> > > Set the path to the working tree. It can be an absolute path or a path > relative to the current working directory. This can also be controlled > by setting the GIT_WORK_TREE environment variable and the > core.worktree configuration variable (see core.worktree in > git-config(1) for a more detailed discussion). > > So passing --work-tree tells Git where to store your _files_, but it's > still using the same .git directory. > > If your goal is to have worktrees for various versions, that implies > the git worktree [1] command might be more along the lines of what > you're looking for. An invocation based on above might look like this: > $ git -C linux-stable/ worktree add $PWD/tmp/ checkout linux-4.15.y Apologies, I didn't mean to have the "checkout" in that. $ git -C linux-stable/ worktree add $PWD/tmp/ linux-4.15.y > > That should leave linux-4.16.y checked out in linux-stable, while > creating a full work tree in $PWD/tmp that has 4.15.y checked out. > > Note that worktree is a newer git command. 2.17 has it, but old > versions like 2.1 won't. > > [1] https://git-scm.com/docs/git-worktree > > Hope this helps! > Bryan