Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Improve the /urllist page so that it shows all servers with which the repository has synced. |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
89e5c03a326933dd5ba93cdcf1ef4c29 |
| User & Date: | drh 2021-08-15 00:43:27.316 |
Context
|
2021-08-15
| ||
| 18:38 | Remove a harmless unused variable. check-in: a004b1729c user: drh tags: trunk | |
| 00:43 | Improve the /urllist page so that it shows all servers with which the repository has synced. check-in: 89e5c03a32 user: drh tags: trunk | |
|
2021-08-14
| ||
| 22:06 | Remember the URLs for Git-mirror syncs. Show them on the /urllist page. check-in: 458b35a507 user: drh tags: trunk | |
Changes
Changes to src/stat.c.
| ︙ | ︙ | |||
489 490 491 492 493 494 495 |
style_set_current_feature("stat");
style_header("URLs and Checkouts");
style_adunit_config(ADUNIT_RIGHT_OK);
style_submenu_element("Stat", "stat");
style_submenu_element("Schema", "repo_schema");
iNow = db_int64(0, "SELECT strftime('%%s','now')");
| | | 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 |
style_set_current_feature("stat");
style_header("URLs and Checkouts");
style_adunit_config(ADUNIT_RIGHT_OK);
style_submenu_element("Stat", "stat");
style_submenu_element("Schema", "repo_schema");
iNow = db_int64(0, "SELECT strftime('%%s','now')");
@ <div class="section">URLs used to access</div>
@ <table border="0" width='100%%'>
db_prepare(&q, "SELECT substr(name,9), datetime(mtime,'unixepoch'), mtime"
" FROM config WHERE name GLOB 'baseurl:*' ORDER BY 3 DESC");
cnt = 0;
nOmitted = 0;
while( db_step(&q)==SQLITE_ROW ){
if( !showAll && db_column_int64(&q,2)<(iNow - 3600*24*30) && cnt>8 ){
|
| ︙ | ︙ | |||
511 512 513 514 515 516 517 |
db_finalize(&q);
if( cnt==0 ){
@ <tr><td>(none)</td>
}else if( nOmitted ){
@ <tr><td><a href="urllist?all"><i>Show %d(nOmitted) more...</i></a>
}
@ </table>
| < < > > > > > > > > > > > > > > > > > > > > > | < < | < < < < < < < < < < | 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 |
db_finalize(&q);
if( cnt==0 ){
@ <tr><td>(none)</td>
}else if( nOmitted ){
@ <tr><td><a href="urllist?all"><i>Show %d(nOmitted) more...</i></a>
}
@ </table>
db_prepare(&q, "SELECT substr(name,7), datetime(mtime,'unixepoch')"
" FROM config WHERE name GLOB 'ckout:*' ORDER BY 2 DESC");
cnt = 0;
while( db_step(&q)==SQLITE_ROW ){
const char *zPath = db_column_text(&q,0);
if( vfile_top_of_checkout(zPath) ){
if( cnt==0 ){
@ <div class="section">Checkouts</div>
@ <table border="0" width='100%%'>
}
@ <tr><td width='100%%'>%h(zPath)</td>
@ <td><nobr>%h(db_column_text(&q,1))</nobr></td></tr>
cnt++;
}
}
db_finalize(&q);
if( cnt ){
@ </table>
}
cnt = 0;
db_prepare(&q, "SELECT substr(name,10), datetime(mtime,'unixepoch')"
" FROM config WHERE name GLOB 'syncwith:*' ORDER BY 2 DESC");
while( db_step(&q)==SQLITE_ROW ){
const char *zURL = db_column_text(&q,0);
if( cnt==0 ){
@ <div class="section">Sync to these URLs</div>
@ <table border='0' width='100%%'>
}
@ <tr><td width='100%%'><a href='%h(zURL)'>%h(zURL)</a>
@ <td><nobr>%h(db_column_text(&q,1))</nobr></td></tr>
cnt++;
}
db_finalize(&q);
if( cnt ){
@ </table>
}
cnt = 0;
db_prepare(&q, "SELECT substr(name,9), datetime(mtime,'unixepoch')"
" FROM config WHERE name GLOB 'gitpush:*' ORDER BY 2 DESC");
while( db_step(&q)==SQLITE_ROW ){
const char *zURL = db_column_text(&q,0);
UrlData x;
|
| ︙ | ︙ |
Changes to src/xfer.c.
| ︙ | ︙ | |||
2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 |
mHttpFlags = 0;
}else{
mHttpFlags = HTTP_USE_LOGIN;
}
if( syncFlags & SYNC_NOHTTPCOMPRESS ){
mHttpFlags |= HTTP_NOCOMPRESS;
}
if( http_exchange(&send, &recv, mHttpFlags, MAX_REDIRECTS, 0) ){
nErr++;
go = 2;
break;
}
/* Output current stats */
if( syncFlags & SYNC_VERBOSE ){
fossil_print(zValueFormat /*works-like:"%s%d%d%d%d"*/, "Sent:",
blob_size(&send), nCardSent+xfer.nGimmeSent+xfer.nIGotSent,
xfer.nFileSent, xfer.nDeltaSent);
}else{
| > > > > > > > > > > > | 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 |
mHttpFlags = 0;
}else{
mHttpFlags = HTTP_USE_LOGIN;
}
if( syncFlags & SYNC_NOHTTPCOMPRESS ){
mHttpFlags |= HTTP_NOCOMPRESS;
}
/* Do the round-trip to the server */
if( http_exchange(&send, &recv, mHttpFlags, MAX_REDIRECTS, 0) ){
nErr++;
go = 2;
break;
}
/* Remember the URL of the sync target in the config file on the
** first successful round-trip */
if( nCycle==0 && db_is_writeable("repository") ){
db_unprotect(PROTECT_CONFIG);
db_multi_exec("REPLACE INTO config(name,value,mtime)"
"VALUES('syncwith:%q',1,now())", g.url.canonical);
db_protect_pop();
}
/* Output current stats */
if( syncFlags & SYNC_VERBOSE ){
fossil_print(zValueFormat /*works-like:"%s%d%d%d%d"*/, "Sent:",
blob_size(&send), nCardSent+xfer.nGimmeSent+xfer.nIGotSent,
xfer.nFileSent, xfer.nDeltaSent);
}else{
|
| ︙ | ︙ |