Index: src/db.c ================================================================== --- src/db.c +++ src/db.c @@ -1778,10 +1778,11 @@ { "gdiff-command", 0, 16, 0, "gdiff" }, { "gmerge-command",0, 40, 0, "" }, { "https-login", 0, 0, 0, "off" }, { "ignore-glob", 0, 40, 1, "" }, { "empty-dirs", 0, 40, 1, "" }, + { "href-targets", 0, 0, 0, "on" }, { "http-port", 0, 16, 0, "8080" }, { "localauth", 0, 0, 0, "off" }, { "main-branch", 0, 40, 0, "trunk" }, { "manifest", 0, 0, 1, "off" }, { "max-upload", 0, 25, 0, "250000" }, Index: src/diff.c ================================================================== --- src/diff.c +++ src/diff.c @@ -951,10 +951,13 @@ Blob toAnnotate; /* Text of the final (mid) version of the file */ Blob step; /* Text of previous revision */ int rid; /* Artifact ID of the file being annotated */ char *zLabel; /* Label to apply to a line */ Stmt q; /* Query returning all ancestor versions */ + const char *zInfoTarget; /* String for target info window */ + + zInfoTarget = db_get_boolean("href-targets", 1) ? "target='infowindow'" : ""; /* Initialize the annotation */ rid = db_int(0, "SELECT fid FROM mlink WHERE mid=%d AND fnid=%d",mid,fnid); if( rid==0 ){ fossil_panic("file #%d is unchanged in manifest #%d", fnid, mid); @@ -987,12 +990,14 @@ const char *zUuid = db_column_text(&q, 1); const char *zDate = db_column_text(&q, 2); const char *zUser = db_column_text(&q, 3); if( webLabel ){ zLabel = mprintf( - "%.10s %s %9.9s", - g.zTop, zUuid, zUuid, zDate, zUser + "%.10s %s %9.9s", + g.zTop, zUuid, + zInfoTarget, + zUuid, zDate, zUser ); }else{ zLabel = mprintf("%.10s %s %9.9s", zUuid, zDate, zUser); } p->nVers++; Index: src/timeline.c ================================================================== --- src/timeline.c +++ src/timeline.c @@ -202,18 +202,21 @@ GraphContext *pGraph = 0; int prevWasDivider = 0; /* True if previous output row was