Fossil SCM

Fix for "/timeline?c=XXXX" (circa the specified check-in) when the target check-in is at or near the tip of the timeline. See https://fossil-scm.org/forum/forumpost/e3adbfedfd

graham 2020-06-04 10:43 trunk
Commit 16a09da8c18a621b47b8e21fb3c81774334f35660bf4f39538f909ba55b0e4ea
1 file changed +5 -3
+5 -3
--- src/timeline.c
+++ src/timeline.c
@@ -2357,22 +2357,24 @@
23572357
url_add_parameter(&url, "c", 0);
23582358
}else if( rCirca>0.0 ){
23592359
Blob sql2;
23602360
blob_init(&sql2, blob_sql_text(&sql), -1);
23612361
blob_append_sql(&sql2,
2362
- " AND event.mtime<=%f ORDER BY event.mtime DESC", rCirca);
2362
+ " AND event.mtime>=%f ORDER BY event.mtime ASC", rCirca);
23632363
if( nEntry>0 ){
23642364
blob_append_sql(&sql2," LIMIT %d", (nEntry+1)/2);
2365
- nEntry -= (nEntry+1)/2;
23662365
}
23672366
if( PB("showsql") ){
23682367
@ <pre>%h(blob_sql_text(&sql2))</pre>
23692368
}
23702369
db_multi_exec("%s", blob_sql_text(&sql2));
2370
+ if( nEntry>0 ){
2371
+ nEntry -= db_int(0,"select count(*) from timeline");
2372
+ }
23712373
blob_reset(&sql2);
23722374
blob_append_sql(&sql,
2373
- " AND event.mtime>=%f ORDER BY event.mtime ASC",
2375
+ " AND event.mtime<=%f ORDER BY event.mtime DESC",
23742376
rCirca
23752377
);
23762378
if( zMark==0 ) zMark = zCirca;
23772379
}else{
23782380
blob_append_sql(&sql, " ORDER BY event.mtime DESC");
23792381
--- src/timeline.c
+++ src/timeline.c
@@ -2357,22 +2357,24 @@
2357 url_add_parameter(&url, "c", 0);
2358 }else if( rCirca>0.0 ){
2359 Blob sql2;
2360 blob_init(&sql2, blob_sql_text(&sql), -1);
2361 blob_append_sql(&sql2,
2362 " AND event.mtime<=%f ORDER BY event.mtime DESC", rCirca);
2363 if( nEntry>0 ){
2364 blob_append_sql(&sql2," LIMIT %d", (nEntry+1)/2);
2365 nEntry -= (nEntry+1)/2;
2366 }
2367 if( PB("showsql") ){
2368 @ <pre>%h(blob_sql_text(&sql2))</pre>
2369 }
2370 db_multi_exec("%s", blob_sql_text(&sql2));
 
 
 
2371 blob_reset(&sql2);
2372 blob_append_sql(&sql,
2373 " AND event.mtime>=%f ORDER BY event.mtime ASC",
2374 rCirca
2375 );
2376 if( zMark==0 ) zMark = zCirca;
2377 }else{
2378 blob_append_sql(&sql, " ORDER BY event.mtime DESC");
2379
--- src/timeline.c
+++ src/timeline.c
@@ -2357,22 +2357,24 @@
2357 url_add_parameter(&url, "c", 0);
2358 }else if( rCirca>0.0 ){
2359 Blob sql2;
2360 blob_init(&sql2, blob_sql_text(&sql), -1);
2361 blob_append_sql(&sql2,
2362 " AND event.mtime>=%f ORDER BY event.mtime ASC", rCirca);
2363 if( nEntry>0 ){
2364 blob_append_sql(&sql2," LIMIT %d", (nEntry+1)/2);
 
2365 }
2366 if( PB("showsql") ){
2367 @ <pre>%h(blob_sql_text(&sql2))</pre>
2368 }
2369 db_multi_exec("%s", blob_sql_text(&sql2));
2370 if( nEntry>0 ){
2371 nEntry -= db_int(0,"select count(*) from timeline");
2372 }
2373 blob_reset(&sql2);
2374 blob_append_sql(&sql,
2375 " AND event.mtime<=%f ORDER BY event.mtime DESC",
2376 rCirca
2377 );
2378 if( zMark==0 ) zMark = zCirca;
2379 }else{
2380 blob_append_sql(&sql, " ORDER BY event.mtime DESC");
2381

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button