"Zack Weinberg" <[EMAIL PROTECTED]> writes:

> On 4/12/07, Bruce Stephens <[EMAIL PROTECTED]> wrote:
>>
>> Often, when I've used "mtn diff" to generate patches, the dependencies
>> fail to apply with GNU patch.
>>
>> Here's an example hunk which fails:
> ...
>> @@ -1,12 +1,14 @@ DSAP_Lsnr.o : ../../../../h/isode/asn1/I
> ...
>> @@ -4,9 +4,11 @@
>
> I think the problem is here.  There should be exactly the same number
> of lines of leading and trailing context.
>
> Why monotone is doing that I couldn't tell you, but perhaps that gives
> enough of a clue for someone to go looking...

Hmm, mostly by messing about, how about the attached?  (Testing
involves
<http://www.codinghorror.com/blog/archives/2007_03.html#000818>.)

Context diffs may well want something similar: I also find those fail
in these circumstances.

#
# old_revision [3fcea0ffc78cad2a9013f0f20f7333804ef14cc9]
#
# patch "diff_patch.cc"
#  from [5437f74550a59622f0aca36b00dd43f104b7692a]
#    to [cf3e91200ebfdd8c56aa01b925296f017d1a917b]
#
============================================================
--- diff_patch.cc	5437f74550a59622f0aca36b00dd43f104b7692a
+++ diff_patch.cc	cf3e91200ebfdd8c56aa01b925296f017d1a917b
@@ -1012,6 +1012,10 @@ void unidiff_hunk_writer::advance_to(siz
     }
   else
     {
+      // This affects the very first hunk, maybe: trim off excess context
+      if (newpos - a_begin > ctx)
+        a_begin = newpos - ctx;
+
       // pad intermediate context
       while(a_begin + a_len < newpos)
         {
_______________________________________________
Monotone-devel mailing list
[EMAIL PROTECTED]
http://lists.nongnu.org/mailman/listinfo/monotone-devel

Reply via email to