[issue2004] headake with merging big deltas

AlexRayne bugs at mercurial.selenic.com
Fri Jan 29 14:06:55 UTC 2010


New submission from AlexRayne <AlexRaynePE196 at lavabit.com>:

after fixing related issue http://mercurial.selenic.com/bts/issue1500
look like hg still try to some optimise deltas if them is to close (less or
equal to context size or even more) it maces it as once.

so now i got such delta:

@@ -13,21 +13,31 @@
 #include <avr/io.h>
 #include <avr/interrupt.h>
 #include <avr/sleep.h>
+#include <avr/pgmspace.h>
 #include "hwconfig.h"
 #include "iocompat.h"
 
+#if ~defined(UARTRX_BUFSIZE)
+    #define URX_BUFSIZE 80
+#else
 #define URX_BUFSIZE UARTRX_BUFSIZE
+#endif
+
+#if ~defined(UARTTX_BUFSIZE)
+    #define UTX_BUFSIZE 80
+#else
 #define UTX_BUFSIZE UARTTX_BUFSIZE
+#endif
 
 static char urx0buf[URX_BUFSIZE];
 static char *urx0head;
 static char *urx0tail;
-static uint8_t urx0count;
+static volatile uint8_t urx0count;
 
 static char utx0buf[UTX_BUFSIZE];
 static char *utx0head;
 static char *utx0tail;
-static uint8_t utx0count;
+static volatile uint8_t utx0count;
 
 #define rxbuf urx0buf
 #define txbuf utx0buf

if i try to change list of includes, it rejects by patcher whole, and so
with any part of it. i could try to inset some more empty lines between
blocks, but it works not wery well, i cant understand how optimiser decides
wich is close and wich is not.

work with this file comes as headake, it simpler to edit it separately then
reapplying my patchset over edit.

i wish, optimiser of deltas must be turnable or can be turned off at least,
imho, it better to get out from ordinal work. the efforts with diff size
economy\speed not cover looses on merging work over it.

----------
messages: 11530
nosy: AlexRayne
priority: feature
status: unread
title: headake with merging  big deltas
topic: diff, mq, patch

____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue2004>
____________________________________________________


More information about the Mercurial-devel mailing list