Fossil SCM
Show the artifact hash with a copy button on the header of /file pages.
Commit
00eb7a05b511d1218186dd278e27e0d63762fd8b8f9e8e2bca980d0b6f9bdcb1
Parent
5983f5b9137fbcc…
1 file changed
+5
-3
+5
-3
| --- src/info.c | ||
| +++ src/info.c | ||
| @@ -2306,17 +2306,19 @@ | ||
| 2306 | 2306 | const char *zPath; |
| 2307 | 2307 | Blob path; |
| 2308 | 2308 | blob_zero(&path); |
| 2309 | 2309 | hyperlinked_path(zName, &path, zCI, "dir", "", LINKPATH_FINFO); |
| 2310 | 2310 | zPath = blob_str(&path); |
| 2311 | - @ <h2>File %s(zPath) \ | |
| 2311 | + @ <h2>File %s(zPath) artifact \ | |
| 2312 | + style_copy_button(1,"hash-fid",0,0,"%z%S</a> ", | |
| 2313 | + href("%R/info/%s",zUuid),zUuid); | |
| 2312 | 2314 | if( isBranchCI ){ |
| 2313 | 2315 | @ on branch %z(href("%R/timeline?r=%T",zCI))%h(zCI)</a></h2> |
| 2314 | 2316 | }else if( isSymbolicCI ){ |
| 2315 | - @ as of check-in %z(href("%R/info/%!S",zCIUuid))%s(zCI)</a></h2> | |
| 2317 | + @ part of check-in %z(href("%R/info/%!S",zCIUuid))%s(zCI)</a></h2> | |
| 2316 | 2318 | }else{ |
| 2317 | - @ as of check-in [%z(href("%R/info/%!S",zCIUuid))%S(zCIUuid)</a>]</h2> | |
| 2319 | + @ part of check-in %z(href("%R/info/%!S",zCIUuid))%S(zCIUuid)</a></h2> | |
| 2318 | 2320 | } |
| 2319 | 2321 | blob_reset(&path); |
| 2320 | 2322 | } |
| 2321 | 2323 | style_submenu_element("Artifact", "%R/artifact/%S", zUuid); |
| 2322 | 2324 | style_submenu_element("Annotate", "%R/annotate?filename=%T&checkin=%T", |
| 2323 | 2325 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -2306,17 +2306,19 @@ | |
| 2306 | const char *zPath; |
| 2307 | Blob path; |
| 2308 | blob_zero(&path); |
| 2309 | hyperlinked_path(zName, &path, zCI, "dir", "", LINKPATH_FINFO); |
| 2310 | zPath = blob_str(&path); |
| 2311 | @ <h2>File %s(zPath) \ |
| 2312 | if( isBranchCI ){ |
| 2313 | @ on branch %z(href("%R/timeline?r=%T",zCI))%h(zCI)</a></h2> |
| 2314 | }else if( isSymbolicCI ){ |
| 2315 | @ as of check-in %z(href("%R/info/%!S",zCIUuid))%s(zCI)</a></h2> |
| 2316 | }else{ |
| 2317 | @ as of check-in [%z(href("%R/info/%!S",zCIUuid))%S(zCIUuid)</a>]</h2> |
| 2318 | } |
| 2319 | blob_reset(&path); |
| 2320 | } |
| 2321 | style_submenu_element("Artifact", "%R/artifact/%S", zUuid); |
| 2322 | style_submenu_element("Annotate", "%R/annotate?filename=%T&checkin=%T", |
| 2323 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -2306,17 +2306,19 @@ | |
| 2306 | const char *zPath; |
| 2307 | Blob path; |
| 2308 | blob_zero(&path); |
| 2309 | hyperlinked_path(zName, &path, zCI, "dir", "", LINKPATH_FINFO); |
| 2310 | zPath = blob_str(&path); |
| 2311 | @ <h2>File %s(zPath) artifact \ |
| 2312 | style_copy_button(1,"hash-fid",0,0,"%z%S</a> ", |
| 2313 | href("%R/info/%s",zUuid),zUuid); |
| 2314 | if( isBranchCI ){ |
| 2315 | @ on branch %z(href("%R/timeline?r=%T",zCI))%h(zCI)</a></h2> |
| 2316 | }else if( isSymbolicCI ){ |
| 2317 | @ part of check-in %z(href("%R/info/%!S",zCIUuid))%s(zCI)</a></h2> |
| 2318 | }else{ |
| 2319 | @ part of check-in %z(href("%R/info/%!S",zCIUuid))%S(zCIUuid)</a></h2> |
| 2320 | } |
| 2321 | blob_reset(&path); |
| 2322 | } |
| 2323 | style_submenu_element("Artifact", "%R/artifact/%S", zUuid); |
| 2324 | style_submenu_element("Annotate", "%R/annotate?filename=%T&checkin=%T", |
| 2325 |