Diff
Not logged in

Differences From:

File src/branch.c part of check-in [580d6ad8c7] - Suppress the display of the artificate ID on the timeline which showing changes to wiki or tickets. by drh on 2009-01-21 01:23:40. [view]

To:

File src/branch.c part of check-in [bdcac62937] - After each item of the branch list, give a hyperlink to the timeline that shows all check-ins with the branch tag. by drh on 2009-01-21 03:34:37. [view]

@@ -215,8 +215,31 @@
   }
 }
 
 /*
+** This routine is called while for each check-in that is rendered by
+** the timeline of a "brlist" page.  Add some additional hyperlinks
+** to the end of the line.
+*/
+static void brlist_extra(int rid){
+  Stmt q;
+  db_prepare(&q,
+    "SELECT tagname, tagxref.tagid FROM tagxref, tag"
+    " WHERE tagxref.rid=%d"
+    "   AND tagxref.tagid=tag.tagid"
+    "   AND tagxref.tagtype>0"
+    "   AND tag.tagname GLOB 'sym-*'",
+    rid
+  );
+  while( db_step(&q)==SQLITE_ROW ){
+    const char *zTagName = db_column_text(&q, 0);
+    int tagid = db_column_int(&q, 1);
+    @ [<a href="%s(g.zBaseURL)/timeline?t=%d(tagid)">%h(&zTagName[4])</a>]
+  }
+  db_finalize(&q);
+}
+
+/*
 ** WEBPAGE: brlist
 **
 ** Show a timeline of all branches
 */
@@ -227,14 +250,15 @@
   if( !g.okRead ){ login_needed(); return; }
 
   style_header("Branches");
   login_anonymous_available();
+  @ <h2>The initial check-in for each branch:</h2>
   db_prepare(&q,
     "%s AND blob.rid IN (SELECT rid FROM tagxref WHERE tagtype>0 AND tagid=%d)"
     " ORDER BY event.mtime DESC",
     timeline_query_for_www(), TAG_NEWBRANCH
   );
-  www_print_timeline(&q, 0, 0);
+  www_print_timeline(&q, 0, brlist_extra);
   db_finalize(&q);
   @ <br clear="both">
   @ <script>
   @ function xin(id){