Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Improved error message handling on the server side of "sync" requests. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
bf3db3d16e15ee98f5c72ebdc4ff2f2e |
User & Date: | drh 2014-10-22 12:52:21 |
Context
2014-10-22
| ||
19:52 | Try to provide better information on manifest errors. ... (check-in: e9bccd1c user: mistachkin tags: trunk) | |
19:30 | Merge updates from trunk. ... (Closed-Leaf check-in: 04723514 user: mistachkin tags: better-error-msgs) | |
13:54 | Proposed enhancements to the --tk diff viewer from Ramon Ribó. ... (check-in: cbd4dca6 user: drh tags: tk-diff-viewer) | |
12:52 | Improved error message handling on the server side of "sync" requests. ... (check-in: bf3db3d1 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: 1d857968 user: drh tags: experimental) | |
03:23 | Fix build break when the TH1 docs feature is enabled. ... (check-in: 6d4e5d80 user: mistachkin tags: trunk) | |
Changes
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 |
︙ | ︙ |