Fossil SCM

Show tags associated with the download check-in on the /rchvdwnld page.

drh 2025-11-22 19:31 trunk
Commit bee49c13f82e7f1fdb448f60bbbb6b82da1dfdd4476526388a14741bd3342025
1 file changed +12 -1
+12 -1
--- src/tar.c
+++ src/tar.c
@@ -1311,10 +1311,11 @@
13111311
void rchvdwnld_page(void){
13121312
const char *zUuid;
13131313
char *zBase;
13141314
int nUuid;
13151315
int rid;
1316
+ char *zTags;
13161317
login_check_credentials();
13171318
if( !g.perm.Zip ){ login_needed(g.anon.Zip); return; }
13181319
if( robot_restrict("zip") || robot_restrict("download") ) return;
13191320
13201321
zUuid = P("name");
@@ -1328,14 +1329,24 @@
13281329
if( rid<=0 ){
13291330
fossil_redirect_home();
13301331
}
13311332
}
13321333
zUuid = db_text(zUuid, "SELECT uuid FROM blob WHERE rid=%d", rid);
1334
+ zTags = db_text(0,
1335
+ "SELECT if(cnt,' ('||tags||')','') FROM ("
1336
+ "SELECT group_concat(substr(tagname,5),', ') AS tags, count(*) AS cnt"
1337
+ " FROM tag JOIN tagxref USING(tagid)"
1338
+ " WHERE rid=%d"
1339
+ " AND tagtype=1"
1340
+ " AND tagname GLOB 'sym-*'"
1341
+ ")",
1342
+ rid
1343
+ );
13331344
style_header("Downloads For Check-in %!S", zUuid);
13341345
zBase = archive_base_name(rid);
13351346
@ <div class="section accordion">Downloads for check-in \
1336
- @ %z(href("%R/info/%!S",zUuid))%S(zUuid)</a></div>
1347
+ @ %z(href("%R/info/%!S",zUuid))%S(zUuid)</a>%h(zTags)</div>
13371348
@ <div class="accordion_panel">
13381349
@ <table class="label-value">
13391350
@ <tr>
13401351
@ <th>Tarball:</th>
13411352
@ <td>%z(href("%R/tarball/%s.tar.gz",zBase))\
13421353
--- src/tar.c
+++ src/tar.c
@@ -1311,10 +1311,11 @@
1311 void rchvdwnld_page(void){
1312 const char *zUuid;
1313 char *zBase;
1314 int nUuid;
1315 int rid;
 
1316 login_check_credentials();
1317 if( !g.perm.Zip ){ login_needed(g.anon.Zip); return; }
1318 if( robot_restrict("zip") || robot_restrict("download") ) return;
1319
1320 zUuid = P("name");
@@ -1328,14 +1329,24 @@
1328 if( rid<=0 ){
1329 fossil_redirect_home();
1330 }
1331 }
1332 zUuid = db_text(zUuid, "SELECT uuid FROM blob WHERE rid=%d", rid);
 
 
 
 
 
 
 
 
 
 
1333 style_header("Downloads For Check-in %!S", zUuid);
1334 zBase = archive_base_name(rid);
1335 @ <div class="section accordion">Downloads for check-in \
1336 @ %z(href("%R/info/%!S",zUuid))%S(zUuid)</a></div>
1337 @ <div class="accordion_panel">
1338 @ <table class="label-value">
1339 @ <tr>
1340 @ <th>Tarball:</th>
1341 @ <td>%z(href("%R/tarball/%s.tar.gz",zBase))\
1342
--- src/tar.c
+++ src/tar.c
@@ -1311,10 +1311,11 @@
1311 void rchvdwnld_page(void){
1312 const char *zUuid;
1313 char *zBase;
1314 int nUuid;
1315 int rid;
1316 char *zTags;
1317 login_check_credentials();
1318 if( !g.perm.Zip ){ login_needed(g.anon.Zip); return; }
1319 if( robot_restrict("zip") || robot_restrict("download") ) return;
1320
1321 zUuid = P("name");
@@ -1328,14 +1329,24 @@
1329 if( rid<=0 ){
1330 fossil_redirect_home();
1331 }
1332 }
1333 zUuid = db_text(zUuid, "SELECT uuid FROM blob WHERE rid=%d", rid);
1334 zTags = db_text(0,
1335 "SELECT if(cnt,' ('||tags||')','') FROM ("
1336 "SELECT group_concat(substr(tagname,5),', ') AS tags, count(*) AS cnt"
1337 " FROM tag JOIN tagxref USING(tagid)"
1338 " WHERE rid=%d"
1339 " AND tagtype=1"
1340 " AND tagname GLOB 'sym-*'"
1341 ")",
1342 rid
1343 );
1344 style_header("Downloads For Check-in %!S", zUuid);
1345 zBase = archive_base_name(rid);
1346 @ <div class="section accordion">Downloads for check-in \
1347 @ %z(href("%R/info/%!S",zUuid))%S(zUuid)</a>%h(zTags)</div>
1348 @ <div class="accordion_panel">
1349 @ <table class="label-value">
1350 @ <tr>
1351 @ <th>Tarball:</th>
1352 @ <td>%z(href("%R/tarball/%s.tar.gz",zBase))\
1353

Keyboard Shortcuts

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