I use to follow the sqlite3 development almost daily (updating my cloned repository) and today I'm getting a conflict in a file that I don't have made any custom changes src/epr.c (see below) and I'm reporting it here just in case it can give a clue in how (if possible/convenient) improve fossil (if at all because it seems strange that it generates a conflict following the main repository). ------ ExprList *sqlite3ExprListAppend( Parse *pParse, /* Parsing context */ ExprList *pList, /* List to which to append. Might be NULL */ Expr *pExpr /* Expression to be appended. Might be NULL */ ){ struct ExprList_item *pItem; if( pList==0 ){ <<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<< pList = sqlite3DbMallocRawNN(db, sizeof(ExprList) ); if( pList==0 ){ goto no_mem; } pList->nExpr = 0; }else if( (pList->nExpr & (pList->nExpr-1))==0 ){ ExprList *pNew; pNew = sqlite3DbRealloc(db, pList, sizeof(*pList)+(2*(sqlite3_int64)pList->nExpr-1)*sizeof(pList->a[0])); if( pNew==0 ){ goto no_mem; } pList = pNew; ||||||| COMMON ANCESTOR content follows |||||||||||||||||||||||||||| pList = sqlite3DbMallocRawNN(db, sizeof(ExprList) ); if( pList==0 ){ goto no_mem; } pList->nExpr = 0; }else if( (pList->nExpr & (pList->nExpr-1))==0 ){ ExprList *pNew; pNew = sqlite3DbRealloc(db, pList, sizeof(*pList)+(2*(sqlite3_int64)pList->nExpr-1)*sizeof(pList->a[0])); if( pNew==0 ){ goto no_mem; } pList = pNew; ======= MERGED IN content follows ================================== return sqlite3ExprListAppendNew(pParse->db,pExpr); } if( pList->nAlloc<pList->nExpr+1 ){ return sqlite3ExprListAppendGrow(pParse->db,pList,pExpr); >>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> } pItem = &pList->a[pList->nExpr++]; *pItem = zeroItem; pItem->pExpr = pExpr; return pList; <<<<<<< BEGIN MERGE CONFLICT: local copy shown first <<<<<<<<<<<<<<< no_mem: /* Avoid leaking memory if malloc has failed. */ sqlite3ExprDelete(db, pExpr); sqlite3ExprListDelete(db, pList); return 0; ||||||| COMMON ANCESTOR content follows |||||||||||||||||||||||||||| no_mem: /* Avoid leaking memory if malloc has failed. */ sqlite3ExprDelete(db, pExpr); sqlite3ExprListDelete(db, pList); return 0; ======= MERGED IN content follows ================================== >>>>>>> END MERGE CONFLICT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> } ------