Hi,
I think I might have found a bug in git, but I'm not sure if I am
misunderstanding the way local branches is supposed to work. I will
describe all teh steps I am doing. Please let me know if I'm doing
something wrong.
It seems that when committing changes to one branch, one file is
modified across the branches. (all branches ge the modified file)
The source files used are those:
http://distfiles.gentoo.org/distfiles/linux-2.6.22.tar.bz2
http://distfiles.gentoo.org/distfiles/genpatches-2.6.22-9.base.tar.bz2
http://people.linux-vserver.org/~harry/patch-2.6.22.6-vs2.2.0.3-grsec2.1.11-20070905.diff
First unpack the linux-2.6.22.tar.bz2 archive, genpatches archive and
add linux kernel to a local repository.
$ tar -jxf linux-2.6.22.tar.bz2
$ tar -jxf genpatches-2.6.22-9.base.tar.bz2
$ cd linux-2.6.22
$ git-init
Initialized empty Git repository in .git/
$ git-add .
$ git commit -m 'vanilla 2.6.22'
...
create mode 100644 usr/Makefile
create mode 100644 usr/gen_init_cpio.c
create mode 100644 usr/initramfs_data.S
Apply the genpatches to get kernel up to 2.6.22.9
$ ls ../2.6.22/100*
../2.6.22/1000_linux-2.6.22.1.patch ../2.6.22/1005_linux-2.6.22.6.patch
../2.6.22/1001_linux-2.6.22.2.patch ../2.6.22/1006_linux-2.6.22.7.patch
../2.6.22/1002_linux-2.6.22.3.patch ../2.6.22/1007_linux-2.6.22.8.patch
../2.6.22/1003_linux-2.6.22.4.patch ../2.6.22/1008_linux-2.6.22.9.patch
../2.6.22/1004_linux-2.6.22.5.patch
$ for i in ../2.6.22/100*; do patch -p1 < $i ; done
...
patching file net/ipv6/raw.c
patching file net/sunrpc/svcsock.c
patching file scripts/kconfig/conf.c
Commit those changes to git repo.
$ git-commit -a -m'vanilla 2.6.22.9'
Created commit a374b11: vanilla 2.6.22.9
217 files changed, 1748 insertions(+), 863 deletions(-)
delete mode 100644 arch/i386/kernel/legacy_serial.c
We want merge the gentoo patches with the vserver/grsecurity patch so we
create 2 branches: vsgrsec-orig and genpatches.
$ git-branch vsgrsec-orig
$ git-branch ...