Discussion:
[Isl3893-devel] Splitting the Diff
Arco
2006-05-27 15:59:10 UTC
Permalink
I'm a bit afraid of diffs I have to admit:
kernel-decompose is the isl-flavour?
+ needs to be added
- is removed (so has to be a check so the original can stay)
what do I do with the "Only in kernel-decompose" parts?

Arco

#------8<-----------------------------
put this script and diff-uclinux-2.4.19-uc1-to-intersil.diff in a temp directory, now we have about 92 parts 8-)

# cat split.sh
mkdir -p output
rm output/*.diff 2>/dev/null
awk 'BEGIN {file="start.diff"; }
/^diff/ {file=$4;
gsub(/\//,"_",file);
gsub(/\./,"_",file);
gsub(/__/,"",file);
gsub(/$/,".diff",file);
gsub(/^/,"output/",file);
}
// { print >> file }
' diff-uclinux-2.4.19-uc1-to-intersil.diff
#------8<-----------------------------



Erich Schubert wrote ..
I don't think it's that bad, actually. I once found out which uclinux
kernel
they used as a base and ran a diff against that, which was just 180k.
http://isl3893.sourceforge.net/download/patches/diff-uclinux-2.4.19-uc1-to-intersil.diff
If you want to port that to a newer kernel, leave all the MPU stuff away
at first... you can run it with the MPU disabled, and it will still
work, you just won't have the little bit of memory-protection the MPU
can do.
It's just that someone needs to actually DO it. Split that diff into
separate chunks and apply them to a current uclinux branch.
Erich Schubert
2006-05-27 17:08:14 UTC
Permalink
Hi Arco,
Post by Arco
kernel-decompose is the isl-flavour?
I don't remember. Should be obvious from the changes.
Post by Arco
what do I do with the "Only in kernel-decompose" parts?
That means the file wasn't present in the other tree. Grab the whole
file from the corresponsing kernel source tree.

I don't think you should automatically split the file.
Often changes to one file belong to different changesets.

Note that diffutils contains lots of tools to work on diffs - interdiff
and such things.

So I'd basically go through the 180k diff file "one hunk at a time", and
apply them to a CVS checkout of the official kernel source, trying to do
only one feature addition at a time. Whenever something seems to be
complete, run "cvs diff" to get a clean diff vs. the original cvs tree.

Maybe even work with multiple checkouts,
- uclinux unmodified upstream
- with isl3893 cpu patches added
- with bzip2 image compression support
- ...

So apply the hunks into different "branches". Then try to make them
compile cleanly next...

best regards,
Erich Schubert
--
erich@(vitavonni.de|debian.org) -- GPG Key ID: 4B3A135C (o_
It's not denial. I'm just selective about the reality I accept. //\
Es gibt wenig aufrichtige Freunde. Die Nachfrage ist auch gering. V_/_
--- Marie von Ebner-Eschenbach
Loading...