On Mon, 2 Jul 2007, Andrew Morton wrote:
>
> I'm afraid indenting the changelog with leading spaces doesn't help -
> patch(1) still tries to apply the diff.
Oh wow. I didn't believe you, so I decided to test.
I shouldn't have doubted you.
That also explains why it reacted to that 53c700 even though it wasn't at
the beginning of a line.
That really is a piece of crap.
People who think that basic programs like "patch" should DWIM stuff like
that are incompetent. Yes, I can see how it can be "convenient", but
dammit, whoever added that convenince feature really is a total moron.
At the very least it should be off by default, and controlled by some flag
(ie "patch --dwim"). As it is, it's on by default, and I don't see any way
at all to disable it (not in the man-page, and not googling the source
with google code-search).
That's just incredibly broken.
I guess I shouldn't be surprised. The whole "things should be convenient,
not safe" approach is shown by the default high fuzz-factor too. But at
least that one you can disable.
It's positively microsoftian to make programs blindly be "convenient",
with no thinking about what that means for security and safety of the end
result.
So I would suggest that in quilt and other systems, you either:
- strip all headers manually
- forget about "patch", and use "git-apply" instead that does things
right and doesn't screw up like this (and can do rename diffs etc too).
I guess the second choice generally isn't an option, but dammit,
"git-apply" really is the better program here.
Linus
_______________________________________________
Quilt-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/quilt-dev