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
I got my extracted 4.15 version but the source repository (index? ...?)
has somehow changed. Let me try something silly:
$ git -C linux-stable/ --work-tree $PWD/tmp/ checkout linux-4.14.y
$ git -C linux-stable/ branch
* linux-4.14.y
linux-4.15.y
linux-4.16.y
I indeed switched my extracted version from 4.15 to 4.14, but I am
puzzled that the local source repository (linux-stable) is modified.
Then I try to bring it back closer to its original state, just to keep
things tidy:
$ git -C linux-stable/ checkout linux-4.16.y
And this command aborts, both with Git versions 2.01 and 2.17. Here is
the truncated command output:
error: Your local changes to the following files would be overwritten by
checkout:
.gitignore
.mailmap
Documentation/00-INDEX
Documentation/ABI/obsolete/sysfs-gpio
Documentation/ABI/stable/sysfs-bus-vmbus
Documentation/ABI/stable/sysfs-devices
[... ...]
Documentation/devicetree/bindings/arm/mediatek/mediatek,vencsys.txt
Documentation/devicetree/bindings/arm/omap/crossbar.txt
Documentation/devicetree/bindings/arm/omap/ctrl.txt
Documentation/devicetree/bindings/arm/realtek.txt
Documentation/devicetree/bindings/arm/rock
error: The following untracked working tree files would be overwritten
by checkout:
Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Diagram.html
Documentation/RCU/Design/Memory-Ordering/Tree-RCU-Memory-Ordering.html
Documentation/RCU/Design/Memory-Ordering/TreeRCU-callback-invocation.svg
Documentation/RCU/Design/Memory-Ordering/TreeRCU-callback-registry.svg
Documentation/RCU/Design/Memory-Ordering/TreeRCU-dyntick.svg
[... ...]
arch/riscv/include/asm/smp.h
arch/riscv/include/asm/spinlock.h
arch/riscv/include/asm/spinlock_types.h
arch/riscv/include/asm/string.h
arch/riscv/include/
Aborting
Questions:
=========
Is there a GIT tutorial that begins with my stated goal of an
extract-only usage of cloned GIT repositories? (Maybe the root cause is
my reluctance to learn the more involved GIT usages.)
Does the above reproducible abort deserve attention?
Any suggestion for my stated goal?
Thanks in advance,
- Thierry Moreau