CVSROOT: cvswrappers - treat patches as binary files

Patryk Zawadzki patrys at pld-linux.org
Tue Nov 4 17:47:04 CET 2008


On Tue, Nov 4, 2008 at 5:39 PM, Tomasz Pala <gotar at polanet.pl> wrote:
> On Tue, Nov 04, 2008 at 10:04:40 +0100, Patryk Zawadzki wrote:
>> foo1.py is the original, foo.patch is the patch against that (altered
>> to mention foo2.py for easy testing). foo2.py is the new file. Run:
> It's the _patch_ that's broken, not patching with -l.

How is that patch broken? You mean the offset? Just add one line to
foo1.py so they are equal in length but the indentation level changes.

>> patch -p0 -l < foo.patch
>>
>> to break the code instead of failing.
> Oh, breaking the code by dumb patching is always a case. The point is:
> 'patch -l' DOESN'T break anything as you were saying.

Breaking the code in this way and for dynamically compiled languages
means we'll find the error two weeks after building a package.

It DOES break the code by making it invalid (if this happened in the
middle of the file you'd get a nice syntax error at run-time due to
broken indentation or just buggy behavior depending on the place in
the code block) and giving no error at patch-time. Ignoring whitespace
in Python is like ignoring dots in brainfuck or ignoring brace in C.

-- 
Patryk Zawadzki


More information about the pld-devel-en mailing list