Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch experimental Excluding Merge-Ins
This is equivalent to a diff from e7518b44eb to 1d85796857
2014-10-22
| ||
12:52 | Improved error message handling on the server side of "sync" requests. check-in: bf3db3d16e user: drh tags: trunk | |
2014-10-21
| ||
22:12 | Avoid invoking fossil_error() in manifest_crosslink() while processing a push, even though such errors are suppose to be ignored. Closed-Leaf check-in: 1d85796857 user: drh tags: experimental | |
03:19 | Restore use of short string identifiers in titles on the check-in info page. check-in: c1d20c33cf user: mistachkin tags: trunk | |
03:12 | Merge updates from trunk. Closed-Leaf check-in: 22a74690bb user: mistachkin tags: cmdline-timeline-enhancement | |
03:05 | Fix compiler warning and clarify use of local variables. check-in: e7518b44eb user: mistachkin tags: trunk | |
03:00 | Merge updates from trunk. Closed-Leaf check-in: d1983dd24c user: mistachkin tags: warningFix | |
02:52 | Add the codecheck1 program to the build tools. This program validates the format strings on printf-style internal interfaces, verifying that the correct number of arguments follow and that SQL is protected from injection attacks. check-in: 49b0ff1592 user: drh tags: trunk | |
Changes to src/manifest.c.
︙ | ︙ | |||
45 46 47 48 49 50 51 52 53 54 55 56 57 58 | #define PERM_LNK 2 /* symlink */ /* ** Flags for use with manifest_crosslink(). */ #define MC_NONE 0 /* default handling */ #define MC_PERMIT_HOOKS 1 /* permit hooks to execute */ /* ** A single F-card within a manifest */ struct ManifestFile { char *zName; /* Name of a file */ char *zUuid; /* UUID of the file */ | > | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | #define PERM_LNK 2 /* symlink */ /* ** Flags for use with manifest_crosslink(). */ #define MC_NONE 0 /* default handling */ #define MC_PERMIT_HOOKS 1 /* permit hooks to execute */ #define MC_NO_ERRORS 2 /* do not issue errors for a bad parse */ /* ** A single F-card within a manifest */ struct ManifestFile { char *zName; /* Name of a file */ char *zUuid; /* UUID of the file */ |
︙ | ︙ | |||
1731 1732 1733 1734 1735 1736 1737 | const char *zScript = 0; const char *zUuid = 0; if( (p = manifest_cache_find(rid))!=0 ){ blob_reset(pContent); }else if( (p = manifest_parse(pContent, rid, 0))==0 ){ assert( blob_is_reset(pContent) || pContent==0 ); | | | > | > | 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 | const char *zScript = 0; const char *zUuid = 0; if( (p = manifest_cache_find(rid))!=0 ){ blob_reset(pContent); }else if( (p = manifest_parse(pContent, rid, 0))==0 ){ assert( blob_is_reset(pContent) || pContent==0 ); if( (flags & MC_NO_ERRORS)==0 ) fossil_error(1, "syntax error in manifest"); return 0; } if( g.xlinkClusterOnly && p->type!=CFTYPE_CLUSTER ){ manifest_destroy(p); assert( blob_is_reset(pContent) ); if( (flags & MC_NO_ERRORS)==0 ) fossil_error(1, "no manifest"); return 0; } if( p->type==CFTYPE_MANIFEST && fetch_baseline(p, 0) ){ manifest_destroy(p); assert( blob_is_reset(pContent) ); if( (flags & MC_NO_ERRORS)==0 ){ fossil_error(1, "cannot fetch baseline manifest"); } return 0; } db_begin_transaction(); if( p->type==CFTYPE_MANIFEST ){ if( permitHooks ){ zScript = xfer_commit_code(); zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid); |
︙ | ︙ |
Changes to src/xfer.c.
︙ | ︙ | |||
199 200 201 202 203 204 205 | Th_AppendToList(pzUuidList, pnUuidList, blob_str(&hash), blob_size(&hash)); blob_reset(&hash); if( rid==0 ){ blob_appendf(&pXfer->err, "%s", g.zErrMsg); blob_reset(&content); }else{ if( !isPriv ) content_make_public(rid); | | | 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 | Th_AppendToList(pzUuidList, pnUuidList, blob_str(&hash), blob_size(&hash)); blob_reset(&hash); if( rid==0 ){ blob_appendf(&pXfer->err, "%s", g.zErrMsg); blob_reset(&content); }else{ if( !isPriv ) content_make_public(rid); manifest_crosslink(rid, &content, MC_NONE|MC_NO_ERRORS); } assert( blob_is_reset(&content) ); remote_has(rid); } /* ** The aToken[0..nToken-1] blob array is a parse of a "cfile" line |
︙ | ︙ |