On Thu, Jan 28, 2010 at 06:10:38PM +0100, Daniel Näslund wrote:
> Fixed!
 
> Fixed!
 
> Fixed!

Thanks!

> > > @@ -833,13 +851,17 @@
> > > -copy_hunk_text(svn_stream_t *hunk_text, svn_stream_t *target,
> > > -               const char *abspath, apr_pool_t *scratch_pool)
> > > +copy_hunk_lines(svn_stream_t *hunk_text, svn_stream_t *target,
> > > +                const char *abspath, int fuzz, int n,
> > > +                apr_pool_t *scratch_pool)
> > 
> > Looking at the places where copy_hunk_lines() is called, it seems
> > we can simplify the parameter list of this function a lot by passing
> > a hunk_info_t *hi into copy_hunk_lines(). Then we won't need the n
> > and fuzz parameters, and special cases around n and fuzz can be
> > handled within the function.
> > 
> > And we could rename the function to copy_hunk() which is even shorter.
> 
> To copy a hunk is ambigous. When the hunk is rejected we want to copy
> the diff_text, when it is accepted we want the modified_text. I'd say,
> leave as is.

But HI->rejected will tell you if the hunk was rejected! :)

And you can pass the entire patch_target_t to give copy_hunk_lines()
access to both the patched and rejected streams.

We could rename it to emit_hunk(), flush_hunk(), hunk_done(), or something
similar, signifying that the function is responsible for dealing with
a hunk which has been processed.

The function itself can figure out what to do with the hunk, based on
information in the hunk_info_t, rather than having the caller figure it out.

Stefan

Reply via email to