@@ -1152,10 +1152,11 @@
1152 1152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zScript = 0;
1153 1153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zUuidList = 0;
1154 1154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nUuidList = 0;
1155 1155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char **pzUuidList = 0;
1156 1156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int *pnUuidList = 0;
1157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int uvCatalogSent = 0;
1157 1158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1158 1159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( fossil_strcmp(PD("REQUEST_METHOD","POST"),"POST") ){
1159 1160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
fossil_redirect_home();
1160 1161 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1161 1162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.zLogin = "anonymous";
@@ -1362,10 +1363,15 @@
1362 1363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ push %s(db_get("server-code", "x")) %s(db_get("project-code", "x"))
1363 1364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@ error not\sauthorized\sto\sclone
1364 1365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nErr++;
1365 1366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
break;
1366 1367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( db_get_boolean("uv-sync",0) && !uvCatalogSent ){
1369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ pragma uv-pull-only
1370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ send_unversioned_catalog(&xfer);
1371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ uvCatalogSent = 1;
1372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1367 1373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( xfer.nToken==3
1368 1374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&& blob_is_int(&xfer.aToken[1], &iVers)
1369 1375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&& iVers>=2
1370 1376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
1371 1377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int seqno, max;
@@ -1538,17 +1544,20 @@
1538 1544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** "uvigot" cards.
1539 1545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1540 1546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( blob_eq(&xfer.aToken[1], "uv-hash")
1541 1547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
&& blob_is_uuid(&xfer.aToken[2])
1542 1548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
1543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( g.perm.Read && g.perm.WrUnver ){
1544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ pragma uv-push-ok
1545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- send_unversioned_catalog(&xfer);
1546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( g.perm.Read ){
1547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- @ pragma uv-pull-only
1548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- send_unversioned_catalog(&xfer);
1549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( !uvCatalogSent ){
1550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( g.perm.Read && g.perm.WrUnver ){
1551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ pragma uv-push-ok
1552 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ send_unversioned_catalog(&xfer);
1553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( g.perm.Read ){
1554 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ @ pragma uv-pull-only
1555 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ send_unversioned_catalog(&xfer);
1556 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
1549 1557 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1558 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ uvCatalogSent = 1;
1550 1559 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1551 1560 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else
1552 1561 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1553 1562 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Unknown message
1554 1563 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
@@ -1759,11 +1768,11 @@
1759 1768 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** The initial assumption is that all unversioned files need to be sent
1760 1769 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** to the other side. But "uvigot" cards received back from the remote
1761 1770 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** side will normally cause many of these entries to be removed since they
1762 1771 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** do not really need to be sent.
1763 1772 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
1764 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( (syncFlags & SYNC_UNVERSIONED)!=0 ){
1773 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( (syncFlags & (SYNC_UNVERSIONED|SYNC_CLONE))!=0 ){
1765 1774 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
unversioned_schema();
1766 1775 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
db_multi_exec(
1767 1776 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"CREATE TEMP TABLE uv_tosend("
1768 1777 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" name TEXT PRIMARY KEY," /* Name of file to send client->server */
1769 1778 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" mtimeOnly BOOLEAN" /* True to only send mtime, not content */
1770 1779 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!