Fossil SCM

Add the path-to-tag setting.

drh 2026-07-10 17:04 UTC trunk
Commit face9316a47dcc2316c36fd0eec0f9f79cae4658afc94f51c8f3852834772a06
1 file changed +16
+16
--- src/info.c
+++ src/info.c
@@ -969,10 +969,21 @@
969969
ckout_normal_diff(vid);
970970
}
971971
style_finish_page();
972972
}
973973
974
+/*
975
+** SETTING: path-to-tag width=40
976
+**
977
+** If the path-to-tag setting is defined and is not an empty string
978
+** then then /info page for checking HASH will display a link to
979
+** a timeline showing an abbreviated path from the HASH check-in to
980
+** the next checkin that has a tag which is the value of this setting.
981
+**
982
+** A typical value for this setting is "release"
983
+*/
984
+
974985
/*
975986
** WEBPAGE: vinfo
976987
** WEBPAGE: ci
977988
** URL: /ci/ARTIFACTID
978989
** OR: /ci?name=ARTIFACTID
@@ -1095,11 +1106,16 @@
10951106
@ %z(href("%R/timeline?f=%!S&unhide",zUuid))family</a>
10961107
if( zParent ){
10971108
@ | %z(href("%R/timeline?p=%!S&unhide",zUuid))ancestors</a>
10981109
}
10991110
if( !isLeaf ){
1111
+ char *zPathTo = db_get("path-to-tag",0);
11001112
@ | %z(href("%R/timeline?d=%!S&unhide",zUuid))descendants</a>
1113
+ if( zPathTo!=0 && zPathTo[0]!=0 ){
1114
+ @ | %z(href("%R/timeline?from=%!S&ft=%t&min",zUuid,zPathTo))\
1115
+ @ path-to-%h(zPathTo)</a>
1116
+ }
11011117
}
11021118
if( zParent && !isLeaf ){
11031119
@ | %z(href("%R/timeline?dp=%!S&unhide",zUuid))both</a>
11041120
}
11051121
db_prepare(&q2,"SELECT substr(tag.tagname,5) FROM tagxref, tag "
11061122
--- src/info.c
+++ src/info.c
@@ -969,10 +969,21 @@
969 ckout_normal_diff(vid);
970 }
971 style_finish_page();
972 }
973
 
 
 
 
 
 
 
 
 
 
 
974 /*
975 ** WEBPAGE: vinfo
976 ** WEBPAGE: ci
977 ** URL: /ci/ARTIFACTID
978 ** OR: /ci?name=ARTIFACTID
@@ -1095,11 +1106,16 @@
1095 @ %z(href("%R/timeline?f=%!S&unhide",zUuid))family</a>
1096 if( zParent ){
1097 @ | %z(href("%R/timeline?p=%!S&unhide",zUuid))ancestors</a>
1098 }
1099 if( !isLeaf ){
 
1100 @ | %z(href("%R/timeline?d=%!S&unhide",zUuid))descendants</a>
 
 
 
 
1101 }
1102 if( zParent && !isLeaf ){
1103 @ | %z(href("%R/timeline?dp=%!S&unhide",zUuid))both</a>
1104 }
1105 db_prepare(&q2,"SELECT substr(tag.tagname,5) FROM tagxref, tag "
1106
--- src/info.c
+++ src/info.c
@@ -969,10 +969,21 @@
969 ckout_normal_diff(vid);
970 }
971 style_finish_page();
972 }
973
974 /*
975 ** SETTING: path-to-tag width=40
976 **
977 ** If the path-to-tag setting is defined and is not an empty string
978 ** then then /info page for checking HASH will display a link to
979 ** a timeline showing an abbreviated path from the HASH check-in to
980 ** the next checkin that has a tag which is the value of this setting.
981 **
982 ** A typical value for this setting is "release"
983 */
984
985 /*
986 ** WEBPAGE: vinfo
987 ** WEBPAGE: ci
988 ** URL: /ci/ARTIFACTID
989 ** OR: /ci?name=ARTIFACTID
@@ -1095,11 +1106,16 @@
1106 @ %z(href("%R/timeline?f=%!S&unhide",zUuid))family</a>
1107 if( zParent ){
1108 @ | %z(href("%R/timeline?p=%!S&unhide",zUuid))ancestors</a>
1109 }
1110 if( !isLeaf ){
1111 char *zPathTo = db_get("path-to-tag",0);
1112 @ | %z(href("%R/timeline?d=%!S&unhide",zUuid))descendants</a>
1113 if( zPathTo!=0 && zPathTo[0]!=0 ){
1114 @ | %z(href("%R/timeline?from=%!S&ft=%t&min",zUuid,zPathTo))\
1115 @ path-to-%h(zPathTo)</a>
1116 }
1117 }
1118 if( zParent && !isLeaf ){
1119 @ | %z(href("%R/timeline?dp=%!S&unhide",zUuid))both</a>
1120 }
1121 db_prepare(&q2,"SELECT substr(tag.tagname,5) FROM tagxref, tag "
1122

Keyboard Shortcuts

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