On Sun, Jun 03, 2007 at 09:44:00PM -0600, Jordan Crouse wrote:
On 03/06/07 01:59 +0200, Uwe Hermann wrote:
- Please run 'svn diff' at the top-level directory (easier to see which files shall be patched).
Not sure what you mean by that - are you looking for the diffstat?
Ah, no, sorry for being unclear.
Running 'svn diff > foo.patch' in a subdirectory, e.g. in src/southbridge/amd/cs5536, will produce a patch with entries in the following format:
Index: cs5536.c =================================================================== --- cs5536.c (revision 2705) +++ cs5536.c (working copy)
Running 'svn diff > foo.patch' at the top-level directory of the svn working copy will produce entries such as the following:
Index: src/southbridge/amd/cs5536/cs5536.c =================================================================== --- src/southbridge/amd/cs5536/cs5536.c (revision 2708) +++ src/southbridge/amd/cs5536/cs5536.c (working copy)
I.e., the "full" relative path to the file being modified is included in the patch, so you can 'patch -p0 < ~/foo.patch' at the top-level to apply the patch.
The first version is harder to deal with, as you have to know in which directory the file 'cs5536.c' resides, cd into that directory and run 'patch -p0 < ~/foo.patch' there.
Not too hard for cs5536.c, but imagine a patch which changes a file which can be located just about anywhere (e.g. Config.lb). We'd have to guess or ask the patch submitter to which file the patch must be applied.
Hence -> 'svn diff' at the top-level directory is easier to handle for us.