I using a vendor modified version Linux which is based on a 2.6.14.* (more specifically than that, I don’t know which) version of the kernel.
I’d like to forward port the vendor kernel changes, but first it makes sense to me to see what changes were made. I’ve cloned the linux git repo:
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-git
and would now like to do a diff, and perhaps create a branch with the vendor code. Suggestions?
I’d suggest you first creating a branch starting from the commit that’s definitely older than the one the vendor version is based on.
Then you should checkout to that new branch, and synchronize the working copy with your vendor sources. To do that, you should delete all source files from the working copy (be sure to skip
.gitand.gitignorefiles!), and then copy your code there. You could try usingrsyncfor that.After that, you can use
git diffto see what changes were made.Commit these changes into the new branch with
git commit.Now switch to the master branch (
git checkout master), and rebase your new branch onto it (git rebase new-branch). The changes that were in both branches (they appear since you don’t know the exact commit, on which the vendor’s kernel is based) will be automatically merged, and will cause no conflicts. Other conflicts have to be resolved.After a successful rebase, your HEAD commit will contain the changes made by your vendor.
I hope this will work for a version that old.