Hi Stefan Sperling
Just posting to tell I'm looking into this.
On Sat, May 22, 2010 at 12:58:42AM +0200, Stefan Sperling wrote:
> On Fri, May 21, 2010 at 10:27:42PM +0200, Stefan Küng wrote:
> > * ShellCache.h
> > -> this file results in three applied and one rejected hunk
> > the result as it *should* be is shown in image1, the result
> > from svn_client_patch is shown in image2
>
> Where are the images you are referring to?
>
> This seems to be a "no newline at end of file" handling problem.
> We should look at it in detail. Please file an issue.
Yup. I simplified the failing hunk to only have a context line at the
end and could still get a failure:
[[[
Index: ShellCache.h
===================================================================
--- ShellCache.h (revision 906)
+++ ShellCache.h (working copy)
@@ -193,6 +193,7 @@
DWORD layoutticker;
DWORD langticker;
DWORD blockstatusticker;
+ DWORD debug;
UINT drivetypecache[27];
TCHAR drivetypepathcache[MAX_PATH];
};
]]]
What does the code do to handle missing eols?
==============================================
parse_next_hunk(): Since r906588, we're including lines with missing
newlines at end of hunk.
match_hunk(): If the target has no eol at end-of-file, we check if the
next line of the hunk is the eof and adjust accordingly. The code
says that we have a match.
What fails?
=============
apply_hunk(): When seeking in the target to target->current_line +
hunk->original_text we get the wrong line and the hunk is marked as
rejected.
Cheers,
Daniel
Received on 2010-05-24 10:02:21 CEST