Diff
Not logged in

Differences From:

File src/timeline.c part of check-in [bab8363876] - timeline command now supports a ?-t|--type TYPE? option to filter on specific event types. Fixed a memleak in the timeline command. by stephan on 2008-12-12 23:17:18. [view]

To:

File src/timeline.c part of check-in [fbbd0318bd] - Display a list of symbolic tags associated with each check-in on the timeline. by drh on 2009-01-20 00:27:37. [view]

@@ -89,12 +89,13 @@
 **    6.  Number of parents
 **    7.  True if is a leaf
 **    8.  background color
 **    9.  type ("ci", "w")
+**   10.  list of symbolic tags.
 */
 void www_print_timeline(
   Stmt *pQuery
- ){
+){
   int wikiFlags;
   int mxWikiLen;
   Blob comment;
   char zPrevDate[20];
@@ -122,8 +123,9 @@
     const char *zBgClr = db_column_text(pQuery, 8);
     const char *zDate = db_column_text(pQuery, 2);
     const char *zType = db_column_text(pQuery, 9);
     const char *zUser = db_column_text(pQuery, 4);
+    const char *zTagList = db_column_text(pQuery, 10);
     db_multi_exec("INSERT OR IGNORE INTO seen VALUES(%d)", rid);
     if( memcmp(zDate, zPrevDate, 10) ){
       sprintf(zPrevDate, "%.10s", zDate);
       @ <tr><td colspan=3>
@@ -164,9 +166,13 @@
     }else{
       wiki_convert(&comment, 0, wikiFlags);
     }
     blob_reset(&comment);
-    @ (by %h(zUser))</td></tr>
+    if( zTagList && zTagList[0] ){
+      @ (user: %h(zUser), tags: %h(zTagList))</td></tr>
+    }else{
+      @ (user: %h(zUser))</td></tr>
+    }
   }
   @ </table>
 }
 
@@ -184,9 +190,10 @@
     @   nchild INTEGER,
     @   nparent INTEGER,
     @   isleaf BOOLEAN,
     @   bgcolor TEXT,
-    @   etype TEXT
+    @   etype TEXT,
+    @   taglist TEXT
     @ )
   ;
   db_multi_exec(zSql);
 }
@@ -206,9 +213,12 @@
     @   (SELECT count(*) FROM plink WHERE pid=blob.rid AND isprim=1),
     @   (SELECT count(*) FROM plink WHERE cid=blob.rid),
     @   NOT EXISTS (SELECT 1 FROM plink WHERE pid=blob.rid),
     @   coalesce(bgcolor, brbgcolor),
-    @   event.type
+    @   event.type,
+    @   (SELECT group_concat(substr(tagname,5), ', ') FROM tag, tagxref
+    @     WHERE tagname GLOB 'sym-*' AND tag.tagid=tagxref.tagid
+    @       AND tagxref.rid=blob.rid AND tagxref.tagtype>0)
     @  FROM event JOIN blob
     @ WHERE blob.rid=event.objid
   ;
   return zBaseSql;
@@ -585,9 +595,16 @@
     @ SELECT
     @   blob.rid,
     @   uuid,
     @   datetime(event.mtime,'localtime'),
-    @   coalesce(ecomment,comment) || ' (by ' || coalesce(euser,user,'?') ||')',
+    @   coalesce(ecomment,comment)
+    @     || ' (user: ' || coalesce(euser,user,'?')
+    @     || (SELECT case when length(x)>0 then ' tags: ' || x else '' end
+    @           FROM (SELECT group_concat(substr(tagname,5), ', ') AS x
+    @                   FROM tag, tagxref
+    @                  WHERE tagname GLOB 'sym-*' AND tag.tagid=tagxref.tagid
+    @                    AND tagxref.rid=blob.rid AND tagxref.tagtype>0))
+    @     || ')',
     @   (SELECT count(*) FROM plink WHERE pid=blob.rid AND isprim),
     @   (SELECT count(*) FROM plink WHERE cid=blob.rid)
     @ FROM event, blob
     @ WHERE blob.rid=event.objid