Fossil SCM

On the /artifact page, provide an improved description of cluster artifacts. Also show the rcvfrom information on all artifacts to Admin and Setup users.

drh 2015-12-05 21:22 UTC trunk
Commit 8b2d32cc9df1e2c16ada5d2f3be955207112b4f0
1 file changed +24 -3
+24 -3
--- src/info.c
+++ src/info.c
@@ -1331,15 +1331,15 @@
13311331
objType |= OBJTYPE_TICKET;
13321332
}else if( zType[0]=='c' ){
13331333
@ Manifest of check-in
13341334
objType |= OBJTYPE_CHECKIN;
13351335
}else if( zType[0]=='e' ){
1336
- @ Instance of event
1336
+ @ Instance of technote
13371337
objType |= OBJTYPE_EVENT;
13381338
hyperlink_to_event_tagid(db_column_int(&q, 5));
13391339
}else{
1340
- @ Control file referencing
1340
+ @ Tag referencing
13411341
}
13421342
if( zType[0]!='e' ){
13431343
hyperlink_to_uuid(zUuid);
13441344
}
13451345
@ - %!W(zCom) by
@@ -1393,12 +1393,17 @@
13931393
blob_append(pDownloadName, zFilename, -1);
13941394
}
13951395
tag_private_status(rid);
13961396
}
13971397
db_finalize(&q);
1398
+ if( db_exists("SELECT 1 FROM tagxref WHERE rid=%d AND tagid=%d",
1399
+ rid, TAG_CLUSTER) ){
1400
+ @ Cluster
1401
+ cnt++;
1402
+ }
13981403
if( cnt==0 ){
1399
- @ Control artifact.
1404
+ @ Unrecognized artifact
14001405
if( pDownloadName && blob_size(pDownloadName)==0 ){
14011406
blob_appendf(pDownloadName, "%S.txt", zUuid);
14021407
}
14031408
tag_private_status(rid);
14041409
}
@@ -1849,10 +1854,26 @@
18491854
}else{
18501855
@ <h2>Artifact %s(zUuid):</h2>
18511856
}
18521857
blob_zero(&downloadName);
18531858
objType = object_description(rid, objdescFlags, &downloadName);
1859
+ if( g.perm.Admin ){
1860
+ Stmt q;
1861
+ db_prepare(&q,
1862
+ "SELECT coalesce(user.login,rcvfrom.uid),"
1863
+ " datetime(rcvfrom.mtime), rcvfrom.ipaddr"
1864
+ " FROM blob, rcvfrom LEFT JOIN user ON user.uid=rcvfrom.uid"
1865
+ " WHERE blob.rid=%d"
1866
+ " AND rcvfrom.rcvid=blob.rcvid;", rid);
1867
+ while( db_step(&q)==SQLITE_ROW ){
1868
+ const char *zUser = db_column_text(&q,0);
1869
+ const char *zDate = db_column_text(&q,1);
1870
+ const char *zIp = db_column_text(&q,2);
1871
+ @ <p>Received on %s(zDate) from %h(zUser) at %h(zIp).</p>
1872
+ }
1873
+ db_finalize(&q);
1874
+ }
18541875
style_submenu_element("Download", "Download",
18551876
"%R/raw/%T?name=%s", blob_str(&downloadName), zUuid);
18561877
if( db_exists("SELECT 1 FROM mlink WHERE fid=%d", rid) ){
18571878
style_submenu_element("Check-ins Using", "Check-ins Using",
18581879
"%R/timeline?n=200&uf=%s",zUuid);
18591880
--- src/info.c
+++ src/info.c
@@ -1331,15 +1331,15 @@
1331 objType |= OBJTYPE_TICKET;
1332 }else if( zType[0]=='c' ){
1333 @ Manifest of check-in
1334 objType |= OBJTYPE_CHECKIN;
1335 }else if( zType[0]=='e' ){
1336 @ Instance of event
1337 objType |= OBJTYPE_EVENT;
1338 hyperlink_to_event_tagid(db_column_int(&q, 5));
1339 }else{
1340 @ Control file referencing
1341 }
1342 if( zType[0]!='e' ){
1343 hyperlink_to_uuid(zUuid);
1344 }
1345 @ - %!W(zCom) by
@@ -1393,12 +1393,17 @@
1393 blob_append(pDownloadName, zFilename, -1);
1394 }
1395 tag_private_status(rid);
1396 }
1397 db_finalize(&q);
 
 
 
 
 
