Diff
Not logged in

Differences From:

File src/info.c part of check-in [00ac7945a9] - Disconnect the global configuration database in ~/.fossil from the respository database in most cases. This allows multiple "sync" or "commit" operations to be running on different repositories at the same time. by drh on 2009-08-13 14:27:24. [view]

To:

File src/info.c part of check-in [5a539f82dc] - Add the "circa" capability to the timeline. Check-in hyperlinks go to the "diff" page by default, rather than the "detail" page. by drh on 2009-08-15 16:47:42. [view]

@@ -426,9 +426,9 @@
       db_finalize(&q);
       @ </td></tr>
       @ <tr><th>Commands:</th>
       @   <td>
-      @     <a href="%s(g.zBaseURL)/vdiff/%d(rid)">diff</a>
+      @     <a href="%s(g.zBaseURL)/vdiff/%s(zShortUuid)">diff</a>
       @     | <a href="%s(g.zBaseURL)/dir?ci=%s(zShortUuid)">files</a>
       @     | <a href="%s(g.zBaseURL)/zip/%s(zProjName)-%s(zShortUuid).zip?uuid=%s(zUuid)">
       @         ZIP archive</a>
       @     | <a href="%s(g.zBaseURL)/artifact/%d(rid)">manifest</a>
@@ -673,8 +673,9 @@
   blob_reset(&to);
   blob_reset(&out);
 }
 
+
 /*
 ** WEBPAGE: vdiff
 ** URL: /vdiff?name=RID
 **
@@ -686,15 +687,34 @@
   char *zUuid;
 
   login_check_credentials();
   if( !g.okRead ){ login_needed(); return; }
-  style_header("Check-in Changes");
   login_anonymous_available();
 
   rid = name_to_rid(PD("name",""));
   if( rid==0 ){
     fossil_redirect_home();
   }
+  zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid);
+  style_header("Check-in [%.10s]", zUuid);
+  db_prepare(&q,
+    "SELECT datetime(mtime), "
+    "       coalesce(event.ecomment,event.comment),"
+    "       coalesce(event.euser,event.user)"
+    "  FROM event WHERE type='ci' AND objid=%d",
+    rid
+  );
+  while( db_step(&q)==SQLITE_ROW ){
+    const char *zDate = db_column_text(&q, 0);
+    const char *zUser = db_column_text(&q, 2);
+    const char *zComment = db_column_text(&q, 1);
+    @ <h2>Check-in %s(zUuid)</h2>
+    @ <p>Made by %h(zUser) on
+    link_to_date(zDate, ":");
+    @ %w(zComment). <a href="%s(g.zBaseURL)/ci/%s(zUuid)">[details]</a></p>
+    @ <hr>
+  }
+  db_finalize(&q);
   db_prepare(&q,
      "SELECT pid, fid, name"
      "  FROM mlink, filename"
      " WHERE mlink.mid=%d"
@@ -701,12 +721,8 @@
      "   AND filename.fnid=mlink.fnid"
      " ORDER BY name",
      rid
   );
-  zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rid);
-  @ <h2>All Changes In Check-in
-  hyperlink_to_uuid(zUuid);
-  @ </h2>
   while( db_step(&q)==SQLITE_ROW ){
     int pid = db_column_int(&q,0);
     int fid = db_column_int(&q,1);
     const char *zName = db_column_text(&q,2);
@@ -717,9 +733,8 @@
   }
   db_finalize(&q);
   style_footer();
 }
-
 
 /*
 ** Write a description of an object to the www reply.
 **
@@ -852,8 +867,9 @@
   }else if( linkToView ){
     @ <a href="%s(g.zBaseURL)/artifact/%d(rid)">[view]</a>
   }
 }
+
 
 /*
 ** WEBPAGE: fdiff
 **
@@ -1193,9 +1209,9 @@
     style_footer();
     return;
   }
   if( db_exists("SELECT 1 FROM mlink WHERE mid=%d", rid) ){
-    ci_page();
+    vdiff_page();
   }else
   if( db_exists("SELECT 1 FROM tagxref JOIN tag USING(tagid)"
                 " WHERE rid=%d AND tagname LIKE 'wiki-%%'", rid) ){
     winfo_page();