Fossil SCM
Tweaks to the "fileages" user interface.
Commit
da2fe1be828b86ce695bbbd75ef3c37c6239ed6e
Parent
ae092ec605eed11…
1 file changed
+14
-3
+14
-3
| --- src/browse.c | ||
| +++ src/browse.c | ||
| @@ -165,10 +165,12 @@ | ||
| 165 | 165 | if( zD ){ |
| 166 | 166 | style_submenu_element("Top", "Top", "%R/dir?ci=%S", zUuid); |
| 167 | 167 | style_submenu_element("All", "All", "%R/dir?name=%t", zD); |
| 168 | 168 | }else{ |
| 169 | 169 | style_submenu_element("All", "All", "%R/dir"); |
| 170 | + style_submenu_element("File Ages", "File Ages", "%R/fileage?name=%S", | |
| 171 | + zUuid); | |
| 170 | 172 | } |
| 171 | 173 | }else{ |
| 172 | 174 | int hasTrunk; |
| 173 | 175 | @ <h2>The union of all files from all check-ins |
| 174 | 176 | @ %s(blob_str(&dirname))</h2> |
| @@ -378,10 +380,11 @@ | ||
| 378 | 380 | ** name=VERSION |
| 379 | 381 | */ |
| 380 | 382 | void fileage_page(void){ |
| 381 | 383 | int rid; |
| 382 | 384 | const char *zName; |
| 385 | + char *zBaseTime; | |
| 383 | 386 | Stmt q; |
| 384 | 387 | double baseTime; |
| 385 | 388 | int lastMid = -1; |
| 386 | 389 | |
| 387 | 390 | login_check_credentials(); |
| @@ -390,15 +393,23 @@ | ||
| 390 | 393 | if( zName==0 ) zName = "tip"; |
| 391 | 394 | rid = symbolic_name_to_rid(zName, "ci"); |
| 392 | 395 | if( rid==0 ){ |
| 393 | 396 | fossil_fatal("not a valid check-in: %s", zName); |
| 394 | 397 | } |
| 395 | - style_header("File Ages for %h", zName); | |
| 398 | + style_header("File Ages", zName); | |
| 396 | 399 | compute_fileage(rid); |
| 397 | - @ <h1>Times since each file was changed as of check-in %h(zName)</h1> | |
| 398 | - @ <table border=0 cellspacing=0 cellpadding=0> | |
| 399 | 400 | baseTime = db_double(0.0, "SELECT mtime FROM event WHERE objid=%d", rid); |
| 401 | + zBaseTime = db_text("","SELECT datetime(%.20g,'localtime')", baseTime); | |
| 402 | + @ <h2>File Ages For Check-in | |
| 403 | + @ %z(href("%R/info?name=%T",zName))%h(zName)</a></h2> | |
| 404 | + @ | |
| 405 | + @ <p>The times given are relative | |
| 406 | + @ %z(href("%R/timeline?c=%T",zBaseTime))%s(zBaseTime)</a>, which is the | |
| 407 | + @ check-in time for | |
| 408 | + @ %z(href("%R/info?name=%T",zName))%h(zName)</a></p> | |
| 409 | + @ | |
| 410 | + @ <table border=0 cellspacing=0 cellpadding=0> | |
| 400 | 411 | db_prepare(&q, |
| 401 | 412 | "SELECT mtime, (SELECT uuid FROM blob WHERE rid=fid), mid, pathname" |
| 402 | 413 | " FROM fileage" |
| 403 | 414 | " ORDER BY mtime DESC, mid, pathname" |
| 404 | 415 | ); |
| 405 | 416 |
| --- src/browse.c | |
| +++ src/browse.c | |
| @@ -165,10 +165,12 @@ | |
| 165 | if( zD ){ |
| 166 | style_submenu_element("Top", "Top", "%R/dir?ci=%S", zUuid); |
| 167 | style_submenu_element("All", "All", "%R/dir?name=%t", zD); |
| 168 | }else{ |
| 169 | style_submenu_element("All", "All", "%R/dir"); |
| 170 | } |
| 171 | }else{ |
| 172 | int hasTrunk; |
| 173 | @ <h2>The union of all files from all check-ins |
| 174 | @ %s(blob_str(&dirname))</h2> |
| @@ -378,10 +380,11 @@ | |
| 378 | ** name=VERSION |
| 379 | */ |
| 380 | void fileage_page(void){ |
| 381 | int rid; |
| 382 | const char *zName; |
| 383 | Stmt q; |
| 384 | double baseTime; |
| 385 | int lastMid = -1; |
| 386 | |
| 387 | login_check_credentials(); |
| @@ -390,15 +393,23 @@ | |
| 390 | if( zName==0 ) zName = "tip"; |
| 391 | rid = symbolic_name_to_rid(zName, "ci"); |
| 392 | if( rid==0 ){ |
| 393 | fossil_fatal("not a valid check-in: %s", zName); |
| 394 | } |
| 395 | style_header("File Ages for %h", zName); |
| 396 | compute_fileage(rid); |
| 397 | @ <h1>Times since each file was changed as of check-in %h(zName)</h1> |
| 398 | @ <table border=0 cellspacing=0 cellpadding=0> |
| 399 | baseTime = db_double(0.0, "SELECT mtime FROM event WHERE objid=%d", rid); |
| 400 | db_prepare(&q, |
| 401 | "SELECT mtime, (SELECT uuid FROM blob WHERE rid=fid), mid, pathname" |
| 402 | " FROM fileage" |
| 403 | " ORDER BY mtime DESC, mid, pathname" |
| 404 | ); |
| 405 |
| --- src/browse.c | |
| +++ src/browse.c | |
| @@ -165,10 +165,12 @@ | |
| 165 | if( zD ){ |
| 166 | style_submenu_element("Top", "Top", "%R/dir?ci=%S", zUuid); |
| 167 | style_submenu_element("All", "All", "%R/dir?name=%t", zD); |
| 168 | }else{ |
| 169 | style_submenu_element("All", "All", "%R/dir"); |
| 170 | style_submenu_element("File Ages", "File Ages", "%R/fileage?name=%S", |
| 171 | zUuid); |
| 172 | } |
| 173 | }else{ |
| 174 | int hasTrunk; |
| 175 | @ <h2>The union of all files from all check-ins |
| 176 | @ %s(blob_str(&dirname))</h2> |
| @@ -378,10 +380,11 @@ | |
| 380 | ** name=VERSION |
| 381 | */ |
| 382 | void fileage_page(void){ |
| 383 | int rid; |
| 384 | const char *zName; |
| 385 | char *zBaseTime; |
| 386 | Stmt q; |
| 387 | double baseTime; |
| 388 | int lastMid = -1; |
| 389 | |
| 390 | login_check_credentials(); |
| @@ -390,15 +393,23 @@ | |
| 393 | if( zName==0 ) zName = "tip"; |
| 394 | rid = symbolic_name_to_rid(zName, "ci"); |
| 395 | if( rid==0 ){ |
| 396 | fossil_fatal("not a valid check-in: %s", zName); |
| 397 | } |
| 398 | style_header("File Ages", zName); |
| 399 | compute_fileage(rid); |
| 400 | baseTime = db_double(0.0, "SELECT mtime FROM event WHERE objid=%d", rid); |
| 401 | zBaseTime = db_text("","SELECT datetime(%.20g,'localtime')", baseTime); |
| 402 | @ <h2>File Ages For Check-in |
| 403 | @ %z(href("%R/info?name=%T",zName))%h(zName)</a></h2> |
| 404 | @ |
| 405 | @ <p>The times given are relative |
| 406 | @ %z(href("%R/timeline?c=%T",zBaseTime))%s(zBaseTime)</a>, which is the |
| 407 | @ check-in time for |
| 408 | @ %z(href("%R/info?name=%T",zName))%h(zName)</a></p> |
| 409 | @ |
| 410 | @ <table border=0 cellspacing=0 cellpadding=0> |
| 411 | db_prepare(&q, |
| 412 | "SELECT mtime, (SELECT uuid FROM blob WHERE rid=fid), mid, pathname" |
| 413 | " FROM fileage" |
| 414 | " ORDER BY mtime DESC, mid, pathname" |
| 415 | ); |
| 416 |