Quote:
Originally Posted by John Adams
- Is there a specific source/destination folder structure needed? (ie, /orig-source, /new-source, etc) or will any old name do?
|
No, not really. Any two different directories will do. I just stick to some meaningful names when I generate a patch to have some info.
Quote:
Originally Posted by John Adams
- What directory must the patch live in? Say, /home/build/patchfile, with the source directories under that?
|
Where the patchfile is is not relevant you just give the full path to it.
Quote:
Originally Posted by John Adams
- Is "patch" the only command line needed, or should we use --strip or other params to apply these diffs?
|
Yes, You have to use the "--strip or "-p" option. Basically it does omit subdirectories from the chunk description.
If you dont use that option patch will omit !any! directory structure. See the snap&paste from the manpage below.
so if you have a chunk like:
Code:
--- EQEmu-0.7.0-857/Makefile 2006-10-07 07:22:52.000000000 +0000
+++ EQEmu-0.7.0-857-gcc4.1/Makefile 2006-10-10 08:55:04.084514500 +0000
[...]
an
Code:
cd [EQEmu source dir to patch]
patch -p1 < [path/patch file name]
would strip the leading EQEmu-0.7.0-857 and EQEmu-0.7.0-857-gcc4.1 from the chunk description. So patch would try to find ./Makefile and patch it. Provided you are in the top EQEmu source dir that is exactly what you want.
Edit: From the manpage
Code:
-pnum or --strip=num
Strip the smallest prefix containing num leading slashes from each
file name found in the patch file. A sequence of one or more adja-
cent slashes is counted as a single slash. This controls how file
names found in the patch file are treated, in case you keep your
files in a different directory than the person who sent out the
patch. For example, supposing the file name in the patch file was
/u/howard/src/blurfl/blurfl.c
setting -p0 gives the entire file name unmodified, -p1 gives
u/howard/src/blurfl/blurfl.c
without the leading slash, -p4 gives
blurfl/blurfl.c
and not specifying -p at all just gives you blurfl.c. Whatever you
end up with is looked for either in the current directory, or the
directory specified by the -d option.