Fossil SCM
Omit deleted unversioned files from the /uvlist page unless the showdel=1 query parameter is used.
Commit
a3608700adb54ba2562106cedef46c4304772c89
Parent
fe3d30fc60e2eaf…
1 file changed
+5
-1
+5
-1
| --- src/unversioned.c | ||
| +++ src/unversioned.c | ||
| @@ -452,18 +452,20 @@ | ||
| 452 | 452 | ** |
| 453 | 453 | ** Display a list of all unversioned files in the repository. |
| 454 | 454 | ** Query parameters: |
| 455 | 455 | ** |
| 456 | 456 | ** byage=1 Order the initial display be decreasing age |
| 457 | +** showdel=0 Show deleted files | |
| 457 | 458 | */ |
| 458 | 459 | void uvstat_page(void){ |
| 459 | 460 | Stmt q; |
| 460 | 461 | sqlite3_int64 iNow; |
| 461 | 462 | sqlite3_int64 iTotalSz = 0; |
| 462 | 463 | int cnt = 0; |
| 463 | 464 | int n = 0; |
| 464 | 465 | const char *zOrderBy = "name"; |
| 466 | + int showDel = 0; | |
| 465 | 467 | char zSzName[100]; |
| 466 | 468 | |
| 467 | 469 | login_check_credentials(); |
| 468 | 470 | if( !g.perm.Read ){ login_needed(g.anon.Read); return; } |
| 469 | 471 | style_header("Unversioned Files"); |
| @@ -471,20 +473,22 @@ | ||
| 471 | 473 | @ No unversioned files on this server |
| 472 | 474 | style_footer(); |
| 473 | 475 | return; |
| 474 | 476 | } |
| 475 | 477 | if( PB("byage") ) zOrderBy = "mtime DESC"; |
| 478 | + if( PB("showdel") ) showDel = 1; | |
| 476 | 479 | db_prepare(&q, |
| 477 | 480 | "SELECT" |
| 478 | 481 | " name," |
| 479 | 482 | " mtime," |
| 480 | 483 | " hash," |
| 481 | 484 | " sz," |
| 482 | 485 | " (SELECT login FROM rcvfrom, user" |
| 483 | 486 | " WHERE user.uid=rcvfrom.uid AND rcvfrom.rcvid=unversioned.rcvid)," |
| 484 | 487 | " rcvid" |
| 485 | - " FROM unversioned ORDER BY %s", | |
| 488 | + " FROM unversioned %s ORDER BY %s", | |
| 489 | + showDel ? "" : "WHERE hash IS NOT NULL" /*safe-for-%s*/, | |
| 486 | 490 | zOrderBy/*safe-for-%s*/ |
| 487 | 491 | ); |
| 488 | 492 | iNow = db_int64(0, "SELECT strftime('%%s','now');"); |
| 489 | 493 | while( db_step(&q)==SQLITE_ROW ){ |
| 490 | 494 | const char *zName = db_column_text(&q, 0); |
| 491 | 495 |
| --- src/unversioned.c | |
| +++ src/unversioned.c | |
| @@ -452,18 +452,20 @@ | |
| 452 | ** |
| 453 | ** Display a list of all unversioned files in the repository. |
| 454 | ** Query parameters: |
| 455 | ** |
| 456 | ** byage=1 Order the initial display be decreasing age |
| 457 | */ |
| 458 | void uvstat_page(void){ |
| 459 | Stmt q; |
| 460 | sqlite3_int64 iNow; |
| 461 | sqlite3_int64 iTotalSz = 0; |
| 462 | int cnt = 0; |
| 463 | int n = 0; |
| 464 | const char *zOrderBy = "name"; |
| 465 | char zSzName[100]; |
| 466 | |
| 467 | login_check_credentials(); |
| 468 | if( !g.perm.Read ){ login_needed(g.anon.Read); return; } |
| 469 | style_header("Unversioned Files"); |
| @@ -471,20 +473,22 @@ | |
| 471 | @ No unversioned files on this server |
| 472 | style_footer(); |
| 473 | return; |
| 474 | } |
| 475 | if( PB("byage") ) zOrderBy = "mtime DESC"; |
| 476 | db_prepare(&q, |
| 477 | "SELECT" |
| 478 | " name," |
| 479 | " mtime," |
| 480 | " hash," |
| 481 | " sz," |
| 482 | " (SELECT login FROM rcvfrom, user" |
| 483 | " WHERE user.uid=rcvfrom.uid AND rcvfrom.rcvid=unversioned.rcvid)," |
| 484 | " rcvid" |
| 485 | " FROM unversioned ORDER BY %s", |
| 486 | zOrderBy/*safe-for-%s*/ |
| 487 | ); |
| 488 | iNow = db_int64(0, "SELECT strftime('%%s','now');"); |
| 489 | while( db_step(&q)==SQLITE_ROW ){ |
| 490 | const char *zName = db_column_text(&q, 0); |
| 491 |
| --- src/unversioned.c | |
| +++ src/unversioned.c | |
| @@ -452,18 +452,20 @@ | |
| 452 | ** |
| 453 | ** Display a list of all unversioned files in the repository. |
| 454 | ** Query parameters: |
| 455 | ** |
| 456 | ** byage=1 Order the initial display be decreasing age |
| 457 | ** showdel=0 Show deleted files |
| 458 | */ |
| 459 | void uvstat_page(void){ |
| 460 | Stmt q; |
| 461 | sqlite3_int64 iNow; |
| 462 | sqlite3_int64 iTotalSz = 0; |
| 463 | int cnt = 0; |
| 464 | int n = 0; |
| 465 | const char *zOrderBy = "name"; |
| 466 | int showDel = 0; |
| 467 | char zSzName[100]; |
| 468 | |
| 469 | login_check_credentials(); |
| 470 | if( !g.perm.Read ){ login_needed(g.anon.Read); return; } |
| 471 | style_header("Unversioned Files"); |
| @@ -471,20 +473,22 @@ | |
| 473 | @ No unversioned files on this server |
| 474 | style_footer(); |
| 475 | return; |
| 476 | } |
| 477 | if( PB("byage") ) zOrderBy = "mtime DESC"; |
| 478 | if( PB("showdel") ) showDel = 1; |
| 479 | db_prepare(&q, |
| 480 | "SELECT" |
| 481 | " name," |
| 482 | " mtime," |
| 483 | " hash," |
| 484 | " sz," |
| 485 | " (SELECT login FROM rcvfrom, user" |
| 486 | " WHERE user.uid=rcvfrom.uid AND rcvfrom.rcvid=unversioned.rcvid)," |
| 487 | " rcvid" |
| 488 | " FROM unversioned %s ORDER BY %s", |
| 489 | showDel ? "" : "WHERE hash IS NOT NULL" /*safe-for-%s*/, |
| 490 | zOrderBy/*safe-for-%s*/ |
| 491 | ); |
| 492 | iNow = db_int64(0, "SELECT strftime('%%s','now');"); |
| 493 | while( db_step(&q)==SQLITE_ROW ){ |
| 494 | const char *zName = db_column_text(&q, 0); |
| 495 |