Fossil

Check-in [9584806c]
Login

Check-in [9584806c]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:In directory/repolist mode, do not link to X/Y.fossil if X.fossil exists, to avoid the X/Y/... URI ambiguity. Reported in forum post f50f647c97c72fc1.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 9584806cc6a8c005f93dcb4498caa9a08465c5c69d185798feaaddabfe3ade1a
User & Date: stephan 2022-06-22 11:11:32
References
2022-06-23
10:13
www/cgi.wiki: document the new repolist behavior introduced in [9584806cc6a8]. ... (check-in: c7b9f05f user: stephan tags: trunk)
Context
2022-06-22
12:35
Fix a minor footnotes-related bug that was discovered by Stephan: if a free-standing footnote reference follows immediately after the exclamation mark then parse that as a footnote (and not as an image). This check-in also postpones initialization of a few local variables within char_link() function (which may save a few CPU cycles). ... (check-in: 97b28fea user: george tags: trunk)
11:11
In directory/repolist mode, do not link to X/Y.fossil if X.fossil exists, to avoid the X/Y/... URI ambiguity. Reported in forum post f50f647c97c72fc1. ... (check-in: 9584806c user: stephan tags: trunk)
2022-06-20
22:18
/chat: added a missing JS dependency which broke the new text-toggle/copy feature. Bug introduced in [f98a4f5c94a844dd], caused by failure to check in one of the associated files. ... (check-in: eeacf821 user: stephan tags: trunk)
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/repolist.c.

228
229
230
231
232
233
234




















235
236
237
238
239
240
241
      } else if( sqlite3_strglob("*/.*", zName)==0 ){
        /* Do not show hyperlinks for hidden repos */
        blob_append_sql(&html, "%h (hidden)", zName);
      } else if( allRepo && sqlite3_strglob("[a-zA-Z]:/?*", zName)!=0 ){
        blob_append_sql(&html,
          "<a href='%R/%T/home' target='_blank'>/%h</a>\n",
          zUrl, zName);




















      }else{
        blob_append_sql(&html,
          "<a href='%R/%T/home' target='_blank'>%h</a>\n",
          zUrl, zName);
      }
      if( x.zProjName ){
        blob_append_sql(&html, "<td></td><td>%h</td>\n", x.zProjName);







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
      } else if( sqlite3_strglob("*/.*", zName)==0 ){
        /* Do not show hyperlinks for hidden repos */
        blob_append_sql(&html, "%h (hidden)", zName);
      } else if( allRepo && sqlite3_strglob("[a-zA-Z]:/?*", zName)!=0 ){
        blob_append_sql(&html,
          "<a href='%R/%T/home' target='_blank'>/%h</a>\n",
          zUrl, zName);
      }else if( sqlite3_strglob("*/*.fossil", zName)==0 ){
        /* As described in
        ** https://fossil-scm.org/forum/info/f50f647c97c72fc1: if
        ** foo.fossil and foo/bar.fossil both exist and we create a
        ** link to foo/bar/... then the URI dispatcher will instead
        ** see that as a link to foo.fossil. In such cases, do not
        ** emit a link to foo/bar.fossil. */
        char * zDirPart = file_dirname(zName);
        if( db_exists("SELECT 1 FROM sfile "
                      "WHERE pathname=(%Q || '.fossil') COLLATE nocase",
                      zDirPart) ){
          blob_append_sql(&html,
            "<s>%h</s> (directory/repo name collision)\n",
            zName);
        }else{
          blob_append_sql(&html,
            "<a href='%R/%T/home' target='_blank'>%h</a>\n",
            zUrl, zName);
        }
        fossil_free(zDirPart);
      }else{
        blob_append_sql(&html,
          "<a href='%R/%T/home' target='_blank'>%h</a>\n",
          zUrl, zName);
      }
      if( x.zProjName ){
        blob_append_sql(&html, "<td></td><td>%h</td>\n", x.zProjName);