Fossil SCM
Merge the interwiki enhancement from trunk.
Commit
26ac4b1ccfb0d82713fe39f9063568ffe24361e349242f8669987e051a823e5e
Parent
11c1566a93f0ebc…
25 files changed
+32
-6
+35
-12
+35
-12
+1
-1
+1
-1
+26
+1
-1
+12
+1
+7
-3
+2
+2
+5
+5
+4
+11
-3
+6
+10
-4
+12
+10
+1
-1
+104
+1
+2
+2
-9
~
src/cgi.c
~
src/configure.c
~
src/configure.c
~
src/forum.c
~
src/forum.c
+
src/interwiki.c
~
src/interwiki.c
~
src/main.mk
~
src/makemake.tcl
~
src/markdown.md
~
src/mkindex.c
~
src/mkindex.c
~
src/setup.c
~
src/setup.c
~
src/wiki.c
~
src/wiki.wiki
~
src/wikiformat.c
~
win/Makefile.dmc
~
win/Makefile.mingw
~
win/Makefile.msc
~
www/changes.wiki
~
www/interwiki.md
~
www/mkindex.tcl
~
www/permutedindex.html
~
www/quotes.wiki
+32
-6
| --- src/cgi.c | ||
| +++ src/cgi.c | ||
| @@ -1053,29 +1053,56 @@ | ||
| 1053 | 1053 | ** assume that PATH_INFO is an empty string and set REQUEST_URI equal |
| 1054 | 1054 | ** to PATH_INFO. |
| 1055 | 1055 | ** |
| 1056 | 1056 | ** SCGI typically omits PATH_INFO. CGI sometimes omits REQUEST_URI and |
| 1057 | 1057 | ** PATH_INFO when it is empty. |
| 1058 | +** | |
| 1059 | +** CGI Parameter quick reference: | |
| 1060 | +** | |
| 1061 | +** REQUEST_URI | |
| 1062 | +** _____________|____________ | |
| 1063 | +** / \ | |
| 1064 | +** https://www.fossil-scm.org/forum/info/12736b30c072551a?t=c | |
| 1065 | +** \________________/\____/\____________________/ \_/ | |
| 1066 | +** | | | | | |
| 1067 | +** HTTP_HOST | PATH_INFO QUERY_STRING | |
| 1068 | +** SCRIPT_NAME | |
| 1058 | 1069 | */ |
| 1059 | 1070 | void cgi_init(void){ |
| 1060 | 1071 | char *z; |
| 1061 | 1072 | const char *zType; |
| 1062 | 1073 | char *zSemi; |
| 1063 | 1074 | int len; |
| 1064 | 1075 | const char *zRequestUri = cgi_parameter("REQUEST_URI",0); |
| 1065 | - const char *zScriptName = cgi_parameter("SCRIPT_NAME",0); | |
| 1066 | - const char *zPathInfo = cgi_parameter("PATH_INFO",0); | |
| 1076 | + const char *zScriptName = cgi_parameter("SCRIPT_NAME",""); | |
| 1077 | + const char *zPathInfo = cgi_parameter("PATH_INFO",""); | |
| 1067 | 1078 | #ifdef _WIN32 |
| 1068 | 1079 | const char *zServerSoftware = cgi_parameter("SERVER_SOFTWARE",0); |
| 1069 | 1080 | #endif |
| 1070 | 1081 | |
| 1071 | 1082 | #ifdef FOSSIL_ENABLE_JSON |
| 1072 | 1083 | const int noJson = P("no_json")!=0; |
| 1073 | 1084 | #endif |
| 1074 | 1085 | g.isHTTP = 1; |
| 1075 | 1086 | cgi_destination(CGI_BODY); |
| 1076 | - if( zScriptName==0 ) malformed_request("missing SCRIPT_NAME"); | |
| 1087 | + | |
| 1088 | + /* We must have SCRIPT_NAME. If the web server did not supply it, try | |
| 1089 | + ** to compute it from REQUEST_URI and PATH_INFO. */ | |
| 1090 | + if( zScriptName==0 ){ | |
| 1091 | + size_t nRU, nPI; | |
| 1092 | + if( zRequestUri==0 || zPathInfo==0 ){ | |
| 1093 | + malformed_request("missing SCRIPT_NAME"); /* Does not return */ | |
| 1094 | + } | |
| 1095 | + nRU = strlen(zRequestUri); | |
| 1096 | + nPI = strlen(zPathInfo); | |
| 1097 | + if( nRU<nPI ){ | |
| 1098 | + malformed_request("PATH_INFO is longer than REQUEST_URI"); | |
| 1099 | + } | |
| 1100 | + zScriptName = mprintf("%.*s", (int)(nRU-nPI), zRequestUri); | |
| 1101 | + cgi_set_parameter("SCRIPT_NAME", zScriptName); | |
| 1102 | + } | |
| 1103 | + | |
| 1077 | 1104 | #ifdef _WIN32 |
| 1078 | 1105 | /* The Microsoft IIS web server does not define REQUEST_URI, instead it uses |
| 1079 | 1106 | ** PATH_INFO for virtually the same purpose. Define REQUEST_URI the same as |
| 1080 | 1107 | ** PATH_INFO and redefine PATH_INFO with SCRIPT_NAME removed from the |
| 1081 | 1108 | ** beginning. */ |
| @@ -1257,16 +1284,15 @@ | ||
| 1257 | 1284 | } |
| 1258 | 1285 | } |
| 1259 | 1286 | |
| 1260 | 1287 | /* If no match is found and the name begins with an upper-case |
| 1261 | 1288 | ** letter, then check to see if there is an environment variable |
| 1262 | - ** with the given name. Handle environment variables with empty values | |
| 1263 | - ** the same as non-existent environment variables. | |
| 1289 | + ** with the given name. | |
| 1264 | 1290 | */ |
| 1265 | 1291 | if( fossil_isupper(zName[0]) ){ |
| 1266 | 1292 | const char *zValue = fossil_getenv(zName); |
| 1267 | - if( zValue && zValue[0] ){ | |
| 1293 | + if( zValue ){ | |
| 1268 | 1294 | cgi_set_parameter_nocopy(zName, zValue, 0); |
| 1269 | 1295 | CGIDEBUG(("env-match [%s] = [%s]\n", zName, zValue)); |
| 1270 | 1296 | return zValue; |
| 1271 | 1297 | } |
| 1272 | 1298 | } |
| 1273 | 1299 |
| --- src/cgi.c | |
| +++ src/cgi.c | |
| @@ -1053,29 +1053,56 @@ | |
| 1053 | ** assume that PATH_INFO is an empty string and set REQUEST_URI equal |
| 1054 | ** to PATH_INFO. |
| 1055 | ** |
| 1056 | ** SCGI typically omits PATH_INFO. CGI sometimes omits REQUEST_URI and |
| 1057 | ** PATH_INFO when it is empty. |
| 1058 | */ |
| 1059 | void cgi_init(void){ |
| 1060 | char *z; |
| 1061 | const char *zType; |
| 1062 | char *zSemi; |
| 1063 | int len; |
| 1064 | const char *zRequestUri = cgi_parameter("REQUEST_URI",0); |
| 1065 | const char *zScriptName = cgi_parameter("SCRIPT_NAME",0); |
| 1066 | const char *zPathInfo = cgi_parameter("PATH_INFO",0); |
| 1067 | #ifdef _WIN32 |
| 1068 | const char *zServerSoftware = cgi_parameter("SERVER_SOFTWARE",0); |
| 1069 | #endif |
| 1070 | |
| 1071 | #ifdef FOSSIL_ENABLE_JSON |
| 1072 | const int noJson = P("no_json")!=0; |
| 1073 | #endif |
| 1074 | g.isHTTP = 1; |
| 1075 | cgi_destination(CGI_BODY); |
| 1076 | if( zScriptName==0 ) malformed_request("missing SCRIPT_NAME"); |
| 1077 | #ifdef _WIN32 |
| 1078 | /* The Microsoft IIS web server does not define REQUEST_URI, instead it uses |
| 1079 | ** PATH_INFO for virtually the same purpose. Define REQUEST_URI the same as |
| 1080 | ** PATH_INFO and redefine PATH_INFO with SCRIPT_NAME removed from the |
| 1081 | ** beginning. */ |
| @@ -1257,16 +1284,15 @@ | |
| 1257 | } |
| 1258 | } |
| 1259 | |
| 1260 | /* If no match is found and the name begins with an upper-case |
| 1261 | ** letter, then check to see if there is an environment variable |
| 1262 | ** with the given name. Handle environment variables with empty values |
| 1263 | ** the same as non-existent environment variables. |
| 1264 | */ |
| 1265 | if( fossil_isupper(zName[0]) ){ |
| 1266 | const char *zValue = fossil_getenv(zName); |
| 1267 | if( zValue && zValue[0] ){ |
| 1268 | cgi_set_parameter_nocopy(zName, zValue, 0); |
| 1269 | CGIDEBUG(("env-match [%s] = [%s]\n", zName, zValue)); |
| 1270 | return zValue; |
| 1271 | } |
| 1272 | } |
| 1273 |
| --- src/cgi.c | |
| +++ src/cgi.c | |
| @@ -1053,29 +1053,56 @@ | |
| 1053 | ** assume that PATH_INFO is an empty string and set REQUEST_URI equal |
| 1054 | ** to PATH_INFO. |
| 1055 | ** |
| 1056 | ** SCGI typically omits PATH_INFO. CGI sometimes omits REQUEST_URI and |
| 1057 | ** PATH_INFO when it is empty. |
| 1058 | ** |
| 1059 | ** CGI Parameter quick reference: |
| 1060 | ** |
| 1061 | ** REQUEST_URI |
| 1062 | ** _____________|____________ |
| 1063 | ** / \ |
| 1064 | ** https://www.fossil-scm.org/forum/info/12736b30c072551a?t=c |
| 1065 | ** \________________/\____/\____________________/ \_/ |
| 1066 | ** | | | | |
| 1067 | ** HTTP_HOST | PATH_INFO QUERY_STRING |
| 1068 | ** SCRIPT_NAME |
| 1069 | */ |
| 1070 | void cgi_init(void){ |
| 1071 | char *z; |
| 1072 | const char *zType; |
| 1073 | char *zSemi; |
| 1074 | int len; |
| 1075 | const char *zRequestUri = cgi_parameter("REQUEST_URI",0); |
| 1076 | const char *zScriptName = cgi_parameter("SCRIPT_NAME",""); |
| 1077 | const char *zPathInfo = cgi_parameter("PATH_INFO",""); |
| 1078 | #ifdef _WIN32 |
| 1079 | const char *zServerSoftware = cgi_parameter("SERVER_SOFTWARE",0); |
| 1080 | #endif |
| 1081 | |
| 1082 | #ifdef FOSSIL_ENABLE_JSON |
| 1083 | const int noJson = P("no_json")!=0; |
| 1084 | #endif |
| 1085 | g.isHTTP = 1; |
| 1086 | cgi_destination(CGI_BODY); |
| 1087 | |
| 1088 | /* We must have SCRIPT_NAME. If the web server did not supply it, try |
| 1089 | ** to compute it from REQUEST_URI and PATH_INFO. */ |
| 1090 | if( zScriptName==0 ){ |
| 1091 | size_t nRU, nPI; |
| 1092 | if( zRequestUri==0 || zPathInfo==0 ){ |
| 1093 | malformed_request("missing SCRIPT_NAME"); /* Does not return */ |
| 1094 | } |
| 1095 | nRU = strlen(zRequestUri); |
| 1096 | nPI = strlen(zPathInfo); |
| 1097 | if( nRU<nPI ){ |
| 1098 | malformed_request("PATH_INFO is longer than REQUEST_URI"); |
| 1099 | } |
| 1100 | zScriptName = mprintf("%.*s", (int)(nRU-nPI), zRequestUri); |
| 1101 | cgi_set_parameter("SCRIPT_NAME", zScriptName); |
| 1102 | } |
| 1103 | |
| 1104 | #ifdef _WIN32 |
| 1105 | /* The Microsoft IIS web server does not define REQUEST_URI, instead it uses |
| 1106 | ** PATH_INFO for virtually the same purpose. Define REQUEST_URI the same as |
| 1107 | ** PATH_INFO and redefine PATH_INFO with SCRIPT_NAME removed from the |
| 1108 | ** beginning. */ |
| @@ -1257,16 +1284,15 @@ | |
| 1284 | } |
| 1285 | } |
| 1286 | |
| 1287 | /* If no match is found and the name begins with an upper-case |
| 1288 | ** letter, then check to see if there is an environment variable |
| 1289 | ** with the given name. |
| 1290 | */ |
| 1291 | if( fossil_isupper(zName[0]) ){ |
| 1292 | const char *zValue = fossil_getenv(zName); |
| 1293 | if( zValue ){ |
| 1294 | cgi_set_parameter_nocopy(zName, zValue, 0); |
| 1295 | CGIDEBUG(("env-match [%s] = [%s]\n", zName, zValue)); |
| 1296 | return zValue; |
| 1297 | } |
| 1298 | } |
| 1299 |
+35
-12
| --- src/configure.c | ||
| +++ src/configure.c | ||
| @@ -37,11 +37,12 @@ | ||
| 37 | 37 | #define CONFIGSET_USER 0x000020 /* The USER table */ |
| 38 | 38 | #define CONFIGSET_ADDR 0x000040 /* The CONCEALED table */ |
| 39 | 39 | #define CONFIGSET_XFER 0x000080 /* Transfer configuration */ |
| 40 | 40 | #define CONFIGSET_ALIAS 0x000100 /* URL Aliases */ |
| 41 | 41 | #define CONFIGSET_SCRIBER 0x000200 /* Email subscribers */ |
| 42 | -#define CONFIGSET_ALL 0x0003ff /* Everything */ | |
| 42 | +#define CONFIGSET_IWIKI 0x000400 /* Interwiki codes */ | |
| 43 | +#define CONFIGSET_ALL 0x0007ff /* Everything */ | |
| 43 | 44 | |
| 44 | 45 | #define CONFIGSET_OVERWRITE 0x100000 /* Causes overwrite instead of merge */ |
| 45 | 46 | |
| 46 | 47 | /* |
| 47 | 48 | ** This mask is used for the common TH1 configuration settings (i.e. those |
| @@ -58,22 +59,23 @@ | ||
| 58 | 59 | static struct { |
| 59 | 60 | const char *zName; /* Name of the configuration set */ |
| 60 | 61 | int groupMask; /* Mask for that configuration set */ |
| 61 | 62 | const char *zHelp; /* What it does */ |
| 62 | 63 | } aGroupName[] = { |
| 63 | - { "/email", CONFIGSET_ADDR, "Concealed email addresses in tickets" }, | |
| 64 | - { "/project", CONFIGSET_PROJ, "Project name and description" }, | |
| 64 | + { "/email", CONFIGSET_ADDR, "Concealed email addresses in tickets" }, | |
| 65 | + { "/project", CONFIGSET_PROJ, "Project name and description" }, | |
| 65 | 66 | { "/skin", CONFIGSET_SKIN | CONFIGSET_CSS, |
| 66 | - "Web interface appearance settings" }, | |
| 67 | - { "/css", CONFIGSET_CSS, "Style sheet" }, | |
| 68 | - { "/shun", CONFIGSET_SHUN, "List of shunned artifacts" }, | |
| 69 | - { "/ticket", CONFIGSET_TKT, "Ticket setup", }, | |
| 70 | - { "/user", CONFIGSET_USER, "Users and privilege settings" }, | |
| 71 | - { "/xfer", CONFIGSET_XFER, "Transfer setup", }, | |
| 72 | - { "/alias", CONFIGSET_ALIAS, "URL Aliases", }, | |
| 73 | - { "/subscriber", CONFIGSET_SCRIBER,"Email notification subscriber list" }, | |
| 74 | - { "/all", CONFIGSET_ALL, "All of the above" }, | |
| 67 | + "Web interface appearance settings" }, | |
| 68 | + { "/css", CONFIGSET_CSS, "Style sheet" }, | |
| 69 | + { "/shun", CONFIGSET_SHUN, "List of shunned artifacts" }, | |
| 70 | + { "/ticket", CONFIGSET_TKT, "Ticket setup", }, | |
| 71 | + { "/user", CONFIGSET_USER, "Users and privilege settings" }, | |
| 72 | + { "/xfer", CONFIGSET_XFER, "Transfer setup", }, | |
| 73 | + { "/alias", CONFIGSET_ALIAS, "URL Aliases", }, | |
| 74 | + { "/subscriber", CONFIGSET_SCRIBER, "Email notification subscriber list" }, | |
| 75 | + { "/interwiki", CONFIGSET_IWIKI, "Inter-wiki link prefixes" }, | |
| 76 | + { "/all", CONFIGSET_ALL, "All of the above" }, | |
| 75 | 77 | }; |
| 76 | 78 | |
| 77 | 79 | |
| 78 | 80 | /* |
| 79 | 81 | ** The following is a list of settings that we are willing to |
| @@ -174,10 +176,12 @@ | ||
| 174 | 176 | |
| 175 | 177 | { "@alias", CONFIGSET_ALIAS }, |
| 176 | 178 | |
| 177 | 179 | { "@subscriber", CONFIGSET_SCRIBER }, |
| 178 | 180 | |
| 181 | + { "@interwiki", CONFIGSET_IWIKI }, | |
| 182 | + | |
| 179 | 183 | { "xfer-common-script", CONFIGSET_XFER }, |
| 180 | 184 | { "xfer-push-script", CONFIGSET_XFER }, |
| 181 | 185 | { "xfer-commit-script", CONFIGSET_XFER }, |
| 182 | 186 | { "xfer-ticket-script", CONFIGSET_XFER }, |
| 183 | 187 | |
| @@ -256,10 +260,13 @@ | ||
| 256 | 260 | return m; |
| 257 | 261 | } |
| 258 | 262 | } |
| 259 | 263 | if( strncmp(zName, "walias:/", 8)==0 ){ |
| 260 | 264 | return CONFIGSET_ALIAS; |
| 265 | + } | |
| 266 | + if( strncmp(zName, "interwiki:", 10)==0 ){ | |
| 267 | + return CONFIGSET_IWIKI; | |
| 261 | 268 | } |
| 262 | 269 | return 0; |
| 263 | 270 | } |
| 264 | 271 | |
| 265 | 272 | /* |
| @@ -588,10 +595,26 @@ | ||
| 588 | 595 | while( db_step(&q)==SQLITE_ROW ){ |
| 589 | 596 | blob_appendf(&rec,"%s %s value %s", |
| 590 | 597 | db_column_text(&q, 0), |
| 591 | 598 | db_column_text(&q, 1), |
| 592 | 599 | db_column_text(&q, 2) |
| 600 | + ); | |
| 601 | + blob_appendf(pOut, "config /config %d\n%s\n", | |
| 602 | + blob_size(&rec), blob_str(&rec)); | |
| 603 | + nCard++; | |
| 604 | + blob_reset(&rec); | |
| 605 | + } | |
| 606 | + db_finalize(&q); | |
| 607 | + } | |
| 608 | + if( groupMask & CONFIGSET_IWIKI ){ | |
| 609 | + db_prepare(&q, "SELECT mtime, quote(name), quote(value) FROM config" | |
| 610 | + " WHERE name GLOB 'interwiki:*' AND mtime>=%lld", iStart); | |
| 611 | + while( db_step(&q)==SQLITE_ROW ){ | |
| 612 | + blob_appendf(&rec,"%s %s value %s", | |
| 613 | + db_column_text(&q, 0), | |
| 614 | + db_column_text(&q, 1), | |
| 615 | + db_column_text(&q, 2) | |
| 593 | 616 | ); |
| 594 | 617 | blob_appendf(pOut, "config /config %d\n%s\n", |
| 595 | 618 | blob_size(&rec), blob_str(&rec)); |
| 596 | 619 | nCard++; |
| 597 | 620 | blob_reset(&rec); |
| 598 | 621 |
| --- src/configure.c | |
| +++ src/configure.c | |
| @@ -37,11 +37,12 @@ | |
| 37 | #define CONFIGSET_USER 0x000020 /* The USER table */ |
| 38 | #define CONFIGSET_ADDR 0x000040 /* The CONCEALED table */ |
| 39 | #define CONFIGSET_XFER 0x000080 /* Transfer configuration */ |
| 40 | #define CONFIGSET_ALIAS 0x000100 /* URL Aliases */ |
| 41 | #define CONFIGSET_SCRIBER 0x000200 /* Email subscribers */ |
| 42 | #define CONFIGSET_ALL 0x0003ff /* Everything */ |
| 43 | |
| 44 | #define CONFIGSET_OVERWRITE 0x100000 /* Causes overwrite instead of merge */ |
| 45 | |
| 46 | /* |
| 47 | ** This mask is used for the common TH1 configuration settings (i.e. those |
| @@ -58,22 +59,23 @@ | |
| 58 | static struct { |
| 59 | const char *zName; /* Name of the configuration set */ |
| 60 | int groupMask; /* Mask for that configuration set */ |
| 61 | const char *zHelp; /* What it does */ |
| 62 | } aGroupName[] = { |
| 63 | { "/email", CONFIGSET_ADDR, "Concealed email addresses in tickets" }, |
| 64 | { "/project", CONFIGSET_PROJ, "Project name and description" }, |
| 65 | { "/skin", CONFIGSET_SKIN | CONFIGSET_CSS, |
| 66 | "Web interface appearance settings" }, |
| 67 | { "/css", CONFIGSET_CSS, "Style sheet" }, |
| 68 | { "/shun", CONFIGSET_SHUN, "List of shunned artifacts" }, |
| 69 | { "/ticket", CONFIGSET_TKT, "Ticket setup", }, |
| 70 | { "/user", CONFIGSET_USER, "Users and privilege settings" }, |
| 71 | { "/xfer", CONFIGSET_XFER, "Transfer setup", }, |
| 72 | { "/alias", CONFIGSET_ALIAS, "URL Aliases", }, |
| 73 | { "/subscriber", CONFIGSET_SCRIBER,"Email notification subscriber list" }, |
| 74 | { "/all", CONFIGSET_ALL, "All of the above" }, |
| 75 | }; |
| 76 | |
| 77 | |
| 78 | /* |
| 79 | ** The following is a list of settings that we are willing to |
| @@ -174,10 +176,12 @@ | |
| 174 | |
| 175 | { "@alias", CONFIGSET_ALIAS }, |
| 176 | |
| 177 | { "@subscriber", CONFIGSET_SCRIBER }, |
| 178 | |
| 179 | { "xfer-common-script", CONFIGSET_XFER }, |
| 180 | { "xfer-push-script", CONFIGSET_XFER }, |
| 181 | { "xfer-commit-script", CONFIGSET_XFER }, |
| 182 | { "xfer-ticket-script", CONFIGSET_XFER }, |
| 183 | |
| @@ -256,10 +260,13 @@ | |
| 256 | return m; |
| 257 | } |
| 258 | } |
| 259 | if( strncmp(zName, "walias:/", 8)==0 ){ |
| 260 | return CONFIGSET_ALIAS; |
| 261 | } |
| 262 | return 0; |
| 263 | } |
| 264 | |
| 265 | /* |
| @@ -588,10 +595,26 @@ | |
| 588 | while( db_step(&q)==SQLITE_ROW ){ |
| 589 | blob_appendf(&rec,"%s %s value %s", |
| 590 | db_column_text(&q, 0), |
| 591 | db_column_text(&q, 1), |
| 592 | db_column_text(&q, 2) |
| 593 | ); |
| 594 | blob_appendf(pOut, "config /config %d\n%s\n", |
| 595 | blob_size(&rec), blob_str(&rec)); |
| 596 | nCard++; |
| 597 | blob_reset(&rec); |
| 598 |
| --- src/configure.c | |
| +++ src/configure.c | |
| @@ -37,11 +37,12 @@ | |
| 37 | #define CONFIGSET_USER 0x000020 /* The USER table */ |
| 38 | #define CONFIGSET_ADDR 0x000040 /* The CONCEALED table */ |
| 39 | #define CONFIGSET_XFER 0x000080 /* Transfer configuration */ |
| 40 | #define CONFIGSET_ALIAS 0x000100 /* URL Aliases */ |
| 41 | #define CONFIGSET_SCRIBER 0x000200 /* Email subscribers */ |
| 42 | #define CONFIGSET_IWIKI 0x000400 /* Interwiki codes */ |
| 43 | #define CONFIGSET_ALL 0x0007ff /* Everything */ |
| 44 | |
| 45 | #define CONFIGSET_OVERWRITE 0x100000 /* Causes overwrite instead of merge */ |
| 46 | |
| 47 | /* |
| 48 | ** This mask is used for the common TH1 configuration settings (i.e. those |
| @@ -58,22 +59,23 @@ | |
| 59 | static struct { |
| 60 | const char *zName; /* Name of the configuration set */ |
| 61 | int groupMask; /* Mask for that configuration set */ |
| 62 | const char *zHelp; /* What it does */ |
| 63 | } aGroupName[] = { |
| 64 | { "/email", CONFIGSET_ADDR, "Concealed email addresses in tickets" }, |
| 65 | { "/project", CONFIGSET_PROJ, "Project name and description" }, |
| 66 | { "/skin", CONFIGSET_SKIN | CONFIGSET_CSS, |
| 67 | "Web interface appearance settings" }, |
| 68 | { "/css", CONFIGSET_CSS, "Style sheet" }, |
| 69 | { "/shun", CONFIGSET_SHUN, "List of shunned artifacts" }, |
| 70 | { "/ticket", CONFIGSET_TKT, "Ticket setup", }, |
| 71 | { "/user", CONFIGSET_USER, "Users and privilege settings" }, |
| 72 | { "/xfer", CONFIGSET_XFER, "Transfer setup", }, |
| 73 | { "/alias", CONFIGSET_ALIAS, "URL Aliases", }, |
| 74 | { "/subscriber", CONFIGSET_SCRIBER, "Email notification subscriber list" }, |
| 75 | { "/interwiki", CONFIGSET_IWIKI, "Inter-wiki link prefixes" }, |
| 76 | { "/all", CONFIGSET_ALL, "All of the above" }, |
| 77 | }; |
| 78 | |
| 79 | |
| 80 | /* |
| 81 | ** The following is a list of settings that we are willing to |
| @@ -174,10 +176,12 @@ | |
| 176 | |
| 177 | { "@alias", CONFIGSET_ALIAS }, |
| 178 | |
| 179 | { "@subscriber", CONFIGSET_SCRIBER }, |
| 180 | |
| 181 | { "@interwiki", CONFIGSET_IWIKI }, |
| 182 | |
| 183 | { "xfer-common-script", CONFIGSET_XFER }, |
| 184 | { "xfer-push-script", CONFIGSET_XFER }, |
| 185 | { "xfer-commit-script", CONFIGSET_XFER }, |
| 186 | { "xfer-ticket-script", CONFIGSET_XFER }, |
| 187 | |
| @@ -256,10 +260,13 @@ | |
| 260 | return m; |
| 261 | } |
| 262 | } |
| 263 | if( strncmp(zName, "walias:/", 8)==0 ){ |
| 264 | return CONFIGSET_ALIAS; |
| 265 | } |
| 266 | if( strncmp(zName, "interwiki:", 10)==0 ){ |
| 267 | return CONFIGSET_IWIKI; |
| 268 | } |
| 269 | return 0; |
| 270 | } |
| 271 | |
| 272 | /* |
| @@ -588,10 +595,26 @@ | |
| 595 | while( db_step(&q)==SQLITE_ROW ){ |
| 596 | blob_appendf(&rec,"%s %s value %s", |
| 597 | db_column_text(&q, 0), |
| 598 | db_column_text(&q, 1), |
| 599 | db_column_text(&q, 2) |
| 600 | ); |
| 601 | blob_appendf(pOut, "config /config %d\n%s\n", |
| 602 | blob_size(&rec), blob_str(&rec)); |
| 603 | nCard++; |
| 604 | blob_reset(&rec); |
| 605 | } |
| 606 | db_finalize(&q); |
| 607 | } |
| 608 | if( groupMask & CONFIGSET_IWIKI ){ |
| 609 | db_prepare(&q, "SELECT mtime, quote(name), quote(value) FROM config" |
| 610 | " WHERE name GLOB 'interwiki:*' AND mtime>=%lld", iStart); |
| 611 | while( db_step(&q)==SQLITE_ROW ){ |
| 612 | blob_appendf(&rec,"%s %s value %s", |
| 613 | db_column_text(&q, 0), |
| 614 | db_column_text(&q, 1), |
| 615 | db_column_text(&q, 2) |
| 616 | ); |
| 617 | blob_appendf(pOut, "config /config %d\n%s\n", |
| 618 | blob_size(&rec), blob_str(&rec)); |
| 619 | nCard++; |
| 620 | blob_reset(&rec); |
| 621 |
+35
-12
| --- src/configure.c | ||
| +++ src/configure.c | ||
| @@ -37,11 +37,12 @@ | ||
| 37 | 37 | #define CONFIGSET_USER 0x000020 /* The USER table */ |
| 38 | 38 | #define CONFIGSET_ADDR 0x000040 /* The CONCEALED table */ |
| 39 | 39 | #define CONFIGSET_XFER 0x000080 /* Transfer configuration */ |
| 40 | 40 | #define CONFIGSET_ALIAS 0x000100 /* URL Aliases */ |
| 41 | 41 | #define CONFIGSET_SCRIBER 0x000200 /* Email subscribers */ |
| 42 | -#define CONFIGSET_ALL 0x0003ff /* Everything */ | |
| 42 | +#define CONFIGSET_IWIKI 0x000400 /* Interwiki codes */ | |
| 43 | +#define CONFIGSET_ALL 0x0007ff /* Everything */ | |
| 43 | 44 | |
| 44 | 45 | #define CONFIGSET_OVERWRITE 0x100000 /* Causes overwrite instead of merge */ |
| 45 | 46 | |
| 46 | 47 | /* |
| 47 | 48 | ** This mask is used for the common TH1 configuration settings (i.e. those |
| @@ -58,22 +59,23 @@ | ||
| 58 | 59 | static struct { |
| 59 | 60 | const char *zName; /* Name of the configuration set */ |
| 60 | 61 | int groupMask; /* Mask for that configuration set */ |
| 61 | 62 | const char *zHelp; /* What it does */ |
| 62 | 63 | } aGroupName[] = { |
| 63 | - { "/email", CONFIGSET_ADDR, "Concealed email addresses in tickets" }, | |
| 64 | - { "/project", CONFIGSET_PROJ, "Project name and description" }, | |
| 64 | + { "/email", CONFIGSET_ADDR, "Concealed email addresses in tickets" }, | |
| 65 | + { "/project", CONFIGSET_PROJ, "Project name and description" }, | |
| 65 | 66 | { "/skin", CONFIGSET_SKIN | CONFIGSET_CSS, |
| 66 | - "Web interface appearance settings" }, | |
| 67 | - { "/css", CONFIGSET_CSS, "Style sheet" }, | |
| 68 | - { "/shun", CONFIGSET_SHUN, "List of shunned artifacts" }, | |
| 69 | - { "/ticket", CONFIGSET_TKT, "Ticket setup", }, | |
| 70 | - { "/user", CONFIGSET_USER, "Users and privilege settings" }, | |
| 71 | - { "/xfer", CONFIGSET_XFER, "Transfer setup", }, | |
| 72 | - { "/alias", CONFIGSET_ALIAS, "URL Aliases", }, | |
| 73 | - { "/subscriber", CONFIGSET_SCRIBER,"Email notification subscriber list" }, | |
| 74 | - { "/all", CONFIGSET_ALL, "All of the above" }, | |
| 67 | + "Web interface appearance settings" }, | |
| 68 | + { "/css", CONFIGSET_CSS, "Style sheet" }, | |
| 69 | + { "/shun", CONFIGSET_SHUN, "List of shunned artifacts" }, | |
| 70 | + { "/ticket", CONFIGSET_TKT, "Ticket setup", }, | |
| 71 | + { "/user", CONFIGSET_USER, "Users and privilege settings" }, | |
| 72 | + { "/xfer", CONFIGSET_XFER, "Transfer setup", }, | |
| 73 | + { "/alias", CONFIGSET_ALIAS, "URL Aliases", }, | |
| 74 | + { "/subscriber", CONFIGSET_SCRIBER, "Email notification subscriber list" }, | |
| 75 | + { "/interwiki", CONFIGSET_IWIKI, "Inter-wiki link prefixes" }, | |
| 76 | + { "/all", CONFIGSET_ALL, "All of the above" }, | |
| 75 | 77 | }; |
| 76 | 78 | |
| 77 | 79 | |
| 78 | 80 | /* |
| 79 | 81 | ** The following is a list of settings that we are willing to |
| @@ -174,10 +176,12 @@ | ||
| 174 | 176 | |
| 175 | 177 | { "@alias", CONFIGSET_ALIAS }, |
| 176 | 178 | |
| 177 | 179 | { "@subscriber", CONFIGSET_SCRIBER }, |
| 178 | 180 | |
| 181 | + { "@interwiki", CONFIGSET_IWIKI }, | |
| 182 | + | |
| 179 | 183 | { "xfer-common-script", CONFIGSET_XFER }, |
| 180 | 184 | { "xfer-push-script", CONFIGSET_XFER }, |
| 181 | 185 | { "xfer-commit-script", CONFIGSET_XFER }, |
| 182 | 186 | { "xfer-ticket-script", CONFIGSET_XFER }, |
| 183 | 187 | |
| @@ -256,10 +260,13 @@ | ||
| 256 | 260 | return m; |
| 257 | 261 | } |
| 258 | 262 | } |
| 259 | 263 | if( strncmp(zName, "walias:/", 8)==0 ){ |
| 260 | 264 | return CONFIGSET_ALIAS; |
| 265 | + } | |
| 266 | + if( strncmp(zName, "interwiki:", 10)==0 ){ | |
| 267 | + return CONFIGSET_IWIKI; | |
| 261 | 268 | } |
| 262 | 269 | return 0; |
| 263 | 270 | } |
| 264 | 271 | |
| 265 | 272 | /* |
| @@ -588,10 +595,26 @@ | ||
| 588 | 595 | while( db_step(&q)==SQLITE_ROW ){ |
| 589 | 596 | blob_appendf(&rec,"%s %s value %s", |
| 590 | 597 | db_column_text(&q, 0), |
| 591 | 598 | db_column_text(&q, 1), |
| 592 | 599 | db_column_text(&q, 2) |
| 600 | + ); | |
| 601 | + blob_appendf(pOut, "config /config %d\n%s\n", | |
| 602 | + blob_size(&rec), blob_str(&rec)); | |
| 603 | + nCard++; | |
| 604 | + blob_reset(&rec); | |
| 605 | + } | |
| 606 | + db_finalize(&q); | |
| 607 | + } | |
| 608 | + if( groupMask & CONFIGSET_IWIKI ){ | |
| 609 | + db_prepare(&q, "SELECT mtime, quote(name), quote(value) FROM config" | |
| 610 | + " WHERE name GLOB 'interwiki:*' AND mtime>=%lld", iStart); | |
| 611 | + while( db_step(&q)==SQLITE_ROW ){ | |
| 612 | + blob_appendf(&rec,"%s %s value %s", | |
| 613 | + db_column_text(&q, 0), | |
| 614 | + db_column_text(&q, 1), | |
| 615 | + db_column_text(&q, 2) | |
| 593 | 616 | ); |
| 594 | 617 | blob_appendf(pOut, "config /config %d\n%s\n", |
| 595 | 618 | blob_size(&rec), blob_str(&rec)); |
| 596 | 619 | nCard++; |
| 597 | 620 | blob_reset(&rec); |
| 598 | 621 |
| --- src/configure.c | |
| +++ src/configure.c | |
| @@ -37,11 +37,12 @@ | |
| 37 | #define CONFIGSET_USER 0x000020 /* The USER table */ |
| 38 | #define CONFIGSET_ADDR 0x000040 /* The CONCEALED table */ |
| 39 | #define CONFIGSET_XFER 0x000080 /* Transfer configuration */ |
| 40 | #define CONFIGSET_ALIAS 0x000100 /* URL Aliases */ |
| 41 | #define CONFIGSET_SCRIBER 0x000200 /* Email subscribers */ |
| 42 | #define CONFIGSET_ALL 0x0003ff /* Everything */ |
| 43 | |
| 44 | #define CONFIGSET_OVERWRITE 0x100000 /* Causes overwrite instead of merge */ |
| 45 | |
| 46 | /* |
| 47 | ** This mask is used for the common TH1 configuration settings (i.e. those |
| @@ -58,22 +59,23 @@ | |
| 58 | static struct { |
| 59 | const char *zName; /* Name of the configuration set */ |
| 60 | int groupMask; /* Mask for that configuration set */ |
| 61 | const char *zHelp; /* What it does */ |
| 62 | } aGroupName[] = { |
| 63 | { "/email", CONFIGSET_ADDR, "Concealed email addresses in tickets" }, |
| 64 | { "/project", CONFIGSET_PROJ, "Project name and description" }, |
| 65 | { "/skin", CONFIGSET_SKIN | CONFIGSET_CSS, |
| 66 | "Web interface appearance settings" }, |
| 67 | { "/css", CONFIGSET_CSS, "Style sheet" }, |
| 68 | { "/shun", CONFIGSET_SHUN, "List of shunned artifacts" }, |
| 69 | { "/ticket", CONFIGSET_TKT, "Ticket setup", }, |
| 70 | { "/user", CONFIGSET_USER, "Users and privilege settings" }, |
| 71 | { "/xfer", CONFIGSET_XFER, "Transfer setup", }, |
| 72 | { "/alias", CONFIGSET_ALIAS, "URL Aliases", }, |
| 73 | { "/subscriber", CONFIGSET_SCRIBER,"Email notification subscriber list" }, |
| 74 | { "/all", CONFIGSET_ALL, "All of the above" }, |
| 75 | }; |
| 76 | |
| 77 | |
| 78 | /* |
| 79 | ** The following is a list of settings that we are willing to |
| @@ -174,10 +176,12 @@ | |
| 174 | |
| 175 | { "@alias", CONFIGSET_ALIAS }, |
| 176 | |
| 177 | { "@subscriber", CONFIGSET_SCRIBER }, |
| 178 | |
| 179 | { "xfer-common-script", CONFIGSET_XFER }, |
| 180 | { "xfer-push-script", CONFIGSET_XFER }, |
| 181 | { "xfer-commit-script", CONFIGSET_XFER }, |
| 182 | { "xfer-ticket-script", CONFIGSET_XFER }, |
| 183 | |
| @@ -256,10 +260,13 @@ | |
| 256 | return m; |
| 257 | } |
| 258 | } |
| 259 | if( strncmp(zName, "walias:/", 8)==0 ){ |
| 260 | return CONFIGSET_ALIAS; |
| 261 | } |
| 262 | return 0; |
| 263 | } |
| 264 | |
| 265 | /* |
| @@ -588,10 +595,26 @@ | |
| 588 | while( db_step(&q)==SQLITE_ROW ){ |
| 589 | blob_appendf(&rec,"%s %s value %s", |
| 590 | db_column_text(&q, 0), |
| 591 | db_column_text(&q, 1), |
| 592 | db_column_text(&q, 2) |
| 593 | ); |
| 594 | blob_appendf(pOut, "config /config %d\n%s\n", |
| 595 | blob_size(&rec), blob_str(&rec)); |
| 596 | nCard++; |
| 597 | blob_reset(&rec); |
| 598 |
| --- src/configure.c | |
| +++ src/configure.c | |
| @@ -37,11 +37,12 @@ | |
| 37 | #define CONFIGSET_USER 0x000020 /* The USER table */ |
| 38 | #define CONFIGSET_ADDR 0x000040 /* The CONCEALED table */ |
| 39 | #define CONFIGSET_XFER 0x000080 /* Transfer configuration */ |
| 40 | #define CONFIGSET_ALIAS 0x000100 /* URL Aliases */ |
| 41 | #define CONFIGSET_SCRIBER 0x000200 /* Email subscribers */ |
| 42 | #define CONFIGSET_IWIKI 0x000400 /* Interwiki codes */ |
| 43 | #define CONFIGSET_ALL 0x0007ff /* Everything */ |
| 44 | |
| 45 | #define CONFIGSET_OVERWRITE 0x100000 /* Causes overwrite instead of merge */ |
| 46 | |
| 47 | /* |
| 48 | ** This mask is used for the common TH1 configuration settings (i.e. those |
| @@ -58,22 +59,23 @@ | |
| 59 | static struct { |
| 60 | const char *zName; /* Name of the configuration set */ |
| 61 | int groupMask; /* Mask for that configuration set */ |
| 62 | const char *zHelp; /* What it does */ |
| 63 | } aGroupName[] = { |
| 64 | { "/email", CONFIGSET_ADDR, "Concealed email addresses in tickets" }, |
| 65 | { "/project", CONFIGSET_PROJ, "Project name and description" }, |
| 66 | { "/skin", CONFIGSET_SKIN | CONFIGSET_CSS, |
| 67 | "Web interface appearance settings" }, |
| 68 | { "/css", CONFIGSET_CSS, "Style sheet" }, |
| 69 | { "/shun", CONFIGSET_SHUN, "List of shunned artifacts" }, |
| 70 | { "/ticket", CONFIGSET_TKT, "Ticket setup", }, |
| 71 | { "/user", CONFIGSET_USER, "Users and privilege settings" }, |
| 72 | { "/xfer", CONFIGSET_XFER, "Transfer setup", }, |
| 73 | { "/alias", CONFIGSET_ALIAS, "URL Aliases", }, |
| 74 | { "/subscriber", CONFIGSET_SCRIBER, "Email notification subscriber list" }, |
| 75 | { "/interwiki", CONFIGSET_IWIKI, "Inter-wiki link prefixes" }, |
| 76 | { "/all", CONFIGSET_ALL, "All of the above" }, |
| 77 | }; |
| 78 | |
| 79 | |
| 80 | /* |
| 81 | ** The following is a list of settings that we are willing to |
| @@ -174,10 +176,12 @@ | |
| 176 | |
| 177 | { "@alias", CONFIGSET_ALIAS }, |
| 178 | |
| 179 | { "@subscriber", CONFIGSET_SCRIBER }, |
| 180 | |
| 181 | { "@interwiki", CONFIGSET_IWIKI }, |
| 182 | |
| 183 | { "xfer-common-script", CONFIGSET_XFER }, |
| 184 | { "xfer-push-script", CONFIGSET_XFER }, |
| 185 | { "xfer-commit-script", CONFIGSET_XFER }, |
| 186 | { "xfer-ticket-script", CONFIGSET_XFER }, |
| 187 | |
| @@ -256,10 +260,13 @@ | |
| 260 | return m; |
| 261 | } |
| 262 | } |
| 263 | if( strncmp(zName, "walias:/", 8)==0 ){ |
| 264 | return CONFIGSET_ALIAS; |
| 265 | } |
| 266 | if( strncmp(zName, "interwiki:", 10)==0 ){ |
| 267 | return CONFIGSET_IWIKI; |
| 268 | } |
| 269 | return 0; |
| 270 | } |
| 271 | |
| 272 | /* |
| @@ -588,10 +595,26 @@ | |
| 595 | while( db_step(&q)==SQLITE_ROW ){ |
| 596 | blob_appendf(&rec,"%s %s value %s", |
| 597 | db_column_text(&q, 0), |
| 598 | db_column_text(&q, 1), |
| 599 | db_column_text(&q, 2) |
| 600 | ); |
| 601 | blob_appendf(pOut, "config /config %d\n%s\n", |
| 602 | blob_size(&rec), blob_str(&rec)); |
| 603 | nCard++; |
| 604 | blob_reset(&rec); |
| 605 | } |
| 606 | db_finalize(&q); |
| 607 | } |
| 608 | if( groupMask & CONFIGSET_IWIKI ){ |
| 609 | db_prepare(&q, "SELECT mtime, quote(name), quote(value) FROM config" |
| 610 | " WHERE name GLOB 'interwiki:*' AND mtime>=%lld", iStart); |
| 611 | while( db_step(&q)==SQLITE_ROW ){ |
| 612 | blob_appendf(&rec,"%s %s value %s", |
| 613 | db_column_text(&q, 0), |
| 614 | db_column_text(&q, 1), |
| 615 | db_column_text(&q, 2) |
| 616 | ); |
| 617 | blob_appendf(pOut, "config /config %d\n%s\n", |
| 618 | blob_size(&rec), blob_str(&rec)); |
| 619 | nCard++; |
| 620 | blob_reset(&rec); |
| 621 |
+1
-1
| --- src/forum.c | ||
| +++ src/forum.c | ||
| @@ -732,11 +732,11 @@ | ||
| 732 | 732 | const char *zName = P("name"); |
| 733 | 733 | const char *zMode = PD("t","a"); |
| 734 | 734 | int bRaw = PB("raw"); |
| 735 | 735 | int bUnf = PB("unf"); |
| 736 | 736 | int bHist = PB("hist"); |
| 737 | - int mode; | |
| 737 | + int mode = 0; | |
| 738 | 738 | login_check_credentials(); |
| 739 | 739 | if( !g.perm.RdForum ){ |
| 740 | 740 | login_needed(g.anon.RdForum); |
| 741 | 741 | return; |
| 742 | 742 | } |
| 743 | 743 | |
| 744 | 744 | ADDED src/interwiki.c |
| --- src/forum.c | |
| +++ src/forum.c | |
| @@ -732,11 +732,11 @@ | |
| 732 | const char *zName = P("name"); |
| 733 | const char *zMode = PD("t","a"); |
| 734 | int bRaw = PB("raw"); |
| 735 | int bUnf = PB("unf"); |
| 736 | int bHist = PB("hist"); |
| 737 | int mode; |
| 738 | login_check_credentials(); |
| 739 | if( !g.perm.RdForum ){ |
| 740 | login_needed(g.anon.RdForum); |
| 741 | return; |
| 742 | } |
| 743 | |
| 744 | DDED src/interwiki.c |
| --- src/forum.c | |
| +++ src/forum.c | |
| @@ -732,11 +732,11 @@ | |
| 732 | const char *zName = P("name"); |
| 733 | const char *zMode = PD("t","a"); |
| 734 | int bRaw = PB("raw"); |
| 735 | int bUnf = PB("unf"); |
| 736 | int bHist = PB("hist"); |
| 737 | int mode = 0; |
| 738 | login_check_credentials(); |
| 739 | if( !g.perm.RdForum ){ |
| 740 | login_needed(g.anon.RdForum); |
| 741 | return; |
| 742 | } |
| 743 | |
| 744 | DDED src/interwiki.c |
+1
-1
| --- src/forum.c | ||
| +++ src/forum.c | ||
| @@ -732,11 +732,11 @@ | ||
| 732 | 732 | const char *zName = P("name"); |
| 733 | 733 | const char *zMode = PD("t","a"); |
| 734 | 734 | int bRaw = PB("raw"); |
| 735 | 735 | int bUnf = PB("unf"); |
| 736 | 736 | int bHist = PB("hist"); |
| 737 | - int mode; | |
| 737 | + int mode = 0; | |
| 738 | 738 | login_check_credentials(); |
| 739 | 739 | if( !g.perm.RdForum ){ |
| 740 | 740 | login_needed(g.anon.RdForum); |
| 741 | 741 | return; |
| 742 | 742 | } |
| 743 | 743 | |
| 744 | 744 | ADDED src/interwiki.c |
| --- src/forum.c | |
| +++ src/forum.c | |
| @@ -732,11 +732,11 @@ | |
| 732 | const char *zName = P("name"); |
| 733 | const char *zMode = PD("t","a"); |
| 734 | int bRaw = PB("raw"); |
| 735 | int bUnf = PB("unf"); |
| 736 | int bHist = PB("hist"); |
| 737 | int mode; |
| 738 | login_check_credentials(); |
| 739 | if( !g.perm.RdForum ){ |
| 740 | login_needed(g.anon.RdForum); |
| 741 | return; |
| 742 | } |
| 743 | |
| 744 | DDED src/interwiki.c |
| --- src/forum.c | |
| +++ src/forum.c | |
| @@ -732,11 +732,11 @@ | |
| 732 | const char *zName = P("name"); |
| 733 | const char *zMode = PD("t","a"); |
| 734 | int bRaw = PB("raw"); |
| 735 | int bUnf = PB("unf"); |
| 736 | int bHist = PB("hist"); |
| 737 | int mode = 0; |
| 738 | login_check_credentials(); |
| 739 | if( !g.perm.RdForum ){ |
| 740 | login_needed(g.anon.RdForum); |
| 741 | return; |
| 742 | } |
| 743 | |
| 744 | DDED src/interwiki.c |
+26
| --- a/src/interwiki.c | ||
| +++ b/src/interwiki.c | ||
| @@ -0,0 +1,26 @@ | ||
| 1 | +/* | |
| 2 | +** Copyright (c) 2020 D. Richard Hipp | |
| 3 | +** | |
| 4 | +** This program is free software; you can redistribute it and/or | |
| 5 | +** modify it under the terms of the Simplified BSD License (also | |
| 6 | +** known as the "2-Clause Ljson_extract(value,'$.base')," | |
| 7 | +re; you can redist/* | |
| 8 | +** Copyright (c) 2020 Dre; you can redist/* | |
| 9 | +** Copyright (c) 202json_extract(value,'$.base'json_extract(value,'$.hash'json_extract(value,'$.wiki')json_extract(value,'$.base')json_extract(value,'$.base')," | |
| 10 | + " json_extract(value,'$.hash')," | |
| 11 | + " j"interwiki"); | |
| 12 | +} | |
| 13 | +c) 2020 D. Richard Hipp | |
| 14 | +** | |
| 15 | +** This program is free software; you can redistribute it and/or | |
| 16 | +** modify it under the terms of the Simplified BSD License (also | |
| 17 | +** known as the "2-Clause Ljson_extract(value,'$.base')," | |
| 18 | +re; you can/* | |
| 19 | +** Copyright (c) 2020 D. Richard Hipp | |
| 20 | +** | |
| 21 | +** This program is free software; you can redistribute it and/or | |
| 22 | +** modify it under the terms of the Simplifi'interwiki:%finalize(&qbody_and_footerbody_and_footer("interwiki"); | |
| 23 | +} | |
| 24 | +footer(footer(); | |
| 25 | +} | |
| 26 | +Setup |
| --- a/src/interwiki.c | |
| +++ b/src/interwiki.c | |
| @@ -0,0 +1,26 @@ | |
| --- a/src/interwiki.c | |
| +++ b/src/interwiki.c | |
| @@ -0,0 +1,26 @@ | |
| 1 | /* |
| 2 | ** Copyright (c) 2020 D. Richard Hipp |
| 3 | ** |
| 4 | ** This program is free software; you can redistribute it and/or |
| 5 | ** modify it under the terms of the Simplified BSD License (also |
| 6 | ** known as the "2-Clause Ljson_extract(value,'$.base')," |
| 7 | re; you can redist/* |
| 8 | ** Copyright (c) 2020 Dre; you can redist/* |
| 9 | ** Copyright (c) 202json_extract(value,'$.base'json_extract(value,'$.hash'json_extract(value,'$.wiki')json_extract(value,'$.base')json_extract(value,'$.base')," |
| 10 | " json_extract(value,'$.hash')," |
| 11 | " j"interwiki"); |
| 12 | } |
| 13 | c) 2020 D. Richard Hipp |
| 14 | ** |
| 15 | ** This program is free software; you can redistribute it and/or |
| 16 | ** modify it under the terms of the Simplified BSD License (also |
| 17 | ** known as the "2-Clause Ljson_extract(value,'$.base')," |
| 18 | re; you can/* |
| 19 | ** Copyright (c) 2020 D. Richard Hipp |
| 20 | ** |
| 21 | ** This program is free software; you can redistribute it and/or |
| 22 | ** modify it under the terms of the Simplifi'interwiki:%finalize(&qbody_and_footerbody_and_footer("interwiki"); |
| 23 | } |
| 24 | footer(footer(); |
| 25 | } |
| 26 | Setup |
+1
-1
| --- a/src/interwiki.c | ||
| +++ b/src/interwiki.c | ||
| @@ -23,4 +23,4 @@ | ||
| 23 | 23 | } |
| 24 | 24 | footer(footer(); |
| 25 | 25 | } |
| 26 | -Setup ? }else{ | |
| 26 | +Setup |
| --- a/src/interwiki.c | |
| +++ b/src/interwiki.c | |
| @@ -23,4 +23,4 @@ | |
| 23 | } |
| 24 | footer(footer(); |
| 25 | } |
| 26 | Setup ? }else{ |
| --- a/src/interwiki.c | |
| +++ b/src/interwiki.c | |
| @@ -23,4 +23,4 @@ | |
| 23 | } |
| 24 | footer(footer(); |
| 25 | } |
| 26 | Setup |
+12
| --- src/main.mk | ||
| +++ src/main.mk | ||
| @@ -73,10 +73,11 @@ | ||
| 73 | 73 | $(SRCDIR)/http_socket.c \ |
| 74 | 74 | $(SRCDIR)/http_ssl.c \ |
| 75 | 75 | $(SRCDIR)/http_transport.c \ |
| 76 | 76 | $(SRCDIR)/import.c \ |
| 77 | 77 | $(SRCDIR)/info.c \ |
| 78 | + $(SRCDIR)/interwiki.c \ | |
| 78 | 79 | $(SRCDIR)/json.c \ |
| 79 | 80 | $(SRCDIR)/json_artifact.c \ |
| 80 | 81 | $(SRCDIR)/json_branch.c \ |
| 81 | 82 | $(SRCDIR)/json_config.c \ |
| 82 | 83 | $(SRCDIR)/json_diff.c \ |
| @@ -325,10 +326,11 @@ | ||
| 325 | 326 | $(OBJDIR)/http_socket_.c \ |
| 326 | 327 | $(OBJDIR)/http_ssl_.c \ |
| 327 | 328 | $(OBJDIR)/http_transport_.c \ |
| 328 | 329 | $(OBJDIR)/import_.c \ |
| 329 | 330 | $(OBJDIR)/info_.c \ |
| 331 | + $(OBJDIR)/interwiki_.c \ | |
| 330 | 332 | $(OBJDIR)/json_.c \ |
| 331 | 333 | $(OBJDIR)/json_artifact_.c \ |
| 332 | 334 | $(OBJDIR)/json_branch_.c \ |
| 333 | 335 | $(OBJDIR)/json_config_.c \ |
| 334 | 336 | $(OBJDIR)/json_diff_.c \ |
| @@ -470,10 +472,11 @@ | ||
| 470 | 472 | $(OBJDIR)/http_socket.o \ |
| 471 | 473 | $(OBJDIR)/http_ssl.o \ |
| 472 | 474 | $(OBJDIR)/http_transport.o \ |
| 473 | 475 | $(OBJDIR)/import.o \ |
| 474 | 476 | $(OBJDIR)/info.o \ |
| 477 | + $(OBJDIR)/interwiki.o \ | |
| 475 | 478 | $(OBJDIR)/json.o \ |
| 476 | 479 | $(OBJDIR)/json_artifact.o \ |
| 477 | 480 | $(OBJDIR)/json_branch.o \ |
| 478 | 481 | $(OBJDIR)/json_config.o \ |
| 479 | 482 | $(OBJDIR)/json_diff.o \ |
| @@ -805,10 +808,11 @@ | ||
| 805 | 808 | $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h \ |
| 806 | 809 | $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h \ |
| 807 | 810 | $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h \ |
| 808 | 811 | $(OBJDIR)/import_.c:$(OBJDIR)/import.h \ |
| 809 | 812 | $(OBJDIR)/info_.c:$(OBJDIR)/info.h \ |
| 813 | + $(OBJDIR)/interwiki_.c:$(OBJDIR)/interwiki.h \ | |
| 810 | 814 | $(OBJDIR)/json_.c:$(OBJDIR)/json.h \ |
| 811 | 815 | $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h \ |
| 812 | 816 | $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h \ |
| 813 | 817 | $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h \ |
| 814 | 818 | $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h \ |
| @@ -1367,10 +1371,18 @@ | ||
| 1367 | 1371 | |
| 1368 | 1372 | $(OBJDIR)/info.o: $(OBJDIR)/info_.c $(OBJDIR)/info.h $(SRCDIR)/config.h |
| 1369 | 1373 | $(XTCC) -o $(OBJDIR)/info.o -c $(OBJDIR)/info_.c |
| 1370 | 1374 | |
| 1371 | 1375 | $(OBJDIR)/info.h: $(OBJDIR)/headers |
| 1376 | + | |
| 1377 | +$(OBJDIR)/interwiki_.c: $(SRCDIR)/interwiki.c $(OBJDIR)/translate | |
| 1378 | + $(OBJDIR)/translate $(SRCDIR)/interwiki.c >$@ | |
| 1379 | + | |
| 1380 | +$(OBJDIR)/interwiki.o: $(OBJDIR)/interwiki_.c $(OBJDIR)/interwiki.h $(SRCDIR)/config.h | |
| 1381 | + $(XTCC) -o $(OBJDIR)/interwiki.o -c $(OBJDIR)/interwiki_.c | |
| 1382 | + | |
| 1383 | +$(OBJDIR)/interwiki.h: $(OBJDIR)/headers | |
| 1372 | 1384 | |
| 1373 | 1385 | $(OBJDIR)/json_.c: $(SRCDIR)/json.c $(OBJDIR)/translate |
| 1374 | 1386 | $(OBJDIR)/translate $(SRCDIR)/json.c >$@ |
| 1375 | 1387 | |
| 1376 | 1388 | $(OBJDIR)/json.o: $(OBJDIR)/json_.c $(OBJDIR)/json.h $(SRCDIR)/config.h |
| 1377 | 1389 |
| --- src/main.mk | |
| +++ src/main.mk | |
| @@ -73,10 +73,11 @@ | |
| 73 | $(SRCDIR)/http_socket.c \ |
| 74 | $(SRCDIR)/http_ssl.c \ |
| 75 | $(SRCDIR)/http_transport.c \ |
| 76 | $(SRCDIR)/import.c \ |
| 77 | $(SRCDIR)/info.c \ |
| 78 | $(SRCDIR)/json.c \ |
| 79 | $(SRCDIR)/json_artifact.c \ |
| 80 | $(SRCDIR)/json_branch.c \ |
| 81 | $(SRCDIR)/json_config.c \ |
| 82 | $(SRCDIR)/json_diff.c \ |
| @@ -325,10 +326,11 @@ | |
| 325 | $(OBJDIR)/http_socket_.c \ |
| 326 | $(OBJDIR)/http_ssl_.c \ |
| 327 | $(OBJDIR)/http_transport_.c \ |
| 328 | $(OBJDIR)/import_.c \ |
| 329 | $(OBJDIR)/info_.c \ |
| 330 | $(OBJDIR)/json_.c \ |
| 331 | $(OBJDIR)/json_artifact_.c \ |
| 332 | $(OBJDIR)/json_branch_.c \ |
| 333 | $(OBJDIR)/json_config_.c \ |
| 334 | $(OBJDIR)/json_diff_.c \ |
| @@ -470,10 +472,11 @@ | |
| 470 | $(OBJDIR)/http_socket.o \ |
| 471 | $(OBJDIR)/http_ssl.o \ |
| 472 | $(OBJDIR)/http_transport.o \ |
| 473 | $(OBJDIR)/import.o \ |
| 474 | $(OBJDIR)/info.o \ |
| 475 | $(OBJDIR)/json.o \ |
| 476 | $(OBJDIR)/json_artifact.o \ |
| 477 | $(OBJDIR)/json_branch.o \ |
| 478 | $(OBJDIR)/json_config.o \ |
| 479 | $(OBJDIR)/json_diff.o \ |
| @@ -805,10 +808,11 @@ | |
| 805 | $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h \ |
| 806 | $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h \ |
| 807 | $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h \ |
| 808 | $(OBJDIR)/import_.c:$(OBJDIR)/import.h \ |
| 809 | $(OBJDIR)/info_.c:$(OBJDIR)/info.h \ |
| 810 | $(OBJDIR)/json_.c:$(OBJDIR)/json.h \ |
| 811 | $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h \ |
| 812 | $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h \ |
| 813 | $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h \ |
| 814 | $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h \ |
| @@ -1367,10 +1371,18 @@ | |
| 1367 | |
| 1368 | $(OBJDIR)/info.o: $(OBJDIR)/info_.c $(OBJDIR)/info.h $(SRCDIR)/config.h |
| 1369 | $(XTCC) -o $(OBJDIR)/info.o -c $(OBJDIR)/info_.c |
| 1370 | |
| 1371 | $(OBJDIR)/info.h: $(OBJDIR)/headers |
| 1372 | |
| 1373 | $(OBJDIR)/json_.c: $(SRCDIR)/json.c $(OBJDIR)/translate |
| 1374 | $(OBJDIR)/translate $(SRCDIR)/json.c >$@ |
| 1375 | |
| 1376 | $(OBJDIR)/json.o: $(OBJDIR)/json_.c $(OBJDIR)/json.h $(SRCDIR)/config.h |
| 1377 |
| --- src/main.mk | |
| +++ src/main.mk | |
| @@ -73,10 +73,11 @@ | |
| 73 | $(SRCDIR)/http_socket.c \ |
| 74 | $(SRCDIR)/http_ssl.c \ |
| 75 | $(SRCDIR)/http_transport.c \ |
| 76 | $(SRCDIR)/import.c \ |
| 77 | $(SRCDIR)/info.c \ |
| 78 | $(SRCDIR)/interwiki.c \ |
| 79 | $(SRCDIR)/json.c \ |
| 80 | $(SRCDIR)/json_artifact.c \ |
| 81 | $(SRCDIR)/json_branch.c \ |
| 82 | $(SRCDIR)/json_config.c \ |
| 83 | $(SRCDIR)/json_diff.c \ |
| @@ -325,10 +326,11 @@ | |
| 326 | $(OBJDIR)/http_socket_.c \ |
| 327 | $(OBJDIR)/http_ssl_.c \ |
| 328 | $(OBJDIR)/http_transport_.c \ |
| 329 | $(OBJDIR)/import_.c \ |
| 330 | $(OBJDIR)/info_.c \ |
| 331 | $(OBJDIR)/interwiki_.c \ |
| 332 | $(OBJDIR)/json_.c \ |
| 333 | $(OBJDIR)/json_artifact_.c \ |
| 334 | $(OBJDIR)/json_branch_.c \ |
| 335 | $(OBJDIR)/json_config_.c \ |
| 336 | $(OBJDIR)/json_diff_.c \ |
| @@ -470,10 +472,11 @@ | |
| 472 | $(OBJDIR)/http_socket.o \ |
| 473 | $(OBJDIR)/http_ssl.o \ |
| 474 | $(OBJDIR)/http_transport.o \ |
| 475 | $(OBJDIR)/import.o \ |
| 476 | $(OBJDIR)/info.o \ |
| 477 | $(OBJDIR)/interwiki.o \ |
| 478 | $(OBJDIR)/json.o \ |
| 479 | $(OBJDIR)/json_artifact.o \ |
| 480 | $(OBJDIR)/json_branch.o \ |
| 481 | $(OBJDIR)/json_config.o \ |
| 482 | $(OBJDIR)/json_diff.o \ |
| @@ -805,10 +808,11 @@ | |
| 808 | $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h \ |
| 809 | $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h \ |
| 810 | $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h \ |
| 811 | $(OBJDIR)/import_.c:$(OBJDIR)/import.h \ |
| 812 | $(OBJDIR)/info_.c:$(OBJDIR)/info.h \ |
| 813 | $(OBJDIR)/interwiki_.c:$(OBJDIR)/interwiki.h \ |
| 814 | $(OBJDIR)/json_.c:$(OBJDIR)/json.h \ |
| 815 | $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h \ |
| 816 | $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h \ |
| 817 | $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h \ |
| 818 | $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h \ |
| @@ -1367,10 +1371,18 @@ | |
| 1371 | |
| 1372 | $(OBJDIR)/info.o: $(OBJDIR)/info_.c $(OBJDIR)/info.h $(SRCDIR)/config.h |
| 1373 | $(XTCC) -o $(OBJDIR)/info.o -c $(OBJDIR)/info_.c |
| 1374 | |
| 1375 | $(OBJDIR)/info.h: $(OBJDIR)/headers |
| 1376 | |
| 1377 | $(OBJDIR)/interwiki_.c: $(SRCDIR)/interwiki.c $(OBJDIR)/translate |
| 1378 | $(OBJDIR)/translate $(SRCDIR)/interwiki.c >$@ |
| 1379 | |
| 1380 | $(OBJDIR)/interwiki.o: $(OBJDIR)/interwiki_.c $(OBJDIR)/interwiki.h $(SRCDIR)/config.h |
| 1381 | $(XTCC) -o $(OBJDIR)/interwiki.o -c $(OBJDIR)/interwiki_.c |
| 1382 | |
| 1383 | $(OBJDIR)/interwiki.h: $(OBJDIR)/headers |
| 1384 | |
| 1385 | $(OBJDIR)/json_.c: $(SRCDIR)/json.c $(OBJDIR)/translate |
| 1386 | $(OBJDIR)/translate $(SRCDIR)/json.c >$@ |
| 1387 | |
| 1388 | $(OBJDIR)/json.o: $(OBJDIR)/json_.c $(OBJDIR)/json.h $(SRCDIR)/config.h |
| 1389 |
+1
| --- src/makemake.tcl | ||
| +++ src/makemake.tcl | ||
| @@ -83,10 +83,11 @@ | ||
| 83 | 83 | http |
| 84 | 84 | http_socket |
| 85 | 85 | http_transport |
| 86 | 86 | import |
| 87 | 87 | info |
| 88 | + interwiki | |
| 88 | 89 | json |
| 89 | 90 | json_artifact |
| 90 | 91 | json_branch |
| 91 | 92 | json_config |
| 92 | 93 | json_diff |
| 93 | 94 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -83,10 +83,11 @@ | |
| 83 | http |
| 84 | http_socket |
| 85 | http_transport |
| 86 | import |
| 87 | info |
| 88 | json |
| 89 | json_artifact |
| 90 | json_branch |
| 91 | json_config |
| 92 | json_diff |
| 93 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -83,10 +83,11 @@ | |
| 83 | http |
| 84 | http_socket |
| 85 | http_transport |
| 86 | import |
| 87 | info |
| 88 | interwiki |
| 89 | json |
| 90 | json_artifact |
| 91 | json_branch |
| 92 | json_config |
| 93 | json_diff |
| 94 |
+7
-3
| --- src/markdown.md | ||
| +++ src/markdown.md | ||
| @@ -44,15 +44,16 @@ | ||
| 44 | 44 | > it may optionally be written **\<URL\>** (format 4). |
| 45 | 45 | > Other **URL** formats include: |
| 46 | 46 | > <ul> |
| 47 | 47 | > <li> A relative pathname. |
| 48 | 48 | > <li> A pathname starting with "/" in which case the Fossil server |
| 49 | -> URL prefix is prepended | |
| 49 | +> URL prefix is prepended | |
| 50 | 50 | > <li> A wiki page name, or a wiki page name preceded by "wiki:" |
| 51 | -> <li> An artifact or ticket hash or hash prefix | |
| 51 | +> <li> An artifact or ticket hash or hash prefix | |
| 52 | 52 | > <li> A date and time stamp: "YYYY-MM-DD HH:MM:SS" or a subset that |
| 53 | -> includes at least the day of the month.</ul> | |
| 53 | +> includes at least the day of the month. | |
| 54 | +> <li> An [interwiki link](#intermap) of the form "<i>Tag</i><b>:</b><i>PageName</i>"</ul> | |
| 54 | 55 | |
| 55 | 56 | > In format 8, then the URL becomes the display text. This is useful for |
| 56 | 57 | > hyperlinks that refer to wiki pages and check-in and ticket hashes. |
| 57 | 58 | |
| 58 | 59 | ## Fonts ## |
| @@ -152,5 +153,8 @@ | ||
| 152 | 153 | > * For documents that begin with a top-level heading (ex: **# heading #**), |
| 153 | 154 | > the heading is omitted from the body of the document and becomes the |
| 154 | 155 | > document title displayed at the top of the Fossil page. |
| 155 | 156 | |
| 156 | 157 | [daringfireball.net]: http://daringfireball.net/projects/markdown/syntax |
| 158 | + | |
| 159 | +<a name="intermap"></a> | |
| 160 | +## Interwiki Tag Map | |
| 157 | 161 |
| --- src/markdown.md | |
| +++ src/markdown.md | |
| @@ -44,15 +44,16 @@ | |
| 44 | > it may optionally be written **\<URL\>** (format 4). |
| 45 | > Other **URL** formats include: |
| 46 | > <ul> |
| 47 | > <li> A relative pathname. |
| 48 | > <li> A pathname starting with "/" in which case the Fossil server |
| 49 | > URL prefix is prepended |
| 50 | > <li> A wiki page name, or a wiki page name preceded by "wiki:" |
| 51 | > <li> An artifact or ticket hash or hash prefix |
| 52 | > <li> A date and time stamp: "YYYY-MM-DD HH:MM:SS" or a subset that |
| 53 | > includes at least the day of the month.</ul> |
| 54 | |
| 55 | > In format 8, then the URL becomes the display text. This is useful for |
| 56 | > hyperlinks that refer to wiki pages and check-in and ticket hashes. |
| 57 | |
| 58 | ## Fonts ## |
| @@ -152,5 +153,8 @@ | |
| 152 | > * For documents that begin with a top-level heading (ex: **# heading #**), |
| 153 | > the heading is omitted from the body of the document and becomes the |
| 154 | > document title displayed at the top of the Fossil page. |
| 155 | |
| 156 | [daringfireball.net]: http://daringfireball.net/projects/markdown/syntax |
| 157 |
| --- src/markdown.md | |
| +++ src/markdown.md | |
| @@ -44,15 +44,16 @@ | |
| 44 | > it may optionally be written **\<URL\>** (format 4). |
| 45 | > Other **URL** formats include: |
| 46 | > <ul> |
| 47 | > <li> A relative pathname. |
| 48 | > <li> A pathname starting with "/" in which case the Fossil server |
| 49 | > URL prefix is prepended |
| 50 | > <li> A wiki page name, or a wiki page name preceded by "wiki:" |
| 51 | > <li> An artifact or ticket hash or hash prefix |
| 52 | > <li> A date and time stamp: "YYYY-MM-DD HH:MM:SS" or a subset that |
| 53 | > includes at least the day of the month. |
| 54 | > <li> An [interwiki link](#intermap) of the form "<i>Tag</i><b>:</b><i>PageName</i>"</ul> |
| 55 | |
| 56 | > In format 8, then the URL becomes the display text. This is useful for |
| 57 | > hyperlinks that refer to wiki pages and check-in and ticket hashes. |
| 58 | |
| 59 | ## Fonts ## |
| @@ -152,5 +153,8 @@ | |
| 153 | > * For documents that begin with a top-level heading (ex: **# heading #**), |
| 154 | > the heading is omitted from the body of the document and becomes the |
| 155 | > document title displayed at the top of the Fossil page. |
| 156 | |
| 157 | [daringfireball.net]: http://daringfireball.net/projects/markdown/syntax |
| 158 | |
| 159 | <a name="intermap"></a> |
| 160 | ## Interwiki Tag Map |
| 161 |
+2
| --- src/mkindex.c | ||
| +++ src/mkindex.c | ||
| @@ -344,10 +344,12 @@ | ||
| 344 | 344 | i += 4; |
| 345 | 345 | if( !fossil_isspace(zLine[i]) ) goto page_skip; |
| 346 | 346 | while( fossil_isspace(zLine[i]) ){ i++; } |
| 347 | 347 | for(j=0; fossil_isident(zLine[i+j]); j++){} |
| 348 | 348 | if( j==0 ) goto page_skip; |
| 349 | + }else{ | |
| 350 | + j = 0; | |
| 349 | 351 | } |
| 350 | 352 | for(k=nHelp-1; k>=0 && fossil_isspace(zHelp[k]); k--){} |
| 351 | 353 | nHelp = k+1; |
| 352 | 354 | zHelp[nHelp] = 0; |
| 353 | 355 | for(k=0; k<nHelp && fossil_isspace(zHelp[k]); k++){} |
| 354 | 356 |
| --- src/mkindex.c | |
| +++ src/mkindex.c | |
| @@ -344,10 +344,12 @@ | |
| 344 | i += 4; |
| 345 | if( !fossil_isspace(zLine[i]) ) goto page_skip; |
| 346 | while( fossil_isspace(zLine[i]) ){ i++; } |
| 347 | for(j=0; fossil_isident(zLine[i+j]); j++){} |
| 348 | if( j==0 ) goto page_skip; |
| 349 | } |
| 350 | for(k=nHelp-1; k>=0 && fossil_isspace(zHelp[k]); k--){} |
| 351 | nHelp = k+1; |
| 352 | zHelp[nHelp] = 0; |
| 353 | for(k=0; k<nHelp && fossil_isspace(zHelp[k]); k++){} |
| 354 |
| --- src/mkindex.c | |
| +++ src/mkindex.c | |
| @@ -344,10 +344,12 @@ | |
| 344 | i += 4; |
| 345 | if( !fossil_isspace(zLine[i]) ) goto page_skip; |
| 346 | while( fossil_isspace(zLine[i]) ){ i++; } |
| 347 | for(j=0; fossil_isident(zLine[i+j]); j++){} |
| 348 | if( j==0 ) goto page_skip; |
| 349 | }else{ |
| 350 | j = 0; |
| 351 | } |
| 352 | for(k=nHelp-1; k>=0 && fossil_isspace(zHelp[k]); k--){} |
| 353 | nHelp = k+1; |
| 354 | zHelp[nHelp] = 0; |
| 355 | for(k=0; k<nHelp && fossil_isspace(zHelp[k]); k++){} |
| 356 |
+2
| --- src/mkindex.c | ||
| +++ src/mkindex.c | ||
| @@ -344,10 +344,12 @@ | ||
| 344 | 344 | i += 4; |
| 345 | 345 | if( !fossil_isspace(zLine[i]) ) goto page_skip; |
| 346 | 346 | while( fossil_isspace(zLine[i]) ){ i++; } |
| 347 | 347 | for(j=0; fossil_isident(zLine[i+j]); j++){} |
| 348 | 348 | if( j==0 ) goto page_skip; |
| 349 | + }else{ | |
| 350 | + j = 0; | |
| 349 | 351 | } |
| 350 | 352 | for(k=nHelp-1; k>=0 && fossil_isspace(zHelp[k]); k--){} |
| 351 | 353 | nHelp = k+1; |
| 352 | 354 | zHelp[nHelp] = 0; |
| 353 | 355 | for(k=0; k<nHelp && fossil_isspace(zHelp[k]); k++){} |
| 354 | 356 |
| --- src/mkindex.c | |
| +++ src/mkindex.c | |
| @@ -344,10 +344,12 @@ | |
| 344 | i += 4; |
| 345 | if( !fossil_isspace(zLine[i]) ) goto page_skip; |
| 346 | while( fossil_isspace(zLine[i]) ){ i++; } |
| 347 | for(j=0; fossil_isident(zLine[i+j]); j++){} |
| 348 | if( j==0 ) goto page_skip; |
| 349 | } |
| 350 | for(k=nHelp-1; k>=0 && fossil_isspace(zHelp[k]); k--){} |
| 351 | nHelp = k+1; |
| 352 | zHelp[nHelp] = 0; |
| 353 | for(k=0; k<nHelp && fossil_isspace(zHelp[k]); k++){} |
| 354 |
| --- src/mkindex.c | |
| +++ src/mkindex.c | |
| @@ -344,10 +344,12 @@ | |
| 344 | i += 4; |
| 345 | if( !fossil_isspace(zLine[i]) ) goto page_skip; |
| 346 | while( fossil_isspace(zLine[i]) ){ i++; } |
| 347 | for(j=0; fossil_isident(zLine[i+j]); j++){} |
| 348 | if( j==0 ) goto page_skip; |
| 349 | }else{ |
| 350 | j = 0; |
| 351 | } |
| 352 | for(k=nHelp-1; k>=0 && fossil_isspace(zHelp[k]); k--){} |
| 353 | nHelp = k+1; |
| 354 | zHelp[nHelp] = 0; |
| 355 | for(k=0; k<nHelp && fossil_isspace(zHelp[k]); k++){} |
| 356 |
+5
| --- src/setup.c | ||
| +++ src/setup.c | ||
| @@ -1084,10 +1084,15 @@ | ||
| 1084 | 1084 | @ make this setting be just "<b>b</b>". To allow unsafe HTML anywhere except |
| 1085 | 1085 | @ in forum posts, make this setting be "<b>btw</b>". The default is an |
| 1086 | 1086 | @ empty string which means that Fossil never allows Markdown documents |
| 1087 | 1087 | @ to generate unsafe HTML. |
| 1088 | 1088 | @ (Property: "safe-html")</p> |
| 1089 | + @ <hr /> | |
| 1090 | + @ The current interwiki tag map is as follows: | |
| 1091 | + interwiki_append_map_table(cgi_output_blob()); | |
| 1092 | + @ <p>Visit <a href="./intermap">%R/intermap</a> for details or to | |
| 1093 | + @ modify the interwiki tag map. | |
| 1089 | 1094 | @ <hr /> |
| 1090 | 1095 | onoff_attribute("Use HTML as wiki markup language", |
| 1091 | 1096 | "wiki-use-html", "wiki-use-html", 0, 0); |
| 1092 | 1097 | @ <p>Use HTML as the wiki markup language. Wiki links will still be parsed |
| 1093 | 1098 | @ but all other wiki formatting will be ignored.</p> |
| 1094 | 1099 |
| --- src/setup.c | |
| +++ src/setup.c | |
| @@ -1084,10 +1084,15 @@ | |
| 1084 | @ make this setting be just "<b>b</b>". To allow unsafe HTML anywhere except |
| 1085 | @ in forum posts, make this setting be "<b>btw</b>". The default is an |
| 1086 | @ empty string which means that Fossil never allows Markdown documents |
| 1087 | @ to generate unsafe HTML. |
| 1088 | @ (Property: "safe-html")</p> |
| 1089 | @ <hr /> |
| 1090 | onoff_attribute("Use HTML as wiki markup language", |
| 1091 | "wiki-use-html", "wiki-use-html", 0, 0); |
| 1092 | @ <p>Use HTML as the wiki markup language. Wiki links will still be parsed |
| 1093 | @ but all other wiki formatting will be ignored.</p> |
| 1094 |
| --- src/setup.c | |
| +++ src/setup.c | |
| @@ -1084,10 +1084,15 @@ | |
| 1084 | @ make this setting be just "<b>b</b>". To allow unsafe HTML anywhere except |
| 1085 | @ in forum posts, make this setting be "<b>btw</b>". The default is an |
| 1086 | @ empty string which means that Fossil never allows Markdown documents |
| 1087 | @ to generate unsafe HTML. |
| 1088 | @ (Property: "safe-html")</p> |
| 1089 | @ <hr /> |
| 1090 | @ The current interwiki tag map is as follows: |
| 1091 | interwiki_append_map_table(cgi_output_blob()); |
| 1092 | @ <p>Visit <a href="./intermap">%R/intermap</a> for details or to |
| 1093 | @ modify the interwiki tag map. |
| 1094 | @ <hr /> |
| 1095 | onoff_attribute("Use HTML as wiki markup language", |
| 1096 | "wiki-use-html", "wiki-use-html", 0, 0); |
| 1097 | @ <p>Use HTML as the wiki markup language. Wiki links will still be parsed |
| 1098 | @ but all other wiki formatting will be ignored.</p> |
| 1099 |
+5
| --- src/setup.c | ||
| +++ src/setup.c | ||
| @@ -1084,10 +1084,15 @@ | ||
| 1084 | 1084 | @ make this setting be just "<b>b</b>". To allow unsafe HTML anywhere except |
| 1085 | 1085 | @ in forum posts, make this setting be "<b>btw</b>". The default is an |
| 1086 | 1086 | @ empty string which means that Fossil never allows Markdown documents |
| 1087 | 1087 | @ to generate unsafe HTML. |
| 1088 | 1088 | @ (Property: "safe-html")</p> |
| 1089 | + @ <hr /> | |
| 1090 | + @ The current interwiki tag map is as follows: | |
| 1091 | + interwiki_append_map_table(cgi_output_blob()); | |
| 1092 | + @ <p>Visit <a href="./intermap">%R/intermap</a> for details or to | |
| 1093 | + @ modify the interwiki tag map. | |
| 1089 | 1094 | @ <hr /> |
| 1090 | 1095 | onoff_attribute("Use HTML as wiki markup language", |
| 1091 | 1096 | "wiki-use-html", "wiki-use-html", 0, 0); |
| 1092 | 1097 | @ <p>Use HTML as the wiki markup language. Wiki links will still be parsed |
| 1093 | 1098 | @ but all other wiki formatting will be ignored.</p> |
| 1094 | 1099 |
| --- src/setup.c | |
| +++ src/setup.c | |
| @@ -1084,10 +1084,15 @@ | |
| 1084 | @ make this setting be just "<b>b</b>". To allow unsafe HTML anywhere except |
| 1085 | @ in forum posts, make this setting be "<b>btw</b>". The default is an |
| 1086 | @ empty string which means that Fossil never allows Markdown documents |
| 1087 | @ to generate unsafe HTML. |
| 1088 | @ (Property: "safe-html")</p> |
| 1089 | @ <hr /> |
| 1090 | onoff_attribute("Use HTML as wiki markup language", |
| 1091 | "wiki-use-html", "wiki-use-html", 0, 0); |
| 1092 | @ <p>Use HTML as the wiki markup language. Wiki links will still be parsed |
| 1093 | @ but all other wiki formatting will be ignored.</p> |
| 1094 |
| --- src/setup.c | |
| +++ src/setup.c | |
| @@ -1084,10 +1084,15 @@ | |
| 1084 | @ make this setting be just "<b>b</b>". To allow unsafe HTML anywhere except |
| 1085 | @ in forum posts, make this setting be "<b>btw</b>". The default is an |
| 1086 | @ empty string which means that Fossil never allows Markdown documents |
| 1087 | @ to generate unsafe HTML. |
| 1088 | @ (Property: "safe-html")</p> |
| 1089 | @ <hr /> |
| 1090 | @ The current interwiki tag map is as follows: |
| 1091 | interwiki_append_map_table(cgi_output_blob()); |
| 1092 | @ <p>Visit <a href="./intermap">%R/intermap</a> for details or to |
| 1093 | @ modify the interwiki tag map. |
| 1094 | @ <hr /> |
| 1095 | onoff_attribute("Use HTML as wiki markup language", |
| 1096 | "wiki-use-html", "wiki-use-html", 0, 0); |
| 1097 | @ <p>Use HTML as the wiki markup language. Wiki links will still be parsed |
| 1098 | @ but all other wiki formatting will be ignored.</p> |
| 1099 |
+4
| --- src/wiki.c | ||
| +++ src/wiki.c | ||
| @@ -220,12 +220,14 @@ | ||
| 220 | 220 | if( fTxt ){ |
| 221 | 221 | style_submenu_element("Formatted", "%R/md_rules"); |
| 222 | 222 | }else{ |
| 223 | 223 | style_submenu_element("Plain-Text", "%R/md_rules?txt=1"); |
| 224 | 224 | } |
| 225 | + style_submenu_element("Wiki", "%R/wiki_rules"); | |
| 225 | 226 | blob_init(&x, builtin_text("markdown.md"), -1); |
| 226 | 227 | blob_materialize(&x); |
| 228 | + interwiki_append_map_table(&x); | |
| 227 | 229 | safe_html_context(DOCSRC_TRUSTED); |
| 228 | 230 | wiki_render_by_mimetype(&x, fTxt ? "text/plain" : "text/x-markdown"); |
| 229 | 231 | blob_reset(&x); |
| 230 | 232 | style_footer(); |
| 231 | 233 | } |
| @@ -242,12 +244,14 @@ | ||
| 242 | 244 | if( fTxt ){ |
| 243 | 245 | style_submenu_element("Formatted", "%R/wiki_rules"); |
| 244 | 246 | }else{ |
| 245 | 247 | style_submenu_element("Plain-Text", "%R/wiki_rules?txt=1"); |
| 246 | 248 | } |
| 249 | + style_submenu_element("Markdown","%R/md_rules"); | |
| 247 | 250 | blob_init(&x, builtin_text("wiki.wiki"), -1); |
| 248 | 251 | blob_materialize(&x); |
| 252 | + interwiki_append_map_table(&x); | |
| 249 | 253 | safe_html_context(DOCSRC_TRUSTED); |
| 250 | 254 | wiki_render_by_mimetype(&x, fTxt ? "text/plain" : "text/x-fossil-wiki"); |
| 251 | 255 | blob_reset(&x); |
| 252 | 256 | style_footer(); |
| 253 | 257 | } |
| 254 | 258 |
| --- src/wiki.c | |
| +++ src/wiki.c | |
| @@ -220,12 +220,14 @@ | |
| 220 | if( fTxt ){ |
| 221 | style_submenu_element("Formatted", "%R/md_rules"); |
| 222 | }else{ |
| 223 | style_submenu_element("Plain-Text", "%R/md_rules?txt=1"); |
| 224 | } |
| 225 | blob_init(&x, builtin_text("markdown.md"), -1); |
| 226 | blob_materialize(&x); |
| 227 | safe_html_context(DOCSRC_TRUSTED); |
| 228 | wiki_render_by_mimetype(&x, fTxt ? "text/plain" : "text/x-markdown"); |
| 229 | blob_reset(&x); |
| 230 | style_footer(); |
| 231 | } |
| @@ -242,12 +244,14 @@ | |
| 242 | if( fTxt ){ |
| 243 | style_submenu_element("Formatted", "%R/wiki_rules"); |
| 244 | }else{ |
| 245 | style_submenu_element("Plain-Text", "%R/wiki_rules?txt=1"); |
| 246 | } |
| 247 | blob_init(&x, builtin_text("wiki.wiki"), -1); |
| 248 | blob_materialize(&x); |
| 249 | safe_html_context(DOCSRC_TRUSTED); |
| 250 | wiki_render_by_mimetype(&x, fTxt ? "text/plain" : "text/x-fossil-wiki"); |
| 251 | blob_reset(&x); |
| 252 | style_footer(); |
| 253 | } |
| 254 |
| --- src/wiki.c | |
| +++ src/wiki.c | |
| @@ -220,12 +220,14 @@ | |
| 220 | if( fTxt ){ |
| 221 | style_submenu_element("Formatted", "%R/md_rules"); |
| 222 | }else{ |
| 223 | style_submenu_element("Plain-Text", "%R/md_rules?txt=1"); |
| 224 | } |
| 225 | style_submenu_element("Wiki", "%R/wiki_rules"); |
| 226 | blob_init(&x, builtin_text("markdown.md"), -1); |
| 227 | blob_materialize(&x); |
| 228 | interwiki_append_map_table(&x); |
| 229 | safe_html_context(DOCSRC_TRUSTED); |
| 230 | wiki_render_by_mimetype(&x, fTxt ? "text/plain" : "text/x-markdown"); |
| 231 | blob_reset(&x); |
| 232 | style_footer(); |
| 233 | } |
| @@ -242,12 +244,14 @@ | |
| 244 | if( fTxt ){ |
| 245 | style_submenu_element("Formatted", "%R/wiki_rules"); |
| 246 | }else{ |
| 247 | style_submenu_element("Plain-Text", "%R/wiki_rules?txt=1"); |
| 248 | } |
| 249 | style_submenu_element("Markdown","%R/md_rules"); |
| 250 | blob_init(&x, builtin_text("wiki.wiki"), -1); |
| 251 | blob_materialize(&x); |
| 252 | interwiki_append_map_table(&x); |
| 253 | safe_html_context(DOCSRC_TRUSTED); |
| 254 | wiki_render_by_mimetype(&x, fTxt ? "text/plain" : "text/x-fossil-wiki"); |
| 255 | blob_reset(&x); |
| 256 | style_footer(); |
| 257 | } |
| 258 |
+11
-3
| --- src/wiki.wiki | ||
| +++ src/wiki.wiki | ||
| @@ -4,11 +4,12 @@ | ||
| 4 | 4 | # Bullets are "*" surrounded by two spaces at the beginning of a line |
| 5 | 5 | # Enumeration items are "#" or a digit and a "." surrounded by two |
| 6 | 6 | spaces at the beginning of a line |
| 7 | 7 | # Indented paragraphs begin with a tab or two spaces |
| 8 | 8 | # Hyperlinks are contained within square brackets: |
| 9 | - <nowiki>"[target]" or "[target|label]"</nowiki> | |
| 9 | + <nowiki>"<b>[</b><i>target</i><b>]</b>" | |
| 10 | + or "<b>[</b><i>target</i><b>|</b><i>label</i><b>]</b>"</nowiki> | |
| 10 | 11 | # Most ordinary HTML works |
| 11 | 12 | # <verbatim> and <nowiki> |
| 12 | 13 | |
| 13 | 14 | We call the first five rules above the "wiki" formatting rules. |
| 14 | 15 | The last two rules are the HTML formatting rules. |
| @@ -42,11 +43,13 @@ | ||
| 42 | 43 | Use HTML for deeper indentation. |
| 43 | 44 | |
| 44 | 45 | 5. <b>Hyperlinks.</b> |
| 45 | 46 | Text within square brackets <nowiki>("[...]")</nowiki> becomes a |
| 46 | 47 | hyperlink. The target can be a wiki page name, the artifact ID of |
| 47 | - a check-in or ticket, the name of an image, or a URL. | |
| 48 | + a check-in or ticket, the name of an image, a URL, or an | |
| 49 | + [#intermap|interwiki link] of the form | |
| 50 | + "<i>Tag</i><b>:</b><i>PageName</i>". | |
| 48 | 51 | By default, the target is displayed as the text of the hyperlink. |
| 49 | 52 | But you can specify alternative text after the target name |
| 50 | 53 | separated by a "|" character. |
| 51 | 54 | You can also link to internal anchor names using |
| 52 | 55 | <nowiki>[#anchor-name],</nowiki> providing you have added the necessary |
| @@ -54,12 +57,14 @@ | ||
| 54 | 57 | |
| 55 | 58 | 6. <b>HTML.</b> |
| 56 | 59 | The following standard HTML elements may be used: |
| 57 | 60 | <a> <address> <article> <aside> <b> |
| 58 | 61 | <big> <blockquote> <br> <center> <cite> |
| 59 | - <code> <col> <colgroup> <dd> <dfn> | |
| 62 | + <code> <col> <colgroup> <dd> | |
| 63 | + <del> <dfn> | |
| 60 | 64 | <div> <dl> <dt> <em> <font> <footer> |
| 65 | + <ins> | |
| 61 | 66 | <h1> <h2> <h3> <h4> <h5> <h6> |
| 62 | 67 | <header> <hr> <i> <img> <kbd> <li> |
| 63 | 68 | <nav> <nobr> <nowiki> <ol> <p> <pre> |
| 64 | 69 | <s> <samp> <section> <small> <span> |
| 65 | 70 | <strike> <strong> <sub> <sup> <table> |
| @@ -74,5 +79,8 @@ | ||
| 74 | 79 | 7. <b>Special Markup.</b> |
| 75 | 80 | The <nowiki> tag disables all wiki formatting rules through |
| 76 | 81 | the matching </nowiki> element. The <verbatim> tag works |
| 77 | 82 | like <pre> with the addition that it also disables all wiki |
| 78 | 83 | and HTML markup through the matching </verbatim>. |
| 84 | + | |
| 85 | +<a name="intermap"></a> | |
| 86 | +<h2>Interwiki Tag Map</h2> | |
| 79 | 87 |
| --- src/wiki.wiki | |
| +++ src/wiki.wiki | |
| @@ -4,11 +4,12 @@ | |
| 4 | # Bullets are "*" surrounded by two spaces at the beginning of a line |
| 5 | # Enumeration items are "#" or a digit and a "." surrounded by two |
| 6 | spaces at the beginning of a line |
| 7 | # Indented paragraphs begin with a tab or two spaces |
| 8 | # Hyperlinks are contained within square brackets: |
| 9 | <nowiki>"[target]" or "[target|label]"</nowiki> |
| 10 | # Most ordinary HTML works |
| 11 | # <verbatim> and <nowiki> |
| 12 | |
| 13 | We call the first five rules above the "wiki" formatting rules. |
| 14 | The last two rules are the HTML formatting rules. |
| @@ -42,11 +43,13 @@ | |
| 42 | Use HTML for deeper indentation. |
| 43 | |
| 44 | 5. <b>Hyperlinks.</b> |
| 45 | Text within square brackets <nowiki>("[...]")</nowiki> becomes a |
| 46 | hyperlink. The target can be a wiki page name, the artifact ID of |
| 47 | a check-in or ticket, the name of an image, or a URL. |
| 48 | By default, the target is displayed as the text of the hyperlink. |
| 49 | But you can specify alternative text after the target name |
| 50 | separated by a "|" character. |
| 51 | You can also link to internal anchor names using |
| 52 | <nowiki>[#anchor-name],</nowiki> providing you have added the necessary |
| @@ -54,12 +57,14 @@ | |
| 54 | |
| 55 | 6. <b>HTML.</b> |
| 56 | The following standard HTML elements may be used: |
| 57 | <a> <address> <article> <aside> <b> |
| 58 | <big> <blockquote> <br> <center> <cite> |
| 59 | <code> <col> <colgroup> <dd> <dfn> |
| 60 | <div> <dl> <dt> <em> <font> <footer> |
| 61 | <h1> <h2> <h3> <h4> <h5> <h6> |
| 62 | <header> <hr> <i> <img> <kbd> <li> |
| 63 | <nav> <nobr> <nowiki> <ol> <p> <pre> |
| 64 | <s> <samp> <section> <small> <span> |
| 65 | <strike> <strong> <sub> <sup> <table> |
| @@ -74,5 +79,8 @@ | |
| 74 | 7. <b>Special Markup.</b> |
| 75 | The <nowiki> tag disables all wiki formatting rules through |
| 76 | the matching </nowiki> element. The <verbatim> tag works |
| 77 | like <pre> with the addition that it also disables all wiki |
| 78 | and HTML markup through the matching </verbatim>. |
| 79 |
| --- src/wiki.wiki | |
| +++ src/wiki.wiki | |
| @@ -4,11 +4,12 @@ | |
| 4 | # Bullets are "*" surrounded by two spaces at the beginning of a line |
| 5 | # Enumeration items are "#" or a digit and a "." surrounded by two |
| 6 | spaces at the beginning of a line |
| 7 | # Indented paragraphs begin with a tab or two spaces |
| 8 | # Hyperlinks are contained within square brackets: |
| 9 | <nowiki>"<b>[</b><i>target</i><b>]</b>" |
| 10 | or "<b>[</b><i>target</i><b>|</b><i>label</i><b>]</b>"</nowiki> |
| 11 | # Most ordinary HTML works |
| 12 | # <verbatim> and <nowiki> |
| 13 | |
| 14 | We call the first five rules above the "wiki" formatting rules. |
| 15 | The last two rules are the HTML formatting rules. |
| @@ -42,11 +43,13 @@ | |
| 43 | Use HTML for deeper indentation. |
| 44 | |
| 45 | 5. <b>Hyperlinks.</b> |
| 46 | Text within square brackets <nowiki>("[...]")</nowiki> becomes a |
| 47 | hyperlink. The target can be a wiki page name, the artifact ID of |
| 48 | a check-in or ticket, the name of an image, a URL, or an |
| 49 | [#intermap|interwiki link] of the form |
| 50 | "<i>Tag</i><b>:</b><i>PageName</i>". |
| 51 | By default, the target is displayed as the text of the hyperlink. |
| 52 | But you can specify alternative text after the target name |
| 53 | separated by a "|" character. |
| 54 | You can also link to internal anchor names using |
| 55 | <nowiki>[#anchor-name],</nowiki> providing you have added the necessary |
| @@ -54,12 +57,14 @@ | |
| 57 | |
| 58 | 6. <b>HTML.</b> |
| 59 | The following standard HTML elements may be used: |
| 60 | <a> <address> <article> <aside> <b> |
| 61 | <big> <blockquote> <br> <center> <cite> |
| 62 | <code> <col> <colgroup> <dd> |
| 63 | <del> <dfn> |
| 64 | <div> <dl> <dt> <em> <font> <footer> |
| 65 | <ins> |
| 66 | <h1> <h2> <h3> <h4> <h5> <h6> |
| 67 | <header> <hr> <i> <img> <kbd> <li> |
| 68 | <nav> <nobr> <nowiki> <ol> <p> <pre> |
| 69 | <s> <samp> <section> <small> <span> |
| 70 | <strike> <strong> <sub> <sup> <table> |
| @@ -74,5 +79,8 @@ | |
| 79 | 7. <b>Special Markup.</b> |
| 80 | The <nowiki> tag disables all wiki formatting rules through |
| 81 | the matching </nowiki> element. The <verbatim> tag works |
| 82 | like <pre> with the addition that it also disables all wiki |
| 83 | and HTML markup through the matching </verbatim>. |
| 84 | |
| 85 | <a name="intermap"></a> |
| 86 | <h2>Interwiki Tag Map</h2> |
| 87 |
+6
| --- src/wikiformat.c | ||
| +++ src/wikiformat.c | ||
| @@ -1230,10 +1230,12 @@ | ||
| 1230 | 1230 | ** |
| 1231 | 1231 | ** [WikiPageName] |
| 1232 | 1232 | ** [wiki:WikiPageName] |
| 1233 | 1233 | ** |
| 1234 | 1234 | ** [2010-02-27 07:13] |
| 1235 | +** | |
| 1236 | +** [InterMap:Link] -> Interwiki link | |
| 1235 | 1237 | */ |
| 1236 | 1238 | void wiki_resolve_hyperlink( |
| 1237 | 1239 | Blob *pOut, /* Write the HTML output here */ |
| 1238 | 1240 | int mFlags, /* Rendering option flags */ |
| 1239 | 1241 | const char *zTarget, /* Hyperlink target; text within [...] */ |
| @@ -1244,10 +1246,11 @@ | ||
| 1244 | 1246 | ){ |
| 1245 | 1247 | const char *zTerm = "</a>"; |
| 1246 | 1248 | const char *z; |
| 1247 | 1249 | char *zExtra = 0; |
| 1248 | 1250 | const char *zExtraNS = 0; |
| 1251 | + char *zRemote = 0; | |
| 1249 | 1252 | |
| 1250 | 1253 | if( zTitle ){ |
| 1251 | 1254 | zExtra = mprintf(" title='%h'", zTitle); |
| 1252 | 1255 | zExtraNS = zExtra+1; |
| 1253 | 1256 | } |
| @@ -1303,10 +1306,13 @@ | ||
| 1303 | 1306 | blob_appendf(pOut, "%z[",xhref(zExtraNS, "%R/info/%s", zTarget)); |
| 1304 | 1307 | zTerm = "]</a>"; |
| 1305 | 1308 | }else{ |
| 1306 | 1309 | zTerm = ""; |
| 1307 | 1310 | } |
| 1311 | + }else if( (zRemote = interwiki_url(zTarget))!=0 ){ | |
| 1312 | + blob_appendf(pOut, "<a href=\"%z\"%s>", zRemote, zExtra); | |
| 1313 | + zTerm = "</a>"; | |
| 1308 | 1314 | }else if( (z = validWikiPageName(mFlags, zTarget))!=0 ){ |
| 1309 | 1315 | /* The link is to a valid wiki page name */ |
| 1310 | 1316 | const char *zOverride = wiki_is_overridden(zTarget); |
| 1311 | 1317 | if( zOverride ){ |
| 1312 | 1318 | blob_appendf(pOut, "<a href=\"%R/info/%S\"%s>", zOverride, zExtra); |
| 1313 | 1319 |
| --- src/wikiformat.c | |
| +++ src/wikiformat.c | |
| @@ -1230,10 +1230,12 @@ | |
| 1230 | ** |
| 1231 | ** [WikiPageName] |
| 1232 | ** [wiki:WikiPageName] |
| 1233 | ** |
| 1234 | ** [2010-02-27 07:13] |
| 1235 | */ |
| 1236 | void wiki_resolve_hyperlink( |
| 1237 | Blob *pOut, /* Write the HTML output here */ |
| 1238 | int mFlags, /* Rendering option flags */ |
| 1239 | const char *zTarget, /* Hyperlink target; text within [...] */ |
| @@ -1244,10 +1246,11 @@ | |
| 1244 | ){ |
| 1245 | const char *zTerm = "</a>"; |
| 1246 | const char *z; |
| 1247 | char *zExtra = 0; |
| 1248 | const char *zExtraNS = 0; |
| 1249 | |
| 1250 | if( zTitle ){ |
| 1251 | zExtra = mprintf(" title='%h'", zTitle); |
| 1252 | zExtraNS = zExtra+1; |
| 1253 | } |
| @@ -1303,10 +1306,13 @@ | |
| 1303 | blob_appendf(pOut, "%z[",xhref(zExtraNS, "%R/info/%s", zTarget)); |
| 1304 | zTerm = "]</a>"; |
| 1305 | }else{ |
| 1306 | zTerm = ""; |
| 1307 | } |
| 1308 | }else if( (z = validWikiPageName(mFlags, zTarget))!=0 ){ |
| 1309 | /* The link is to a valid wiki page name */ |
| 1310 | const char *zOverride = wiki_is_overridden(zTarget); |
| 1311 | if( zOverride ){ |
| 1312 | blob_appendf(pOut, "<a href=\"%R/info/%S\"%s>", zOverride, zExtra); |
| 1313 |
| --- src/wikiformat.c | |
| +++ src/wikiformat.c | |
| @@ -1230,10 +1230,12 @@ | |
| 1230 | ** |
| 1231 | ** [WikiPageName] |
| 1232 | ** [wiki:WikiPageName] |
| 1233 | ** |
| 1234 | ** [2010-02-27 07:13] |
| 1235 | ** |
| 1236 | ** [InterMap:Link] -> Interwiki link |
| 1237 | */ |
| 1238 | void wiki_resolve_hyperlink( |
| 1239 | Blob *pOut, /* Write the HTML output here */ |
| 1240 | int mFlags, /* Rendering option flags */ |
| 1241 | const char *zTarget, /* Hyperlink target; text within [...] */ |
| @@ -1244,10 +1246,11 @@ | |
| 1246 | ){ |
| 1247 | const char *zTerm = "</a>"; |
| 1248 | const char *z; |
| 1249 | char *zExtra = 0; |
| 1250 | const char *zExtraNS = 0; |
| 1251 | char *zRemote = 0; |
| 1252 | |
| 1253 | if( zTitle ){ |
| 1254 | zExtra = mprintf(" title='%h'", zTitle); |
| 1255 | zExtraNS = zExtra+1; |
| 1256 | } |
| @@ -1303,10 +1306,13 @@ | |
| 1306 | blob_appendf(pOut, "%z[",xhref(zExtraNS, "%R/info/%s", zTarget)); |
| 1307 | zTerm = "]</a>"; |
| 1308 | }else{ |
| 1309 | zTerm = ""; |
| 1310 | } |
| 1311 | }else if( (zRemote = interwiki_url(zTarget))!=0 ){ |
| 1312 | blob_appendf(pOut, "<a href=\"%z\"%s>", zRemote, zExtra); |
| 1313 | zTerm = "</a>"; |
| 1314 | }else if( (z = validWikiPageName(mFlags, zTarget))!=0 ){ |
| 1315 | /* The link is to a valid wiki page name */ |
| 1316 | const char *zOverride = wiki_is_overridden(zTarget); |
| 1317 | if( zOverride ){ |
| 1318 | blob_appendf(pOut, "<a href=\"%R/info/%S\"%s>", zOverride, zExtra); |
| 1319 |
+10
-4
| --- win/Makefile.dmc | ||
| +++ win/Makefile.dmc | ||
| @@ -28,13 +28,13 @@ | ||
| 28 | 28 | |
| 29 | 29 | SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 |
| 30 | 30 | |
| 31 | 31 | SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 32 | 32 | |
| 33 | -SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c hook_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c xfer_.c xfersetup_.c zip_.c | |
| 33 | +SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c hook_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c interwiki_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c xfer_.c xfersetup_.c zip_.c | |
| 34 | 34 | |
| 35 | -OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\hook$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\terminal$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O | |
| 35 | +OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\hook$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\interwiki$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\terminal$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O | |
| 36 | 36 | |
| 37 | 37 | |
| 38 | 38 | RC=$(DMDIR)\bin\rcc |
| 39 | 39 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 40 | 40 | |
| @@ -49,11 +49,11 @@ | ||
| 49 | 49 | |
| 50 | 50 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 51 | 51 | $(RC) $(RCFLAGS) -o$@ $** |
| 52 | 52 | |
| 53 | 53 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 54 | - +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname hook http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp repolist report rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp xfer xfersetup zip shell sqlite3 th th_lang > $@ | |
| 54 | + +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname hook http http_socket http_ssl http_transport import info interwiki json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp repolist report rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp xfer xfersetup zip shell sqlite3 th th_lang > $@ | |
| 55 | 55 | +echo fossil >> $@ |
| 56 | 56 | +echo fossil >> $@ |
| 57 | 57 | +echo $(LIBS) >> $@ |
| 58 | 58 | +echo. >> $@ |
| 59 | 59 | +echo fossil >> $@ |
| @@ -475,10 +475,16 @@ | ||
| 475 | 475 | $(OBJDIR)\info$O : info_.c info.h |
| 476 | 476 | $(TCC) -o$@ -c info_.c |
| 477 | 477 | |
| 478 | 478 | info_.c : $(SRCDIR)\info.c |
| 479 | 479 | +translate$E $** > $@ |
| 480 | + | |
| 481 | +$(OBJDIR)\interwiki$O : interwiki_.c interwiki.h | |
| 482 | + $(TCC) -o$@ -c interwiki_.c | |
| 483 | + | |
| 484 | +interwiki_.c : $(SRCDIR)\interwiki.c | |
| 485 | + +translate$E $** > $@ | |
| 480 | 486 | |
| 481 | 487 | $(OBJDIR)\json$O : json_.c json.h |
| 482 | 488 | $(TCC) -o$@ -c json_.c |
| 483 | 489 | |
| 484 | 490 | json_.c : $(SRCDIR)\json.c |
| @@ -981,7 +987,7 @@ | ||
| 981 | 987 | |
| 982 | 988 | zip_.c : $(SRCDIR)\zip.c |
| 983 | 989 | +translate$E $** > $@ |
| 984 | 990 | |
| 985 | 991 | headers: makeheaders$E page_index.h builtin_data.h VERSION.h |
| 986 | - +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h hook_.c:hook.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h terminal_.c:terminal.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h | |
| 992 | + +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h hook_.c:hook.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h interwiki_.c:interwiki.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h terminal_.c:terminal.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h | |
| 987 | 993 | @copy /Y nul: headers |
| 988 | 994 |
| --- win/Makefile.dmc | |
| +++ win/Makefile.dmc | |
| @@ -28,13 +28,13 @@ | |
| 28 | |
| 29 | SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 |
| 30 | |
| 31 | SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 32 | |
| 33 | SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c hook_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c xfer_.c xfersetup_.c zip_.c |
| 34 | |
| 35 | OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\hook$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\terminal$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O |
| 36 | |
| 37 | |
| 38 | RC=$(DMDIR)\bin\rcc |
| 39 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 40 | |
| @@ -49,11 +49,11 @@ | |
| 49 | |
| 50 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 51 | $(RC) $(RCFLAGS) -o$@ $** |
| 52 | |
| 53 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 54 | +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname hook http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp repolist report rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp xfer xfersetup zip shell sqlite3 th th_lang > $@ |
| 55 | +echo fossil >> $@ |
| 56 | +echo fossil >> $@ |
| 57 | +echo $(LIBS) >> $@ |
| 58 | +echo. >> $@ |
| 59 | +echo fossil >> $@ |
| @@ -475,10 +475,16 @@ | |
| 475 | $(OBJDIR)\info$O : info_.c info.h |
| 476 | $(TCC) -o$@ -c info_.c |
| 477 | |
| 478 | info_.c : $(SRCDIR)\info.c |
| 479 | +translate$E $** > $@ |
| 480 | |
| 481 | $(OBJDIR)\json$O : json_.c json.h |
| 482 | $(TCC) -o$@ -c json_.c |
| 483 | |
| 484 | json_.c : $(SRCDIR)\json.c |
| @@ -981,7 +987,7 @@ | |
| 981 | |
| 982 | zip_.c : $(SRCDIR)\zip.c |
| 983 | +translate$E $** > $@ |
| 984 | |
| 985 | headers: makeheaders$E page_index.h builtin_data.h VERSION.h |
| 986 | +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h hook_.c:hook.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h terminal_.c:terminal.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h |
| 987 | @copy /Y nul: headers |
| 988 |
| --- win/Makefile.dmc | |
| +++ win/Makefile.dmc | |
| @@ -28,13 +28,13 @@ | |
| 28 | |
| 29 | SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 |
| 30 | |
| 31 | SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen |
| 32 | |
| 33 | SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c hook_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c interwiki_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c xfer_.c xfersetup_.c zip_.c |
| 34 | |
| 35 | OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\hook$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\interwiki$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\terminal$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O |
| 36 | |
| 37 | |
| 38 | RC=$(DMDIR)\bin\rcc |
| 39 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 40 | |
| @@ -49,11 +49,11 @@ | |
| 49 | |
| 50 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 51 | $(RC) $(RCFLAGS) -o$@ $** |
| 52 | |
| 53 | $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res |
| 54 | +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname hook http http_socket http_ssl http_transport import info interwiki json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp repolist report rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp xfer xfersetup zip shell sqlite3 th th_lang > $@ |
| 55 | +echo fossil >> $@ |
| 56 | +echo fossil >> $@ |
| 57 | +echo $(LIBS) >> $@ |
| 58 | +echo. >> $@ |
| 59 | +echo fossil >> $@ |
| @@ -475,10 +475,16 @@ | |
| 475 | $(OBJDIR)\info$O : info_.c info.h |
| 476 | $(TCC) -o$@ -c info_.c |
| 477 | |
| 478 | info_.c : $(SRCDIR)\info.c |
| 479 | +translate$E $** > $@ |
| 480 | |
| 481 | $(OBJDIR)\interwiki$O : interwiki_.c interwiki.h |
| 482 | $(TCC) -o$@ -c interwiki_.c |
| 483 | |
| 484 | interwiki_.c : $(SRCDIR)\interwiki.c |
| 485 | +translate$E $** > $@ |
| 486 | |
| 487 | $(OBJDIR)\json$O : json_.c json.h |
| 488 | $(TCC) -o$@ -c json_.c |
| 489 | |
| 490 | json_.c : $(SRCDIR)\json.c |
| @@ -981,7 +987,7 @@ | |
| 987 | |
| 988 | zip_.c : $(SRCDIR)\zip.c |
| 989 | +translate$E $** > $@ |
| 990 | |
| 991 | headers: makeheaders$E page_index.h builtin_data.h VERSION.h |
| 992 | +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h hook_.c:hook.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h interwiki_.c:interwiki.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h repolist_.c:repolist.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h smtp_.c:smtp.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h terminal_.c:terminal.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h |
| 993 | @copy /Y nul: headers |
| 994 |
+12
| --- win/Makefile.mingw | ||
| +++ win/Makefile.mingw | ||
| @@ -485,10 +485,11 @@ | ||
| 485 | 485 | $(SRCDIR)/http_socket.c \ |
| 486 | 486 | $(SRCDIR)/http_ssl.c \ |
| 487 | 487 | $(SRCDIR)/http_transport.c \ |
| 488 | 488 | $(SRCDIR)/import.c \ |
| 489 | 489 | $(SRCDIR)/info.c \ |
| 490 | + $(SRCDIR)/interwiki.c \ | |
| 490 | 491 | $(SRCDIR)/json.c \ |
| 491 | 492 | $(SRCDIR)/json_artifact.c \ |
| 492 | 493 | $(SRCDIR)/json_branch.c \ |
| 493 | 494 | $(SRCDIR)/json_config.c \ |
| 494 | 495 | $(SRCDIR)/json_diff.c \ |
| @@ -737,10 +738,11 @@ | ||
| 737 | 738 | $(OBJDIR)/http_socket_.c \ |
| 738 | 739 | $(OBJDIR)/http_ssl_.c \ |
| 739 | 740 | $(OBJDIR)/http_transport_.c \ |
| 740 | 741 | $(OBJDIR)/import_.c \ |
| 741 | 742 | $(OBJDIR)/info_.c \ |
| 743 | + $(OBJDIR)/interwiki_.c \ | |
| 742 | 744 | $(OBJDIR)/json_.c \ |
| 743 | 745 | $(OBJDIR)/json_artifact_.c \ |
| 744 | 746 | $(OBJDIR)/json_branch_.c \ |
| 745 | 747 | $(OBJDIR)/json_config_.c \ |
| 746 | 748 | $(OBJDIR)/json_diff_.c \ |
| @@ -882,10 +884,11 @@ | ||
| 882 | 884 | $(OBJDIR)/http_socket.o \ |
| 883 | 885 | $(OBJDIR)/http_ssl.o \ |
| 884 | 886 | $(OBJDIR)/http_transport.o \ |
| 885 | 887 | $(OBJDIR)/import.o \ |
| 886 | 888 | $(OBJDIR)/info.o \ |
| 889 | + $(OBJDIR)/interwiki.o \ | |
| 887 | 890 | $(OBJDIR)/json.o \ |
| 888 | 891 | $(OBJDIR)/json_artifact.o \ |
| 889 | 892 | $(OBJDIR)/json_branch.o \ |
| 890 | 893 | $(OBJDIR)/json_config.o \ |
| 891 | 894 | $(OBJDIR)/json_diff.o \ |
| @@ -1242,10 +1245,11 @@ | ||
| 1242 | 1245 | $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h \ |
| 1243 | 1246 | $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h \ |
| 1244 | 1247 | $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h \ |
| 1245 | 1248 | $(OBJDIR)/import_.c:$(OBJDIR)/import.h \ |
| 1246 | 1249 | $(OBJDIR)/info_.c:$(OBJDIR)/info.h \ |
| 1250 | + $(OBJDIR)/interwiki_.c:$(OBJDIR)/interwiki.h \ | |
| 1247 | 1251 | $(OBJDIR)/json_.c:$(OBJDIR)/json.h \ |
| 1248 | 1252 | $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h \ |
| 1249 | 1253 | $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h \ |
| 1250 | 1254 | $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h \ |
| 1251 | 1255 | $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h \ |
| @@ -1806,10 +1810,18 @@ | ||
| 1806 | 1810 | |
| 1807 | 1811 | $(OBJDIR)/info.o: $(OBJDIR)/info_.c $(OBJDIR)/info.h $(SRCDIR)/config.h |
| 1808 | 1812 | $(XTCC) -o $(OBJDIR)/info.o -c $(OBJDIR)/info_.c |
| 1809 | 1813 | |
| 1810 | 1814 | $(OBJDIR)/info.h: $(OBJDIR)/headers |
| 1815 | + | |
| 1816 | +$(OBJDIR)/interwiki_.c: $(SRCDIR)/interwiki.c $(TRANSLATE) | |
| 1817 | + $(TRANSLATE) $(SRCDIR)/interwiki.c >$@ | |
| 1818 | + | |
| 1819 | +$(OBJDIR)/interwiki.o: $(OBJDIR)/interwiki_.c $(OBJDIR)/interwiki.h $(SRCDIR)/config.h | |
| 1820 | + $(XTCC) -o $(OBJDIR)/interwiki.o -c $(OBJDIR)/interwiki_.c | |
| 1821 | + | |
| 1822 | +$(OBJDIR)/interwiki.h: $(OBJDIR)/headers | |
| 1811 | 1823 | |
| 1812 | 1824 | $(OBJDIR)/json_.c: $(SRCDIR)/json.c $(TRANSLATE) |
| 1813 | 1825 | $(TRANSLATE) $(SRCDIR)/json.c >$@ |
| 1814 | 1826 | |
| 1815 | 1827 | $(OBJDIR)/json.o: $(OBJDIR)/json_.c $(OBJDIR)/json.h $(SRCDIR)/config.h |
| 1816 | 1828 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -485,10 +485,11 @@ | |
| 485 | $(SRCDIR)/http_socket.c \ |
| 486 | $(SRCDIR)/http_ssl.c \ |
| 487 | $(SRCDIR)/http_transport.c \ |
| 488 | $(SRCDIR)/import.c \ |
| 489 | $(SRCDIR)/info.c \ |
| 490 | $(SRCDIR)/json.c \ |
| 491 | $(SRCDIR)/json_artifact.c \ |
| 492 | $(SRCDIR)/json_branch.c \ |
| 493 | $(SRCDIR)/json_config.c \ |
| 494 | $(SRCDIR)/json_diff.c \ |
| @@ -737,10 +738,11 @@ | |
| 737 | $(OBJDIR)/http_socket_.c \ |
| 738 | $(OBJDIR)/http_ssl_.c \ |
| 739 | $(OBJDIR)/http_transport_.c \ |
| 740 | $(OBJDIR)/import_.c \ |
| 741 | $(OBJDIR)/info_.c \ |
| 742 | $(OBJDIR)/json_.c \ |
| 743 | $(OBJDIR)/json_artifact_.c \ |
| 744 | $(OBJDIR)/json_branch_.c \ |
| 745 | $(OBJDIR)/json_config_.c \ |
| 746 | $(OBJDIR)/json_diff_.c \ |
| @@ -882,10 +884,11 @@ | |
| 882 | $(OBJDIR)/http_socket.o \ |
| 883 | $(OBJDIR)/http_ssl.o \ |
| 884 | $(OBJDIR)/http_transport.o \ |
| 885 | $(OBJDIR)/import.o \ |
| 886 | $(OBJDIR)/info.o \ |
| 887 | $(OBJDIR)/json.o \ |
| 888 | $(OBJDIR)/json_artifact.o \ |
| 889 | $(OBJDIR)/json_branch.o \ |
| 890 | $(OBJDIR)/json_config.o \ |
| 891 | $(OBJDIR)/json_diff.o \ |
| @@ -1242,10 +1245,11 @@ | |
| 1242 | $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h \ |
| 1243 | $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h \ |
| 1244 | $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h \ |
| 1245 | $(OBJDIR)/import_.c:$(OBJDIR)/import.h \ |
| 1246 | $(OBJDIR)/info_.c:$(OBJDIR)/info.h \ |
| 1247 | $(OBJDIR)/json_.c:$(OBJDIR)/json.h \ |
| 1248 | $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h \ |
| 1249 | $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h \ |
| 1250 | $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h \ |
| 1251 | $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h \ |
| @@ -1806,10 +1810,18 @@ | |
| 1806 | |
| 1807 | $(OBJDIR)/info.o: $(OBJDIR)/info_.c $(OBJDIR)/info.h $(SRCDIR)/config.h |
| 1808 | $(XTCC) -o $(OBJDIR)/info.o -c $(OBJDIR)/info_.c |
| 1809 | |
| 1810 | $(OBJDIR)/info.h: $(OBJDIR)/headers |
| 1811 | |
| 1812 | $(OBJDIR)/json_.c: $(SRCDIR)/json.c $(TRANSLATE) |
| 1813 | $(TRANSLATE) $(SRCDIR)/json.c >$@ |
| 1814 | |
| 1815 | $(OBJDIR)/json.o: $(OBJDIR)/json_.c $(OBJDIR)/json.h $(SRCDIR)/config.h |
| 1816 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -485,10 +485,11 @@ | |
| 485 | $(SRCDIR)/http_socket.c \ |
| 486 | $(SRCDIR)/http_ssl.c \ |
| 487 | $(SRCDIR)/http_transport.c \ |
| 488 | $(SRCDIR)/import.c \ |
| 489 | $(SRCDIR)/info.c \ |
| 490 | $(SRCDIR)/interwiki.c \ |
| 491 | $(SRCDIR)/json.c \ |
| 492 | $(SRCDIR)/json_artifact.c \ |
| 493 | $(SRCDIR)/json_branch.c \ |
| 494 | $(SRCDIR)/json_config.c \ |
| 495 | $(SRCDIR)/json_diff.c \ |
| @@ -737,10 +738,11 @@ | |
| 738 | $(OBJDIR)/http_socket_.c \ |
| 739 | $(OBJDIR)/http_ssl_.c \ |
| 740 | $(OBJDIR)/http_transport_.c \ |
| 741 | $(OBJDIR)/import_.c \ |
| 742 | $(OBJDIR)/info_.c \ |
| 743 | $(OBJDIR)/interwiki_.c \ |
| 744 | $(OBJDIR)/json_.c \ |
| 745 | $(OBJDIR)/json_artifact_.c \ |
| 746 | $(OBJDIR)/json_branch_.c \ |
| 747 | $(OBJDIR)/json_config_.c \ |
| 748 | $(OBJDIR)/json_diff_.c \ |
| @@ -882,10 +884,11 @@ | |
| 884 | $(OBJDIR)/http_socket.o \ |
| 885 | $(OBJDIR)/http_ssl.o \ |
| 886 | $(OBJDIR)/http_transport.o \ |
| 887 | $(OBJDIR)/import.o \ |
| 888 | $(OBJDIR)/info.o \ |
| 889 | $(OBJDIR)/interwiki.o \ |
| 890 | $(OBJDIR)/json.o \ |
| 891 | $(OBJDIR)/json_artifact.o \ |
| 892 | $(OBJDIR)/json_branch.o \ |
| 893 | $(OBJDIR)/json_config.o \ |
| 894 | $(OBJDIR)/json_diff.o \ |
| @@ -1242,10 +1245,11 @@ | |
| 1245 | $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h \ |
| 1246 | $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h \ |
| 1247 | $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h \ |
| 1248 | $(OBJDIR)/import_.c:$(OBJDIR)/import.h \ |
| 1249 | $(OBJDIR)/info_.c:$(OBJDIR)/info.h \ |
| 1250 | $(OBJDIR)/interwiki_.c:$(OBJDIR)/interwiki.h \ |
| 1251 | $(OBJDIR)/json_.c:$(OBJDIR)/json.h \ |
| 1252 | $(OBJDIR)/json_artifact_.c:$(OBJDIR)/json_artifact.h \ |
| 1253 | $(OBJDIR)/json_branch_.c:$(OBJDIR)/json_branch.h \ |
| 1254 | $(OBJDIR)/json_config_.c:$(OBJDIR)/json_config.h \ |
| 1255 | $(OBJDIR)/json_diff_.c:$(OBJDIR)/json_diff.h \ |
| @@ -1806,10 +1810,18 @@ | |
| 1810 | |
| 1811 | $(OBJDIR)/info.o: $(OBJDIR)/info_.c $(OBJDIR)/info.h $(SRCDIR)/config.h |
| 1812 | $(XTCC) -o $(OBJDIR)/info.o -c $(OBJDIR)/info_.c |
| 1813 | |
| 1814 | $(OBJDIR)/info.h: $(OBJDIR)/headers |
| 1815 | |
| 1816 | $(OBJDIR)/interwiki_.c: $(SRCDIR)/interwiki.c $(TRANSLATE) |
| 1817 | $(TRANSLATE) $(SRCDIR)/interwiki.c >$@ |
| 1818 | |
| 1819 | $(OBJDIR)/interwiki.o: $(OBJDIR)/interwiki_.c $(OBJDIR)/interwiki.h $(SRCDIR)/config.h |
| 1820 | $(XTCC) -o $(OBJDIR)/interwiki.o -c $(OBJDIR)/interwiki_.c |
| 1821 | |
| 1822 | $(OBJDIR)/interwiki.h: $(OBJDIR)/headers |
| 1823 | |
| 1824 | $(OBJDIR)/json_.c: $(SRCDIR)/json.c $(TRANSLATE) |
| 1825 | $(TRANSLATE) $(SRCDIR)/json.c >$@ |
| 1826 | |
| 1827 | $(OBJDIR)/json.o: $(OBJDIR)/json_.c $(OBJDIR)/json.h $(SRCDIR)/config.h |
| 1828 |
+10
| --- win/Makefile.msc | ||
| +++ win/Makefile.msc | ||
| @@ -407,10 +407,11 @@ | ||
| 407 | 407 | "$(OX)\http_socket_.c" \ |
| 408 | 408 | "$(OX)\http_ssl_.c" \ |
| 409 | 409 | "$(OX)\http_transport_.c" \ |
| 410 | 410 | "$(OX)\import_.c" \ |
| 411 | 411 | "$(OX)\info_.c" \ |
| 412 | + "$(OX)\interwiki_.c" \ | |
| 412 | 413 | "$(OX)\json_.c" \ |
| 413 | 414 | "$(OX)\json_artifact_.c" \ |
| 414 | 415 | "$(OX)\json_branch_.c" \ |
| 415 | 416 | "$(OX)\json_config_.c" \ |
| 416 | 417 | "$(OX)\json_diff_.c" \ |
| @@ -658,10 +659,11 @@ | ||
| 658 | 659 | "$(OX)\http_socket$O" \ |
| 659 | 660 | "$(OX)\http_ssl$O" \ |
| 660 | 661 | "$(OX)\http_transport$O" \ |
| 661 | 662 | "$(OX)\import$O" \ |
| 662 | 663 | "$(OX)\info$O" \ |
| 664 | + "$(OX)\interwiki$O" \ | |
| 663 | 665 | "$(OX)\json$O" \ |
| 664 | 666 | "$(OX)\json_artifact$O" \ |
| 665 | 667 | "$(OX)\json_branch$O" \ |
| 666 | 668 | "$(OX)\json_config$O" \ |
| 667 | 669 | "$(OX)\json_diff$O" \ |
| @@ -884,10 +886,11 @@ | ||
| 884 | 886 | echo "$(OX)\http_socket.obj" >> $@ |
| 885 | 887 | echo "$(OX)\http_ssl.obj" >> $@ |
| 886 | 888 | echo "$(OX)\http_transport.obj" >> $@ |
| 887 | 889 | echo "$(OX)\import.obj" >> $@ |
| 888 | 890 | echo "$(OX)\info.obj" >> $@ |
| 891 | + echo "$(OX)\interwiki.obj" >> $@ | |
| 889 | 892 | echo "$(OX)\json.obj" >> $@ |
| 890 | 893 | echo "$(OX)\json_artifact.obj" >> $@ |
| 891 | 894 | echo "$(OX)\json_branch.obj" >> $@ |
| 892 | 895 | echo "$(OX)\json_config.obj" >> $@ |
| 893 | 896 | echo "$(OX)\json_diff.obj" >> $@ |
| @@ -1548,10 +1551,16 @@ | ||
| 1548 | 1551 | "$(OX)\info$O" : "$(OX)\info_.c" "$(OX)\info.h" |
| 1549 | 1552 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\info_.c" |
| 1550 | 1553 | |
| 1551 | 1554 | "$(OX)\info_.c" : "$(SRCDIR)\info.c" |
| 1552 | 1555 | "$(OBJDIR)\translate$E" $** > $@ |
| 1556 | + | |
| 1557 | +"$(OX)\interwiki$O" : "$(OX)\interwiki_.c" "$(OX)\interwiki.h" | |
| 1558 | + $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\interwiki_.c" | |
| 1559 | + | |
| 1560 | +"$(OX)\interwiki_.c" : "$(SRCDIR)\interwiki.c" | |
| 1561 | + "$(OBJDIR)\translate$E" $** > $@ | |
| 1553 | 1562 | |
| 1554 | 1563 | "$(OX)\json$O" : "$(OX)\json_.c" "$(OX)\json.h" |
| 1555 | 1564 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_.c" |
| 1556 | 1565 | |
| 1557 | 1566 | "$(OX)\json_.c" : "$(SRCDIR)\json.c" |
| @@ -2116,10 +2125,11 @@ | ||
| 2116 | 2125 | "$(OX)\http_socket_.c":"$(OX)\http_socket.h" \ |
| 2117 | 2126 | "$(OX)\http_ssl_.c":"$(OX)\http_ssl.h" \ |
| 2118 | 2127 | "$(OX)\http_transport_.c":"$(OX)\http_transport.h" \ |
| 2119 | 2128 | "$(OX)\import_.c":"$(OX)\import.h" \ |
| 2120 | 2129 | "$(OX)\info_.c":"$(OX)\info.h" \ |
| 2130 | + "$(OX)\interwiki_.c":"$(OX)\interwiki.h" \ | |
| 2121 | 2131 | "$(OX)\json_.c":"$(OX)\json.h" \ |
| 2122 | 2132 | "$(OX)\json_artifact_.c":"$(OX)\json_artifact.h" \ |
| 2123 | 2133 | "$(OX)\json_branch_.c":"$(OX)\json_branch.h" \ |
| 2124 | 2134 | "$(OX)\json_config_.c":"$(OX)\json_config.h" \ |
| 2125 | 2135 | "$(OX)\json_diff_.c":"$(OX)\json_diff.h" \ |
| 2126 | 2136 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -407,10 +407,11 @@ | |
| 407 | "$(OX)\http_socket_.c" \ |
| 408 | "$(OX)\http_ssl_.c" \ |
| 409 | "$(OX)\http_transport_.c" \ |
| 410 | "$(OX)\import_.c" \ |
| 411 | "$(OX)\info_.c" \ |
| 412 | "$(OX)\json_.c" \ |
| 413 | "$(OX)\json_artifact_.c" \ |
| 414 | "$(OX)\json_branch_.c" \ |
| 415 | "$(OX)\json_config_.c" \ |
| 416 | "$(OX)\json_diff_.c" \ |
| @@ -658,10 +659,11 @@ | |
| 658 | "$(OX)\http_socket$O" \ |
| 659 | "$(OX)\http_ssl$O" \ |
| 660 | "$(OX)\http_transport$O" \ |
| 661 | "$(OX)\import$O" \ |
| 662 | "$(OX)\info$O" \ |
| 663 | "$(OX)\json$O" \ |
| 664 | "$(OX)\json_artifact$O" \ |
| 665 | "$(OX)\json_branch$O" \ |
| 666 | "$(OX)\json_config$O" \ |
| 667 | "$(OX)\json_diff$O" \ |
| @@ -884,10 +886,11 @@ | |
| 884 | echo "$(OX)\http_socket.obj" >> $@ |
| 885 | echo "$(OX)\http_ssl.obj" >> $@ |
| 886 | echo "$(OX)\http_transport.obj" >> $@ |
| 887 | echo "$(OX)\import.obj" >> $@ |
| 888 | echo "$(OX)\info.obj" >> $@ |
| 889 | echo "$(OX)\json.obj" >> $@ |
| 890 | echo "$(OX)\json_artifact.obj" >> $@ |
| 891 | echo "$(OX)\json_branch.obj" >> $@ |
| 892 | echo "$(OX)\json_config.obj" >> $@ |
| 893 | echo "$(OX)\json_diff.obj" >> $@ |
| @@ -1548,10 +1551,16 @@ | |
| 1548 | "$(OX)\info$O" : "$(OX)\info_.c" "$(OX)\info.h" |
| 1549 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\info_.c" |
| 1550 | |
| 1551 | "$(OX)\info_.c" : "$(SRCDIR)\info.c" |
| 1552 | "$(OBJDIR)\translate$E" $** > $@ |
| 1553 | |
| 1554 | "$(OX)\json$O" : "$(OX)\json_.c" "$(OX)\json.h" |
| 1555 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_.c" |
| 1556 | |
| 1557 | "$(OX)\json_.c" : "$(SRCDIR)\json.c" |
| @@ -2116,10 +2125,11 @@ | |
| 2116 | "$(OX)\http_socket_.c":"$(OX)\http_socket.h" \ |
| 2117 | "$(OX)\http_ssl_.c":"$(OX)\http_ssl.h" \ |
| 2118 | "$(OX)\http_transport_.c":"$(OX)\http_transport.h" \ |
| 2119 | "$(OX)\import_.c":"$(OX)\import.h" \ |
| 2120 | "$(OX)\info_.c":"$(OX)\info.h" \ |
| 2121 | "$(OX)\json_.c":"$(OX)\json.h" \ |
| 2122 | "$(OX)\json_artifact_.c":"$(OX)\json_artifact.h" \ |
| 2123 | "$(OX)\json_branch_.c":"$(OX)\json_branch.h" \ |
| 2124 | "$(OX)\json_config_.c":"$(OX)\json_config.h" \ |
| 2125 | "$(OX)\json_diff_.c":"$(OX)\json_diff.h" \ |
| 2126 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -407,10 +407,11 @@ | |
| 407 | "$(OX)\http_socket_.c" \ |
| 408 | "$(OX)\http_ssl_.c" \ |
| 409 | "$(OX)\http_transport_.c" \ |
| 410 | "$(OX)\import_.c" \ |
| 411 | "$(OX)\info_.c" \ |
| 412 | "$(OX)\interwiki_.c" \ |
| 413 | "$(OX)\json_.c" \ |
| 414 | "$(OX)\json_artifact_.c" \ |
| 415 | "$(OX)\json_branch_.c" \ |
| 416 | "$(OX)\json_config_.c" \ |
| 417 | "$(OX)\json_diff_.c" \ |
| @@ -658,10 +659,11 @@ | |
| 659 | "$(OX)\http_socket$O" \ |
| 660 | "$(OX)\http_ssl$O" \ |
| 661 | "$(OX)\http_transport$O" \ |
| 662 | "$(OX)\import$O" \ |
| 663 | "$(OX)\info$O" \ |
| 664 | "$(OX)\interwiki$O" \ |
| 665 | "$(OX)\json$O" \ |
| 666 | "$(OX)\json_artifact$O" \ |
| 667 | "$(OX)\json_branch$O" \ |
| 668 | "$(OX)\json_config$O" \ |
| 669 | "$(OX)\json_diff$O" \ |
| @@ -884,10 +886,11 @@ | |
| 886 | echo "$(OX)\http_socket.obj" >> $@ |
| 887 | echo "$(OX)\http_ssl.obj" >> $@ |
| 888 | echo "$(OX)\http_transport.obj" >> $@ |
| 889 | echo "$(OX)\import.obj" >> $@ |
| 890 | echo "$(OX)\info.obj" >> $@ |
| 891 | echo "$(OX)\interwiki.obj" >> $@ |
| 892 | echo "$(OX)\json.obj" >> $@ |
| 893 | echo "$(OX)\json_artifact.obj" >> $@ |
| 894 | echo "$(OX)\json_branch.obj" >> $@ |
| 895 | echo "$(OX)\json_config.obj" >> $@ |
| 896 | echo "$(OX)\json_diff.obj" >> $@ |
| @@ -1548,10 +1551,16 @@ | |
| 1551 | "$(OX)\info$O" : "$(OX)\info_.c" "$(OX)\info.h" |
| 1552 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\info_.c" |
| 1553 | |
| 1554 | "$(OX)\info_.c" : "$(SRCDIR)\info.c" |
| 1555 | "$(OBJDIR)\translate$E" $** > $@ |
| 1556 | |
| 1557 | "$(OX)\interwiki$O" : "$(OX)\interwiki_.c" "$(OX)\interwiki.h" |
| 1558 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\interwiki_.c" |
| 1559 | |
| 1560 | "$(OX)\interwiki_.c" : "$(SRCDIR)\interwiki.c" |
| 1561 | "$(OBJDIR)\translate$E" $** > $@ |
| 1562 | |
| 1563 | "$(OX)\json$O" : "$(OX)\json_.c" "$(OX)\json.h" |
| 1564 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\json_.c" |
| 1565 | |
| 1566 | "$(OX)\json_.c" : "$(SRCDIR)\json.c" |
| @@ -2116,10 +2125,11 @@ | |
| 2125 | "$(OX)\http_socket_.c":"$(OX)\http_socket.h" \ |
| 2126 | "$(OX)\http_ssl_.c":"$(OX)\http_ssl.h" \ |
| 2127 | "$(OX)\http_transport_.c":"$(OX)\http_transport.h" \ |
| 2128 | "$(OX)\import_.c":"$(OX)\import.h" \ |
| 2129 | "$(OX)\info_.c":"$(OX)\info.h" \ |
| 2130 | "$(OX)\interwiki_.c":"$(OX)\interwiki.h" \ |
| 2131 | "$(OX)\json_.c":"$(OX)\json.h" \ |
| 2132 | "$(OX)\json_artifact_.c":"$(OX)\json_artifact.h" \ |
| 2133 | "$(OX)\json_branch_.c":"$(OX)\json_branch.h" \ |
| 2134 | "$(OX)\json_config_.c":"$(OX)\json_config.h" \ |
| 2135 | "$(OX)\json_diff_.c":"$(OX)\json_diff.h" \ |
| 2136 |
+1
-1
| --- www/changes.wiki | ||
| +++ www/changes.wiki | ||
| @@ -1,11 +1,11 @@ | ||
| 1 | 1 | <title>Change Log</title> |
| 2 | 2 | |
| 3 | 3 | <a name='v2_13'></a> |
| 4 | 4 | <h2>Changes for Version 2.13 (pending)</h2> |
| 5 | 5 | |
| 6 | - * <i>TBD...</i> | |
| 6 | + * Added support for [./interwiki.md|interwiki links]. | |
| 7 | 7 | |
| 8 | 8 | <a name='v2_12'></a> |
| 9 | 9 | <h2>Changes for Version 2.12.1 (2020-08-20)</h2> |
| 10 | 10 | |
| 11 | 11 | * (2.12.1): Fix client-side vulnerabilities discovered by Max Justicz. |
| 12 | 12 | |
| 13 | 13 | ADDED www/interwiki.md |
| --- www/changes.wiki | |
| +++ www/changes.wiki | |
| @@ -1,11 +1,11 @@ | |
| 1 | <title>Change Log</title> |
| 2 | |
| 3 | <a name='v2_13'></a> |
| 4 | <h2>Changes for Version 2.13 (pending)</h2> |
| 5 | |
| 6 | * <i>TBD...</i> |
| 7 | |
| 8 | <a name='v2_12'></a> |
| 9 | <h2>Changes for Version 2.12.1 (2020-08-20)</h2> |
| 10 | |
| 11 | * (2.12.1): Fix client-side vulnerabilities discovered by Max Justicz. |
| 12 | |
| 13 | DDED www/interwiki.md |
| --- www/changes.wiki | |
| +++ www/changes.wiki | |
| @@ -1,11 +1,11 @@ | |
| 1 | <title>Change Log</title> |
| 2 | |
| 3 | <a name='v2_13'></a> |
| 4 | <h2>Changes for Version 2.13 (pending)</h2> |
| 5 | |
| 6 | * Added support for [./interwiki.md|interwiki links]. |
| 7 | |
| 8 | <a name='v2_12'></a> |
| 9 | <h2>Changes for Version 2.12.1 (2020-08-20)</h2> |
| 10 | |
| 11 | * (2.12.1): Fix client-side vulnerabilities discovered by Max Justicz. |
| 12 | |
| 13 | DDED www/interwiki.md |
+104
| --- a/www/interwiki.md | ||
| +++ b/www/interwiki.md | ||
| @@ -0,0 +1,104 @@ | ||
| 1 | +Interwiki_links) | |
| 2 | + * [](httInterwiki_links) | |
| 3 | + | |
| 4 | +Another example: The Fossil Forum is hosted in a separate repository | |
| 5 | +from the Fossil source code. This page is part of the | |
| 6 | +source code repository. Interwiki links can be used to more easily | |
| 7 | +refer to the forum repository: | |
| 8 | + | |
| 9 | + * [](forum:d5508c3bf44c6393df09c) | |
| 10 | + * [](https://fossil-scm.org/forum/info/d5508c3bf44c6393df09c) | |
| 11 | + | |
| 12 | +## Advantages Over Full URL Targets | |
| 13 | + | |
| 14 | + * Interwiki links are easier to write. There is less typing, | |
| 15 | + and fewer op?cmd=ortunities to make mistakes. | |
| 16 | + | |
| 17 | + * Interwiki links are easier to read. With well-chosen | |
| 18 | + intermap tags, the links are easier to understand. | |
| 19 | + | |
| 20 | + * Interwiki links continue to work after a domain change on the | |
| 21 | + target. If the target of a link moves to a different domain, | |
| 22 | + an interwiki link will continue to work, if the intermap is adjusted, | |
| 23 | + but a hard-coded link will be permanently broken. | |
| 24 | + | |
| 25 | + * Interwiki links allow clones to use a different target domain from the | |
| 26 | + original repository. | |
| 27 | + | |
| 28 | +## Details | |
| 29 | + | |
| 30 | +Fossil supports interwiki links in both the | |
| 31 | +[Fossil Wiki](/wiki_rules) and [Markdown](/md_rules) markup | |
| 32 | +styles. An interwiki link consists of a tag followed by a colon | |
| 33 | +and the link target: | |
| 34 | + | |
| 35 | +> <i>Tag</i><b>:</b><i>PageName</i> | |
| 36 | + | |
| 37 | +The Tag must consist of ASCII alphanumeric characters only - no | |
| 38 | +punctuation or whitespace or characters greater than U+007A. | |
| 39 | +The PageName is the link notation on the target wiki. | |
| 40 | +Th different classes of PageNames are recognized by Fossil: | |
| 41 | + | |
| 42 | + 1. <b>Path Links</b> → the PageName begins with the "/" character | |
| 43 | + or is an empty string. | |
| 44 | + | |
| 45 | + 2. <b>Hash Links</b> → the PageName is a hexadecimal number with | |
| 46 | + at least four digits. | |
| 47 | + | |
| 48 | + n 3. <b>Wiki Links</b> → A PageName that is not a Path or Hash. | |
| 49 | + | |
| 50 | +The Intermap defiisg. Path links are appended | |
| 51 | +directly to the URL contained in the Intermap. The Intermap can define | |
| 52 | +additional text to put in between the base URL and the PageName for | |
| 53 | +Hash and Wiki links, respectively. | |
| 54 | + | |
| 55 | +<a id="intermap"></a> | |
| 56 | +## Intermap | |
| 57 | + | |
| 58 | +The intermap defines a mapping from interwiki Tags to full URLs. The | |
| 59 | +Intermap can be viewed and managed using the [fossil s. fors) markup | |
| 60 | +styles. An interwiki link consists of a tag followed by a colon | |
| 61 | +and the link tanameet: | |
| 62 | + | |
| 63 | +> <i>Tag</i><b>:</b><i>PageName</i> | |
| 64 | + | |
| 65 | +The Tag must consist of ASCII alphanumeric characters only - no | |
| 66 | +punctuation or whitespace or characters greater than U+007A. | |
| 67 | +The PageName is the link notation on the targeiki link willhelp?cmd=/intermapki links in both the | |
| 68 | +[Fossil Wiki](/wiki_rules) and [Markdown](/md_rules) markup | |
| 69 | +styles. An interwiki link consists of a tag followed by a colon | |
| 70 | +and the link target: | |
| 71 | + | |
| 72 | +> <i>Tag</i><b>:</b><i>PageName</i> | |
| 73 | + | |
| 74 | +The Tag must consist of ASCII alphanumeric characters only - no | |
| 75 | +punctuation or whitespace or characters greater than U+007A. | |
| 76 | +The PageName is the link notation on the target wiki. | |
| 77 | +Three different classes of PageNames are recognized by Fossil: | |
| 78 | + | |
| 79 | + 1. <b>Path Links</b> → the PageName begins with the "/" character | |
| 80 | + or is an empty string. | |
| 81 | + | |
| 82 | + 2. <b>Hash Links</b> → the PageName is a hexadecimal number with | |
| 83 | + at least four digits. | |
| 84 | + | |
| 85 | + n 3. <b>Wiki Links</b> → A PageName that is not a Path or Hash. | |
| 86 | + | |
| 87 | +The Intermap defines a base URL for each Tag. Path links are appended | |
| 88 | +directly to the URL contained in the Intermap. The Intermap can define | |
| 89 | +additional text to put in between the base URL and the PageName for | |
| 90 | +Hash and Wiki links, respectively. | |
| 91 | + | |
| 92 | +<a id="intermap"></a> | |
| 93 | +## Intermap | |
| 94 | + | |
| 95 | +The intermap defines a mapping from interwiki Tags to full URLs. The | |
| 96 | +Intermap can be viewed and managed using the [fossil s. fors) markup | |
| 97 | +styles. An interwiki link consists of a tag followed by a colon | |
| 98 | +and the link tanameet: | |
| 99 | + | |
| 100 | +> <i>Tag</i><b>:</b><i>PageName</i> | |
| 101 | + | |
| 102 | +The Tag must consist of ASCII alphanumeric characters only - no | |
| 103 | +punctuation or whitespace or characters greater than U+007A. | |
| 104 | +The PageName is the link notation on knowing scanning the source |
| --- a/www/interwiki.md | |
| +++ b/www/interwiki.md | |
| @@ -0,0 +1,104 @@ | |
| --- a/www/interwiki.md | |
| +++ b/www/interwiki.md | |
| @@ -0,0 +1,104 @@ | |
| 1 | Interwiki_links) |
| 2 | * [](httInterwiki_links) |
| 3 | |
| 4 | Another example: The Fossil Forum is hosted in a separate repository |
| 5 | from the Fossil source code. This page is part of the |
| 6 | source code repository. Interwiki links can be used to more easily |
| 7 | refer to the forum repository: |
| 8 | |
| 9 | * [](forum:d5508c3bf44c6393df09c) |
| 10 | * [](https://fossil-scm.org/forum/info/d5508c3bf44c6393df09c) |
| 11 | |
| 12 | ## Advantages Over Full URL Targets |
| 13 | |
| 14 | * Interwiki links are easier to write. There is less typing, |
| 15 | and fewer op?cmd=ortunities to make mistakes. |
| 16 | |
| 17 | * Interwiki links are easier to read. With well-chosen |
| 18 | intermap tags, the links are easier to understand. |
| 19 | |
| 20 | * Interwiki links continue to work after a domain change on the |
| 21 | target. If the target of a link moves to a different domain, |
| 22 | an interwiki link will continue to work, if the intermap is adjusted, |
| 23 | but a hard-coded link will be permanently broken. |
| 24 | |
| 25 | * Interwiki links allow clones to use a different target domain from the |
| 26 | original repository. |
| 27 | |
| 28 | ## Details |
| 29 | |
| 30 | Fossil supports interwiki links in both the |
| 31 | [Fossil Wiki](/wiki_rules) and [Markdown](/md_rules) markup |
| 32 | styles. An interwiki link consists of a tag followed by a colon |
| 33 | and the link target: |
| 34 | |
| 35 | > <i>Tag</i><b>:</b><i>PageName</i> |
| 36 | |
| 37 | The Tag must consist of ASCII alphanumeric characters only - no |
| 38 | punctuation or whitespace or characters greater than U+007A. |
| 39 | The PageName is the link notation on the target wiki. |
| 40 | Th different classes of PageNames are recognized by Fossil: |
| 41 | |
| 42 | 1. <b>Path Links</b> → the PageName begins with the "/" character |
| 43 | or is an empty string. |
| 44 | |
| 45 | 2. <b>Hash Links</b> → the PageName is a hexadecimal number with |
| 46 | at least four digits. |
| 47 | |
| 48 | n 3. <b>Wiki Links</b> → A PageName that is not a Path or Hash. |
| 49 | |
| 50 | The Intermap defiisg. Path links are appended |
| 51 | directly to the URL contained in the Intermap. The Intermap can define |
| 52 | additional text to put in between the base URL and the PageName for |
| 53 | Hash and Wiki links, respectively. |
| 54 | |
| 55 | <a id="intermap"></a> |
| 56 | ## Intermap |
| 57 | |
| 58 | The intermap defines a mapping from interwiki Tags to full URLs. The |
| 59 | Intermap can be viewed and managed using the [fossil s. fors) markup |
| 60 | styles. An interwiki link consists of a tag followed by a colon |
| 61 | and the link tanameet: |
| 62 | |
| 63 | > <i>Tag</i><b>:</b><i>PageName</i> |
| 64 | |
| 65 | The Tag must consist of ASCII alphanumeric characters only - no |
| 66 | punctuation or whitespace or characters greater than U+007A. |
| 67 | The PageName is the link notation on the targeiki link willhelp?cmd=/intermapki links in both the |
| 68 | [Fossil Wiki](/wiki_rules) and [Markdown](/md_rules) markup |
| 69 | styles. An interwiki link consists of a tag followed by a colon |
| 70 | and the link target: |
| 71 | |
| 72 | > <i>Tag</i><b>:</b><i>PageName</i> |
| 73 | |
| 74 | The Tag must consist of ASCII alphanumeric characters only - no |
| 75 | punctuation or whitespace or characters greater than U+007A. |
| 76 | The PageName is the link notation on the target wiki. |
| 77 | Three different classes of PageNames are recognized by Fossil: |
| 78 | |
| 79 | 1. <b>Path Links</b> → the PageName begins with the "/" character |
| 80 | or is an empty string. |
| 81 | |
| 82 | 2. <b>Hash Links</b> → the PageName is a hexadecimal number with |
| 83 | at least four digits. |
| 84 | |
| 85 | n 3. <b>Wiki Links</b> → A PageName that is not a Path or Hash. |
| 86 | |
| 87 | The Intermap defines a base URL for each Tag. Path links are appended |
| 88 | directly to the URL contained in the Intermap. The Intermap can define |
| 89 | additional text to put in between the base URL and the PageName for |
| 90 | Hash and Wiki links, respectively. |
| 91 | |
| 92 | <a id="intermap"></a> |
| 93 | ## Intermap |
| 94 | |
| 95 | The intermap defines a mapping from interwiki Tags to full URLs. The |
| 96 | Intermap can be viewed and managed using the [fossil s. fors) markup |
| 97 | styles. An interwiki link consists of a tag followed by a colon |
| 98 | and the link tanameet: |
| 99 | |
| 100 | > <i>Tag</i><b>:</b><i>PageName</i> |
| 101 | |
| 102 | The Tag must consist of ASCII alphanumeric characters only - no |
| 103 | punctuation or whitespace or characters greater than U+007A. |
| 104 | The PageName is the link notation on knowing scanning the source |
+1
| --- www/mkindex.tcl | ||
| +++ www/mkindex.tcl | ||
| @@ -61,10 +61,11 @@ | ||
| 61 | 61 | /help {Lists of Commands and Webpages} |
| 62 | 62 | hints.wiki {Fossil Tips And Usage Hints} |
| 63 | 63 | history.md {The Purpose And History Of Fossil} |
| 64 | 64 | index.wiki {Home Page} |
| 65 | 65 | inout.wiki {Import And Export To And From Git} |
| 66 | + interwiki.md {Interwiki Links} | |
| 66 | 67 | image-format-vs-repo-size.md {Image Format vs Fossil Repo Size} |
| 67 | 68 | javascript.md {Use of JavaScript in Fossil} |
| 68 | 69 | makefile.wiki {The Fossil Build Process} |
| 69 | 70 | mirrorlimitations.md {Limitations On Git Mirrors} |
| 70 | 71 | mirrortogithub.md {How To Mirror A Fossil Repository On GitHub} |
| 71 | 72 |
| --- www/mkindex.tcl | |
| +++ www/mkindex.tcl | |
| @@ -61,10 +61,11 @@ | |
| 61 | /help {Lists of Commands and Webpages} |
| 62 | hints.wiki {Fossil Tips And Usage Hints} |
| 63 | history.md {The Purpose And History Of Fossil} |
| 64 | index.wiki {Home Page} |
| 65 | inout.wiki {Import And Export To And From Git} |
| 66 | image-format-vs-repo-size.md {Image Format vs Fossil Repo Size} |
| 67 | javascript.md {Use of JavaScript in Fossil} |
| 68 | makefile.wiki {The Fossil Build Process} |
| 69 | mirrorlimitations.md {Limitations On Git Mirrors} |
| 70 | mirrortogithub.md {How To Mirror A Fossil Repository On GitHub} |
| 71 |
| --- www/mkindex.tcl | |
| +++ www/mkindex.tcl | |
| @@ -61,10 +61,11 @@ | |
| 61 | /help {Lists of Commands and Webpages} |
| 62 | hints.wiki {Fossil Tips And Usage Hints} |
| 63 | history.md {The Purpose And History Of Fossil} |
| 64 | index.wiki {Home Page} |
| 65 | inout.wiki {Import And Export To And From Git} |
| 66 | interwiki.md {Interwiki Links} |
| 67 | image-format-vs-repo-size.md {Image Format vs Fossil Repo Size} |
| 68 | javascript.md {Use of JavaScript in Fossil} |
| 69 | makefile.wiki {The Fossil Build Process} |
| 70 | mirrorlimitations.md {Limitations On Git Mirrors} |
| 71 | mirrortogithub.md {How To Mirror A Fossil Repository On GitHub} |
| 72 |
| --- www/permutedindex.html | ||
| +++ www/permutedindex.html | ||
| @@ -184,14 +184,16 @@ | ||
| 184 | 184 | <li><a href="inout.wiki"><b>Import And Export To And From Git</b></a></li> |
| 185 | 185 | <li><a href="build.wiki">Installing Fossil — Compiling and</a></li> |
| 186 | 186 | <li><a href="fossil-from-msvc.wiki"><b>Integrating Fossil in the Microsoft Express 2010 IDE</b></a></li> |
| 187 | 187 | <li><a href="selfcheck.wiki">Integrity Self Checks — Fossil Repository</a></li> |
| 188 | 188 | <li><a href="webui.wiki">Interface — The Fossil Web</a></li> |
| 189 | +<li><a href="interwiki.md"><b>Interwiki Links</b></a></li> | |
| 189 | 190 | <li><a href="javascript.md">JavaScript in Fossil — Use of</a></li> |
| 190 | 191 | <li><a href="th1.md">Language — The TH1 Scripting</a></li> |
| 191 | 192 | <li><a href="copyright-release.html">License Agreement — Contributor</a></li> |
| 192 | 193 | <li><a href="mirrorlimitations.md"><b>Limitations On Git Mirrors</b></a></li> |
| 194 | +<li><a href="interwiki.md">Links — Interwiki</a></li> | |
| 193 | 195 | <li><a href="../../../help"><b>Lists of Commands and Webpages</b></a></li> |
| 194 | 196 | <li><a href="password.wiki">Management And Authentication — Password</a></li> |
| 195 | 197 | <li><a href="../../../sitemap">Map — Site</a></li> |
| 196 | 198 | <li><a href="../../../md_rules"><b>Markdown Formatting Rules</b></a></li> |
| 197 | 199 | <li><a href="backoffice.md">mechanism of Fossil — The Backoffice</a></li> |
| 198 | 200 |
| --- www/permutedindex.html | |
| +++ www/permutedindex.html | |
| @@ -184,14 +184,16 @@ | |
| 184 | <li><a href="inout.wiki"><b>Import And Export To And From Git</b></a></li> |
| 185 | <li><a href="build.wiki">Installing Fossil — Compiling and</a></li> |
| 186 | <li><a href="fossil-from-msvc.wiki"><b>Integrating Fossil in the Microsoft Express 2010 IDE</b></a></li> |
| 187 | <li><a href="selfcheck.wiki">Integrity Self Checks — Fossil Repository</a></li> |
| 188 | <li><a href="webui.wiki">Interface — The Fossil Web</a></li> |
| 189 | <li><a href="javascript.md">JavaScript in Fossil — Use of</a></li> |
| 190 | <li><a href="th1.md">Language — The TH1 Scripting</a></li> |
| 191 | <li><a href="copyright-release.html">License Agreement — Contributor</a></li> |
| 192 | <li><a href="mirrorlimitations.md"><b>Limitations On Git Mirrors</b></a></li> |
| 193 | <li><a href="../../../help"><b>Lists of Commands and Webpages</b></a></li> |
| 194 | <li><a href="password.wiki">Management And Authentication — Password</a></li> |
| 195 | <li><a href="../../../sitemap">Map — Site</a></li> |
| 196 | <li><a href="../../../md_rules"><b>Markdown Formatting Rules</b></a></li> |
| 197 | <li><a href="backoffice.md">mechanism of Fossil — The Backoffice</a></li> |
| 198 |
| --- www/permutedindex.html | |
| +++ www/permutedindex.html | |
| @@ -184,14 +184,16 @@ | |
| 184 | <li><a href="inout.wiki"><b>Import And Export To And From Git</b></a></li> |
| 185 | <li><a href="build.wiki">Installing Fossil — Compiling and</a></li> |
| 186 | <li><a href="fossil-from-msvc.wiki"><b>Integrating Fossil in the Microsoft Express 2010 IDE</b></a></li> |
| 187 | <li><a href="selfcheck.wiki">Integrity Self Checks — Fossil Repository</a></li> |
| 188 | <li><a href="webui.wiki">Interface — The Fossil Web</a></li> |
| 189 | <li><a href="interwiki.md"><b>Interwiki Links</b></a></li> |
| 190 | <li><a href="javascript.md">JavaScript in Fossil — Use of</a></li> |
| 191 | <li><a href="th1.md">Language — The TH1 Scripting</a></li> |
| 192 | <li><a href="copyright-release.html">License Agreement — Contributor</a></li> |
| 193 | <li><a href="mirrorlimitations.md"><b>Limitations On Git Mirrors</b></a></li> |
| 194 | <li><a href="interwiki.md">Links — Interwiki</a></li> |
| 195 | <li><a href="../../../help"><b>Lists of Commands and Webpages</b></a></li> |
| 196 | <li><a href="password.wiki">Management And Authentication — Password</a></li> |
| 197 | <li><a href="../../../sitemap">Map — Site</a></li> |
| 198 | <li><a href="../../../md_rules"><b>Markdown Formatting Rules</b></a></li> |
| 199 | <li><a href="backoffice.md">mechanism of Fossil — The Backoffice</a></li> |
| 200 |
+2
-9
| --- www/quotes.wiki | ||
| +++ www/quotes.wiki | ||
| @@ -62,11 +62,11 @@ | ||
| 62 | 62 | |
| 63 | 63 | <li>[I]n nearly 31 years of using a computer i have, in total, lost more data to git |
| 64 | 64 | (while following the instructions!!!) than any other single piece of software. |
| 65 | 65 | |
| 66 | 66 | <blockquote> |
| 67 | -<i>Stephen Beal on the [http://www.mail-archive.com/[email protected]/msg17181.html|Fossil mailing list] | |
| 67 | +<i>Stephan Beal on the [http://www.mail-archive.com/[email protected]/msg17181.html|Fossil mailing list] | |
| 68 | 68 | 2014-09-01.</i> |
| 69 | 69 | </blockquote> |
| 70 | 70 | |
| 71 | 71 | <li>If programmers _really_ wanted to help scientists, they'd build a version control |
| 72 | 72 | system that was more usable than Git. |
| @@ -100,17 +100,10 @@ | ||
| 100 | 100 | |
| 101 | 101 | <blockquote> |
| 102 | 102 | <i>Joe Prostko at [http://www.mail-archive.com/[email protected]/msg16716.html] |
| 103 | 103 | </blockquote> |
| 104 | 104 | |
| 105 | -<li>Fossil is awesome!!! I have never seen an app like that before, | |
| 106 | -such simplicity and flexibility!!! | |
| 107 | - | |
| 108 | -<blockquote> | |
| 109 | -<i>zengr at [https://stackoverflow.com/a/629967/142454]</i> | |
| 110 | -</blockquote> | |
| 111 | - | |
| 112 | 105 | <li>This is my favourite VCS. I can carry it on a USB. And it's a complete system, with it's own |
| 113 | 106 | server, ticketing system, Wiki pages, and a very, very helpful timeline visualization. And |
| 114 | 107 | the entire program in a single file! |
| 115 | 108 | |
| 116 | 109 | <blockquote> |
| @@ -122,11 +115,11 @@ | ||
| 122 | 115 | |
| 123 | 116 | |
| 124 | 117 | <h2>On Git Versus Fossil</h2> |
| 125 | 118 | |
| 126 | 119 | <ol> |
| 127 | -<li value=15> | |
| 120 | +<li value=14> | |
| 128 | 121 | After prolonged exposure to fossil, i tend to get the jitters when I work with git... |
| 129 | 122 | |
| 130 | 123 | <blockquote> |
| 131 | 124 | <i>sriku - at [https://news.ycombinator.com/item?id=16104427]</i> |
| 132 | 125 | </blockquote> |
| 133 | 126 |
| --- www/quotes.wiki | |
| +++ www/quotes.wiki | |
| @@ -62,11 +62,11 @@ | |
| 62 | |
| 63 | <li>[I]n nearly 31 years of using a computer i have, in total, lost more data to git |
| 64 | (while following the instructions!!!) than any other single piece of software. |
| 65 | |
| 66 | <blockquote> |
| 67 | <i>Stephen Beal on the [http://www.mail-archive.com/[email protected]/msg17181.html|Fossil mailing list] |
| 68 | 2014-09-01.</i> |
| 69 | </blockquote> |
| 70 | |
| 71 | <li>If programmers _really_ wanted to help scientists, they'd build a version control |
| 72 | system that was more usable than Git. |
| @@ -100,17 +100,10 @@ | |
| 100 | |
| 101 | <blockquote> |
| 102 | <i>Joe Prostko at [http://www.mail-archive.com/[email protected]/msg16716.html] |
| 103 | </blockquote> |
| 104 | |
| 105 | <li>Fossil is awesome!!! I have never seen an app like that before, |
| 106 | such simplicity and flexibility!!! |
| 107 | |
| 108 | <blockquote> |
| 109 | <i>zengr at [https://stackoverflow.com/a/629967/142454]</i> |
| 110 | </blockquote> |
| 111 | |
| 112 | <li>This is my favourite VCS. I can carry it on a USB. And it's a complete system, with it's own |
| 113 | server, ticketing system, Wiki pages, and a very, very helpful timeline visualization. And |
| 114 | the entire program in a single file! |
| 115 | |
| 116 | <blockquote> |
| @@ -122,11 +115,11 @@ | |
| 122 | |
| 123 | |
| 124 | <h2>On Git Versus Fossil</h2> |
| 125 | |
| 126 | <ol> |
| 127 | <li value=15> |
| 128 | After prolonged exposure to fossil, i tend to get the jitters when I work with git... |
| 129 | |
| 130 | <blockquote> |
| 131 | <i>sriku - at [https://news.ycombinator.com/item?id=16104427]</i> |
| 132 | </blockquote> |
| 133 |
| --- www/quotes.wiki | |
| +++ www/quotes.wiki | |
| @@ -62,11 +62,11 @@ | |
| 62 | |
| 63 | <li>[I]n nearly 31 years of using a computer i have, in total, lost more data to git |
| 64 | (while following the instructions!!!) than any other single piece of software. |
| 65 | |
| 66 | <blockquote> |
| 67 | <i>Stephan Beal on the [http://www.mail-archive.com/[email protected]/msg17181.html|Fossil mailing list] |
| 68 | 2014-09-01.</i> |
| 69 | </blockquote> |
| 70 | |
| 71 | <li>If programmers _really_ wanted to help scientists, they'd build a version control |
| 72 | system that was more usable than Git. |
| @@ -100,17 +100,10 @@ | |
| 100 | |
| 101 | <blockquote> |
| 102 | <i>Joe Prostko at [http://www.mail-archive.com/[email protected]/msg16716.html] |
| 103 | </blockquote> |
| 104 | |
| 105 | <li>This is my favourite VCS. I can carry it on a USB. And it's a complete system, with it's own |
| 106 | server, ticketing system, Wiki pages, and a very, very helpful timeline visualization. And |
| 107 | the entire program in a single file! |
| 108 | |
| 109 | <blockquote> |
| @@ -122,11 +115,11 @@ | |
| 115 | |
| 116 | |
| 117 | <h2>On Git Versus Fossil</h2> |
| 118 | |
| 119 | <ol> |
| 120 | <li value=14> |
| 121 | After prolonged exposure to fossil, i tend to get the jitters when I work with git... |
| 122 | |
| 123 | <blockquote> |
| 124 | <i>sriku - at [https://news.ycombinator.com/item?id=16104427]</i> |
| 125 | </blockquote> |
| 126 |