Hex Artifact Content
Not logged in

Artifact 5eca4cfb7cd2f01d2a5d8ef123da829b2cef3d9d:

Attachment "merge-marker.diff" to ticket [e3a1beef67] added by anonymous 2010-10-14 15:50:19.
0000: 49 6e 64 65 78 3a 20 73 72 63 2f 6d 65 72 67 65  Index: src/merge
0010: 33 2e 63 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  3.c.============
0020: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0030: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0040: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0050: 3d 3d 3d 3d 3d 3d 3d 0a 2d 2d 2d 20 73 72 63 2f  =======.--- src/
0060: 6d 65 72 67 65 33 2e 63 0a 2b 2b 2b 20 73 72 63  merge3.c.+++ src
0070: 2f 6d 65 72 67 65 33 2e 63 0a 40 40 20 2d 31 35  /merge3.c.@@ -15
0080: 31 2c 31 33 20 2b 31 35 31 2c 31 33 20 40 40 0a  1,13 +151,13 @@.
0090: 20 20 20 69 6e 74 20 2a 61 43 32 3b 20 20 20 20     int *aC2;    
00a0: 20 20 20 20 20 20 20 20 20 20 2f 2a 20 43 68 61            /* Cha
00b0: 6e 67 65 73 20 66 72 6f 6d 20 70 50 69 76 6f 74  nges from pPivot
00c0: 20 74 6f 20 70 56 32 20 2a 2f 0a 20 20 20 69 6e   to pV2 */.   in
00d0: 74 20 69 31 2c 20 69 32 3b 20 20 20 20 20 20 20  t i1, i2;       
00e0: 20 20 20 20 20 2f 2a 20 49 6e 64 65 78 20 69 6e       /* Index in
00f0: 74 6f 20 61 43 31 5b 5d 20 61 6e 64 20 61 43 32  to aC1[] and aC2
0100: 5b 5d 20 2a 2f 0a 20 20 20 69 6e 74 20 6e 43 70  [] */.   int nCp
0110: 79 2c 20 6e 44 65 6c 2c 20 6e 49 6e 73 3b 20 20  y, nDel, nIns;  
0120: 2f 2a 20 4e 75 6d 62 65 72 20 6f 66 20 6c 69 6e  /* Number of lin
0130: 65 73 20 74 6f 20 63 6f 70 79 2c 20 64 65 6c 65  es to copy, dele
0140: 74 65 2c 20 6f 72 20 69 6e 73 65 72 74 20 2a 2f  te, or insert */
0150: 0a 20 20 20 69 6e 74 20 6c 69 6d 69 74 31 2c 20  .   int limit1, 
0160: 6c 69 6d 69 74 32 3b 20 20 20 20 2f 2a 20 53 69  limit2;    /* Si
0170: 7a 65 73 20 6f 66 20 61 43 31 5b 5d 20 61 6e 64  zes of aC1[] and
0180: 20 61 43 32 5b 5d 20 2a 2f 0a 20 20 20 69 6e 74   aC2[] */.   int
0190: 20 6e 43 6f 6e 66 6c 69 63 74 20 3d 20 30 3b 20   nConflict = 0; 
01a0: 20 20 20 20 2f 2a 20 4e 75 6d 62 65 72 20 6f 66      /* Number of
01b0: 20 6d 65 72 67 65 20 63 6f 6e 66 6c 69 63 74 73   merge conflicts
01c0: 20 73 65 65 6e 20 73 6f 20 66 61 72 20 2a 2f 0a   seen so far */.
01d0: 2d 20 20 73 74 61 74 69 63 20 63 6f 6e 73 74 20  -  static const 
01e0: 63 68 61 72 20 7a 42 65 67 69 6e 5b 5d 20 3d 20  char zBegin[] = 
01f0: 22 3e 3e 3e 3e 3e 3e 3e 20 42 45 47 49 4e 20 4d  ">>>>>>> BEGIN M
0200: 45 52 47 45 20 43 4f 4e 46 4c 49 43 54 5c 6e 22  ERGE CONFLICT\n"
0210: 3b 0a 2b 20 20 73 74 61 74 69 63 20 63 6f 6e 73  ;.+  static cons
0220: 74 20 63 68 61 72 20 7a 42 65 67 69 6e 5b 5d 20  t char zBegin[] 
0230: 3d 20 22 3c 3c 3c 3c 3c 3c 3c 20 42 45 47 49 4e  = "<<<<<<< BEGIN
0240: 20 4d 45 52 47 45 20 43 4f 4e 46 4c 49 43 54 5c   MERGE CONFLICT\
0250: 6e 22 3b 0a 20 20 20 73 74 61 74 69 63 20 63 6f  n";.   static co
0260: 6e 73 74 20 63 68 61 72 20 7a 4d 69 64 5b 5d 20  nst char zMid[] 
0270: 20 20 3d 20 22 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d    = "===========
0280: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0290: 3d 5c 6e 22 3b 0a 2d 20 20 73 74 61 74 69 63 20  =\n";.-  static 
02a0: 63 6f 6e 73 74 20 63 68 61 72 20 7a 45 6e 64 5b  const char zEnd[
02b0: 5d 20 20 20 3d 20 22 3c 3c 3c 3c 3c 3c 3c 20 45  ]   = "<<<<<<< E
02c0: 4e 44 20 4d 45 52 47 45 20 43 4f 4e 46 4c 49 43  ND MERGE CONFLIC
02d0: 54 5c 6e 22 3b 0a 2b 20 20 73 74 61 74 69 63 20  T\n";.+  static 
02e0: 63 6f 6e 73 74 20 63 68 61 72 20 7a 45 6e 64 5b  const char zEnd[
02f0: 5d 20 20 20 3d 20 22 3e 3e 3e 3e 3e 3e 3e 20 45  ]   = ">>>>>>> E
0300: 4e 44 20 4d 45 52 47 45 20 43 4f 4e 46 4c 49 43  ND MERGE CONFLIC
0310: 54 5c 6e 22 3b 0a 20 0a 20 20 20 62 6c 6f 62 5f  T\n";. .   blob_
0320: 7a 65 72 6f 28 70 4f 75 74 29 3b 20 20 20 20 20  zero(pOut);     
0330: 20 20 20 20 2f 2a 20 4d 65 72 67 65 20 72 65 73      /* Merge res
0340: 75 6c 74 73 20 73 74 6f 72 65 64 20 69 6e 20 70  ults stored in p
0350: 4f 75 74 20 2a 2f 0a 20 0a 20 20 20 2f 2a 20 43  Out */. .   /* C
0360: 6f 6d 70 75 74 65 20 74 68 65 20 65 64 69 74 73  ompute the edits
0370: 20 74 68 61 74 20 6f 63 63 75 72 20 66 72 6f 6d   that occur from
0380: 20 70 50 69 76 6f 74 20 3d 3e 20 70 56 31 20 28   pPivot => pV1 (
0390: 69 6e 74 6f 20 61 43 31 29 0a 20 20 20 2a 2a 20  into aC1).   ** 
03a0: 61 6e 64 20 70 50 69 76 6f 74 20 3d 3e 20 70 56  and pPivot => pV
03b0: 32 20 28 69 6e 74 6f 20 61 43 32 29 2e 20 20 45  2 (into aC2).  E
03c0: 61 63 68 20 6f 66 20 74 68 65 20 61 43 31 20 61  ach of the aC1 a
03d0: 6e 64 20 61 43 32 20 61 72 72 61 79 73 20 69 73  nd aC2 arrays is
03e0: 0a 0a                                            ..