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