1398 if( cnt==0 ){
1399 @ Control artifact.
1400 if( pDownloadName && blob_size(pDownloadName)==0 ){
1401 blob_appendf(pDownloadName, "%S.txt", zUuid);
1402 }
1403 tag_private_status(rid);
1404 }
@@ -1849,10 +1854,26 @@
1849 }else{
1850 @ <h2>Artifact %s(zUuid):</h2>
1851 }
1852 blob_zero(&downloadName);
1853 objType = object_description(rid, objdescFlags, &downloadName);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1854 style_submenu_element("Download", "Download",
1855 "%R/raw/%T?name=%s", blob_str(&downloadName), zUuid);
1856 if( db_exists("SELECT 1 FROM mlink WHERE fid=%d", rid) ){
1857 style_submenu_element("Check-ins Using", "Check-ins Using",
1858 "%R/timeline?n=200&uf=%s",zUuid);
1859
--- src/info.c
+++ src/info.c
@@ -1331,15 +1331,15 @@
1331 objType |= OBJTYPE_TICKET;
1332 }else if( zType[0]=='c' ){
1333 @ Manifest of check-in
1334 objType |= OBJTYPE_CHECKIN;
1335 }else if( zType[0]=='e' ){
1336 @ Instance of technote
1337 objType |= OBJTYPE_EVENT;
1338 hyperlink_to_event_tagid(db_column_int(&q, 5));
1339 }else{
1340 @ Tag referencing
1341 }
1342 if( zType[0]!='e' ){
1343 hyperlink_to_uuid(zUuid);
1344 }
1345 @ - %!W(zCom) by
@@ -1393,12 +1393,17 @@
1393 blob_append(pDownloadName, zFilename, -1);
1394 }
1395 tag_private_status(rid);
1396 }
1397 db_finalize(&q);
1398 if( db_exists("SELECT 1 FROM tagxref WHERE rid=%d AND tagid=%d",
1399 rid, TAG_CLUSTER) ){
1400 @ Cluster
1401 cnt++;
1402 }
1403 if( cnt==0 ){
1404 @ Unrecognized artifact
1405 if( pDownloadName && blob_size(pDownloadName)==0 ){
1406 blob_appendf(pDownloadName, "%S.txt", zUuid);
1407 }
1408 tag_private_status(rid);
1409 }
@@ -1849,10 +1854,26 @@
1854 }else{
1855 @ <h2>Artifact %s(zUuid):</h2>
1856 }
1857 blob_zero(&downloadName);
1858 objType = object_description(rid, objdescFlags, &downloadName);
1859 if( g.perm.Admin ){
1860 Stmt q;
1861 db_prepare(&q,
1862 "SELECT coalesce(user.login,rcvfrom.uid),"
1863 " datetime(rcvfrom.mtime), rcvfrom.ipaddr"
1864 " FROM blob, rcvfrom LEFT JOIN user ON user.uid=rcvfrom.uid"
1865 " WHERE blob.rid=%d"
1866 " AND rcvfrom.rcvid=blob.rcvid;", rid);
1867 while( db_step(&q)==SQLITE_ROW ){
1868 const char *zUser = db_column_text(&q,0);
1869 const char *zDate = db_column_text(&q,1);
1870 const char *zIp = db_column_text(&q,2);
1871 @ <p>Received on %s(zDate) from %h(zUser) at %h(zIp).</p>
1872 }
1873 db_finalize(&q);
1874 }
1875 style_submenu_element("Download", "Download",
1876 "%R/raw/%T?name=%s", blob_str(&downloadName), zUuid);
1877 if( db_exists("SELECT 1 FROM mlink WHERE fid=%d", rid) ){
1878 style_submenu_element("Check-ins Using", "Check-ins Using",
1879 "%R/timeline?n=200&uf=%s",zUuid);
1880

Keyboard Shortcuts

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