Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch warn-on-merging-private-branch Excluding Merge-Ins
This is equivalent to a diff from 593e801b to f2322d90
2023-10-20
| ||
16:45 | For 'timeline --verbose' with some formatting options, display the list of changed files closer to the check-in info block. ... (check-in: 7e63c86e user: danield tags: trunk) | |
2023-10-18
| ||
12:14 | Rename policy setting for private merges to 'unpublished.' ... (Leaf check-in: f2322d90 user: preben tags: warn-on-merging-private-branch) | |
2023-10-17
| ||
11:27 | Remove old warning-policy definition. ... (check-in: 1b010f01 user: preben tags: warn-on-merging-private-branch) | |
2023-10-05
| ||
11:57 | Consistently use /dev/null in diff output for added and deleted files. ... (check-in: 200dcdcd user: preben tags: diff-deleted-files) | |
2023-10-02
| ||
11:38 | Prompt user to publish artifacts when merging a private branch into a public branch. ... (check-in: c0767912 user: preben tags: warn-on-merging-private-branch) | |
2023-09-29
| ||
13:35 | merge in hash-admin-user-password ... (check-in: 593e801b user: preben tags: trunk) | |
13:35 | merge in fts-ticket-updates ... (check-in: c0d402fe user: preben tags: trunk) | |
Changes to src/checkin.c.
︙ | ︙ | |||
2540 2541 2542 2543 2544 2545 2546 | ){ fossil_fatal("cannot commit against a closed leaf"); } /* Always exit the loop on the second pass */ if( bRecheck ) break; | > > > > > > > | > > > > > > | 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 | ){ fossil_fatal("cannot commit against a closed leaf"); } /* Always exit the loop on the second pass */ if( bRecheck ) break; if( !forceFlag && issue_commit_warnings(info_tags_of_checkin(vid, 0)) ){ Blob yn; char c = 'n'; if( !noPrompt ){ prompt_user("Continue anyway (y/N)? ", &yn); c = blob_str(&yn)[0]; blob_reset(&yn); } if( c!='y' && c!='Y' ){ db_end_transaction(1); return; } } /* Get the check-in comment. This might involve prompting the ** user for the check-in comment, in which case we should resync ** to renew the check-in lock and repeat the checks for conflicts. */ if( zComment ){ blob_zero(&comment); blob_append(&comment, zComment, -1); |
︙ | ︙ | |||
2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 | free(zManifestFile); } if( !g.markPrivate ){ int syncFlags = SYNC_PUSH | SYNC_PULL | SYNC_IFABLE; autosync_loop(syncFlags, 0, "commit"); } if( count_nonbranch_children(vid)>1 ){ fossil_print("**** warning: a fork has occurred *****\n"); }else{ leaf_ambiguity_warning(nvid,nvid); } } | > | 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 | free(zManifestFile); } if( !g.markPrivate ){ int syncFlags = SYNC_PUSH | SYNC_PULL | SYNC_IFABLE; autosync_loop(syncFlags, 0, "commit"); } if( forceFlag ) issue_commit_warnings(info_tags_of_checkin(vid, 0)); if( count_nonbranch_children(vid)>1 ){ fossil_print("**** warning: a fork has occurred *****\n"); }else{ leaf_ambiguity_warning(nvid,nvid); } } |
Changes to src/configure.c.
︙ | ︙ | |||
39 40 41 42 43 44 45 46 47 48 49 50 51 52 | #define CONFIGSET_XFER 0x000080 /* Transfer configuration */ #define CONFIGSET_ALIAS 0x000100 /* URL Aliases */ #define CONFIGSET_SCRIBER 0x000200 /* Email subscribers */ #define CONFIGSET_IWIKI 0x000400 /* Interwiki codes */ #define CONFIGSET_ALL 0x0007ff /* Everything */ #define CONFIGSET_OVERWRITE 0x100000 /* Causes overwrite instead of merge */ /* ** This mask is used for the common TH1 configuration settings (i.e. those ** that are not specific to one particular subsystem, such as the transfer ** subsystem). */ #define CONFIGSET_TH1 (CONFIGSET_SKIN|CONFIGSET_TKT|CONFIGSET_XFER) | > | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #define CONFIGSET_XFER 0x000080 /* Transfer configuration */ #define CONFIGSET_ALIAS 0x000100 /* URL Aliases */ #define CONFIGSET_SCRIBER 0x000200 /* Email subscribers */ #define CONFIGSET_IWIKI 0x000400 /* Interwiki codes */ #define CONFIGSET_ALL 0x0007ff /* Everything */ #define CONFIGSET_OVERWRITE 0x100000 /* Causes overwrite instead of merge */ #define CONFIGSET_PROPAGATE 0x200000 /* Propagating setting */ /* ** This mask is used for the common TH1 configuration settings (i.e. those ** that are not specific to one particular subsystem, such as the transfer ** subsystem). */ #define CONFIGSET_TH1 (CONFIGSET_SKIN|CONFIGSET_TKT|CONFIGSET_XFER) |
︙ | ︙ | |||
179 180 181 182 183 184 185 186 187 188 189 190 191 192 | { "@interwiki", CONFIGSET_IWIKI }, { "xfer-common-script", CONFIGSET_XFER }, { "xfer-push-script", CONFIGSET_XFER }, { "xfer-commit-script", CONFIGSET_XFER }, { "xfer-ticket-script", CONFIGSET_XFER }, }; static int iConfig = 0; /* ** Return name of first configuration property matching the given mask. */ | > | 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 | { "@interwiki", CONFIGSET_IWIKI }, { "xfer-common-script", CONFIGSET_XFER }, { "xfer-push-script", CONFIGSET_XFER }, { "xfer-commit-script", CONFIGSET_XFER }, { "xfer-ticket-script", CONFIGSET_XFER }, { "warning-policy", CONFIGSET_PROJ | CONFIGSET_PROPAGATE }, }; static int iConfig = 0; /* ** Return name of first configuration property matching the given mask. */ |
︙ | ︙ | |||
422 423 424 425 426 427 428 | if( (thisMask & CONFIGSET_SCRIBER)!=0 ){ alert_schema(1); } checkMask &= ~thisMask; } blob_zero(&sql); | | | 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 | if( (thisMask & CONFIGSET_SCRIBER)!=0 ){ alert_schema(1); } checkMask &= ~thisMask; } blob_zero(&sql); if( groupMask & CONFIGSET_OVERWRITE || thisMask & CONFIGSET_PROPAGATE ){ if( (thisMask & configHasBeenReset)==0 && aType[ii].zName[0]!='/' ){ db_multi_exec("DELETE FROM \"%w\"", &aType[ii].zName[1]); configHasBeenReset |= thisMask; } blob_append_sql(&sql, "REPLACE INTO "); }else{ blob_append_sql(&sql, "INSERT OR IGNORE INTO "); |
︙ | ︙ | |||
695 696 697 698 699 700 701 702 703 704 705 706 707 708 | } db_reset(&q); } } db_finalize(&q); return nCard; } /* ** Identify a configuration group by name. Return its mask. ** Throw an error if no match. */ int configure_name_to_mask(const char *z, int notFoundIsFatal){ int i; | > > > > > > > > > > > > > > > > > > | 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 | } db_reset(&q); } } db_finalize(&q); return nCard; } /* ** Send the warning-policy, writing it to pOut. */ void configure_send_warning_policy(Blob *pOut){ const char *zRec; zRec = db_text(0, "SELECT mtime || ' ' || quote(name) || ' value ' || quote(value)" " FROM config" " WHERE name='warning-policy'"); if( zRec==0 ){ /* If not set, send the default value. */ zRec = db_text(0, "SELECT now() || ' ' || quote(%Q) || ' value ' || quote(%Q)", "warning-policy", db_get("warning-policy", 0)); } blob_appendf(pOut, "config /config %d\n%s\n", strlen(zRec), zRec); } /* ** Identify a configuration group by name. Return its mask. ** Throw an error if no match. */ int configure_name_to_mask(const char *z, int notFoundIsFatal){ int i; |
︙ | ︙ |
Changes to src/db.c.
︙ | ︙ | |||
4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 | struct Setting { const char *name; /* Name of the setting */ const char *var; /* Internal variable name used by db_set() */ int width; /* Width of display. 0 for boolean values and ** negative for values which should not appear ** on the /setup_settings page. */ char versionable; /* Is this setting versionable? */ char forceTextArea; /* Force using a text area for display? */ char sensitive; /* True if this a security-sensitive setting */ const char *def; /* Default value */ }; #endif /* INTERFACE */ /* | > | 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 | struct Setting { const char *name; /* Name of the setting */ const char *var; /* Internal variable name used by db_set() */ int width; /* Width of display. 0 for boolean values and ** negative for values which should not appear ** on the /setup_settings page. */ char versionable; /* Is this setting versionable? */ char propagating; /* Is this setting propagating? */ char forceTextArea; /* Force using a text area for display? */ char sensitive; /* True if this a security-sensitive setting */ const char *def; /* Default value */ }; #endif /* INTERFACE */ /* |
︙ | ︙ | |||
5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 | ** The "settings" command with no arguments lists all settings and their ** values. With just a SETTING name it shows the current value of that setting. ** With a VALUE argument it changes the property for the current repository. ** ** Settings marked as versionable are overridden by the contents of the ** file named .fossil-settings/PROPERTY in the check-out root, if that ** file exists. ** ** The "unset" command clears a setting. ** ** Settings can have both a "local" repository-only value and "global" value ** that applies to all repositories. The local values are stored in the ** "config" table of the repository and the global values are stored in the ** configuration database. If both a local and a global value exists for a ** setting, the local value takes precedence. This command normally operates ** on the local settings. Use the --global option to change global settings. ** ** Options: ** --global Set or unset the given property globally instead of ** setting or unsetting it for the open repository only ** --exact Only consider exact name matches ** --value Only show the value of a given property (implies --exact) ** ** See also: [[configuration]] */ void setting_cmd(void){ int i; int globalFlag = find_option("global","g",0)!=0; int exactFlag = find_option("exact",0,0)!=0; int valueFlag = find_option("value",0,0)!=0; /* Undocumented "--test-for-subsystem SUBSYS" option used to test ** the db_get_for_subsystem() interface: */ const char *zSubsys = find_option("test-for-subsystem",0,1); | > > > > | 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 | ** The "settings" command with no arguments lists all settings and their ** values. With just a SETTING name it shows the current value of that setting. ** With a VALUE argument it changes the property for the current repository. ** ** Settings marked as versionable are overridden by the contents of the ** file named .fossil-settings/PROPERTY in the check-out root, if that ** file exists. ** ** Settings marked as propagating will be overridden if a new value is received ** when pulling from a repository. ** ** The "unset" command clears a setting. ** ** Settings can have both a "local" repository-only value and "global" value ** that applies to all repositories. The local values are stored in the ** "config" table of the repository and the global values are stored in the ** configuration database. If both a local and a global value exists for a ** setting, the local value takes precedence. This command normally operates ** on the local settings. Use the --global option to change global settings. ** ** Options: ** --global Set or unset the given property globally instead of ** setting or unsetting it for the open repository only ** --exact Only consider exact name matches ** --value Only show the value of a given property (implies --exact) ** ** See also: [[configuration]] */ void setting_cmd(void){ static const char *aLocalOnly[] = { "manifest", "warning-policy" }; int i; int globalFlag = find_option("global","g",0)!=0; int exactFlag = find_option("exact",0,0)!=0; int valueFlag = find_option("value",0,0)!=0; /* Undocumented "--test-for-subsystem SUBSYS" option used to test ** the db_get_for_subsystem() interface: */ const char *zSubsys = find_option("test-for-subsystem",0,1); |
︙ | ︙ | |||
5121 5122 5123 5124 5125 5126 5127 | }else if( g.argc==3 || g.argc==4 ){ const char *zName = g.argv[2]; int n = (int)strlen(zName); const Setting *pSetting = db_find_setting(zName, !exactFlag); if( pSetting==0 ){ fossil_fatal("no such setting: %s", zName); } | | > > | > > < < < | 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 | }else if( g.argc==3 || g.argc==4 ){ const char *zName = g.argv[2]; int n = (int)strlen(zName); const Setting *pSetting = db_find_setting(zName, !exactFlag); if( pSetting==0 ){ fossil_fatal("no such setting: %s", zName); } if( globalFlag ){ for(i=0; i<count(aLocalOnly); i++){ if( fossil_strcmp(pSetting->name, aLocalOnly[i])==0 ){ fossil_fatal("cannot set '%s' globally", aLocalOnly[i]); } } } if( unsetFlag || g.argc==4 ){ int isManifest = fossil_strcmp(pSetting->name, "manifest")==0; if( n!=(int)strlen(pSetting[0].name) && pSetting[1].name && fossil_strncmp(pSetting[1].name, zName, n)==0 ){ Blob x; int i; blob_init(&x,0,0); for(i=0; pSetting[i].name; i++){ if( fossil_strncmp(pSetting[i].name,zName,n)!=0 ) break; blob_appendf(&x, " %s", pSetting[i].name); } fossil_fatal("ambiguous setting \"%s\" - might be:%s", zName, blob_str(&x)); } if( unsetFlag ){ db_unset(pSetting->name/*works-like:"x"*/, globalFlag); }else{ db_protect_only(PROTECT_NONE); db_set(pSetting->name/*works-like:"x"*/, g.argv[3], globalFlag); db_protect_pop(); } |
︙ | ︙ |
Changes to src/dispatch.c.
︙ | ︙ | |||
52 53 54 55 56 57 58 59 60 61 62 63 64 65 | #define CMDFLAG_BOOLEAN 0x0100 /* A boolean setting */ #define CMDFLAG_RAWCONTENT 0x0200 /* Do not interpret POST content */ /* NOTE: 0x0400 = CMDFLAG_SENSITIVE in mkindex.c! */ #define CMDFLAG_HIDDEN 0x0800 /* Elide from most listings */ #define CMDFLAG_LDAVG_EXEMPT 0x1000 /* Exempt from load_control() */ #define CMDFLAG_ALIAS 0x2000 /* Command aliases */ #define CMDFLAG_KEEPEMPTY 0x4000 /* Do not unset empty settings */ /**************************************************************************/ /* Values for the 2nd parameter to dispatch_name_search() */ #define CMDFLAG_ANY 0x0038 /* Match anything */ #define CMDFLAG_PREFIX 0x0200 /* Prefix match is ok */ #endif /* INTERFACE */ | > | 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | #define CMDFLAG_BOOLEAN 0x0100 /* A boolean setting */ #define CMDFLAG_RAWCONTENT 0x0200 /* Do not interpret POST content */ /* NOTE: 0x0400 = CMDFLAG_SENSITIVE in mkindex.c! */ #define CMDFLAG_HIDDEN 0x0800 /* Elide from most listings */ #define CMDFLAG_LDAVG_EXEMPT 0x1000 /* Exempt from load_control() */ #define CMDFLAG_ALIAS 0x2000 /* Command aliases */ #define CMDFLAG_KEEPEMPTY 0x4000 /* Do not unset empty settings */ #define CMDFLAG_PROPAGATES 0x8000 /* Propagates from server to client */ /**************************************************************************/ /* Values for the 2nd parameter to dispatch_name_search() */ #define CMDFLAG_ANY 0x0038 /* Match anything */ #define CMDFLAG_PREFIX 0x0200 /* Prefix match is ok */ #endif /* INTERFACE */ |
︙ | ︙ | |||
603 604 605 606 607 608 609 | fossil_print("# %s\n", aCommand[bktHelp[aCommand[i].iHelp][j]].zName); fossil_print("%s\n\n", aCommand[i].zHelp); }else{ Blob txt; blob_init(&txt, 0, 0); help_to_text(aCommand[i].zHelp, &txt); for(j=0; j<occHelp[aCommand[i].iHelp]; j++){ | | | > > | 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 | fossil_print("# %s\n", aCommand[bktHelp[aCommand[i].iHelp][j]].zName); fossil_print("%s\n\n", aCommand[i].zHelp); }else{ Blob txt; blob_init(&txt, 0, 0); help_to_text(aCommand[i].zHelp, &txt); for(j=0; j<occHelp[aCommand[i].iHelp]; j++){ fossil_print("# %s%s%s\n", aCommand[bktHelp[aCommand[i].iHelp][j]].zName, (aCommand[i].eCmdFlags & CMDFLAG_VERSIONABLE)!=0 ? " (versionable)" : "", (aCommand[i].eCmdFlags & CMDFLAG_PROPAGATES)!=0 ? " (propagating)" : ""); } fossil_print("%s\n\n", blob_str(&txt)); blob_reset(&txt); } occHelp[aCommand[i].iHelp] = 0; } } |
︙ | ︙ | |||
1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 | zDesc = "web page"; } }else{ blob_reset(&buf); if( e & CMDFLAG_VERSIONABLE ){ blob_appendf(&buf, "versionable "); } if( e & CMDFLAG_BLOCKTEXT ){ blob_appendf(&buf, "block-text "); } if( e & CMDFLAG_BOOLEAN ){ blob_appendf(&buf, "boolean "); } blob_appendf(&buf,"setting"); | > > > | 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 | zDesc = "web page"; } }else{ blob_reset(&buf); if( e & CMDFLAG_VERSIONABLE ){ blob_appendf(&buf, "versionable "); } if( e & CMDFLAG_PROPAGATES ){ blob_appendf(&buf, "propagating "); } if( e & CMDFLAG_BLOCKTEXT ){ blob_appendf(&buf, "block-text "); } if( e & CMDFLAG_BOOLEAN ){ blob_appendf(&buf, "boolean "); } blob_appendf(&buf,"setting"); |
︙ | ︙ | |||
1284 1285 1286 1287 1288 1289 1290 | } if( pCmd->eCmdFlags & CMDFLAG_SETTING ){ const Setting *pSetting = db_find_setting(pCmd->zName, 0); char *zDflt = 0; if( pSetting!=0 && pSetting->def!=0 && *pSetting->def!=0 ){ zDflt = mprintf(" (default: %s)", pSetting->def); } | | | > | 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 | } if( pCmd->eCmdFlags & CMDFLAG_SETTING ){ const Setting *pSetting = db_find_setting(pCmd->zName, 0); char *zDflt = 0; if( pSetting!=0 && pSetting->def!=0 && *pSetting->def!=0 ){ zDflt = mprintf(" (default: %s)", pSetting->def); } fossil_print("Setting: \"%s\"%s%s%s\n\n", pCmd->zName, zDflt!=0 ? zDflt : "", (pCmd->eCmdFlags & CMDFLAG_VERSIONABLE)!=0 ? " (versionable)" : "", (pCmd->eCmdFlags & CMDFLAG_PROPAGATES)!=0 ? " (propagating)" : "" ); fossil_free(zDflt); } blob_init(&txt, 0, 0); if( useHtml ){ help_to_html(z, &txt); }else{ |
︙ | ︙ |
Changes to src/json_config.c.
︙ | ︙ | |||
256 257 258 259 260 261 262 263 264 265 266 267 268 269 | for(i=0; i<nSetting; ++i){ const Setting *pSet = &aSetting[i]; cson_object * jSet; cson_value * pVal = 0, * pSrc = 0; jSet = cson_new_object(); cson_object_set(pay, pSet->name, cson_object_value(jSet)); cson_object_set(jSet, "versionable", cson_value_new_bool(pSet->versionable)); cson_object_set(jSet, "sensitive", cson_value_new_bool(pSet->sensitive)); cson_object_set(jSet, "defaultValue", (pSet->def && pSet->def[0]) ? json_new_string(pSet->def) : cson_value_null()); if( 0==pSet->sensitive || 0!=g.perm.Setup ){ if( pSet->versionable ){ /* Check to see if this is overridden by a versionable | > | 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 | for(i=0; i<nSetting; ++i){ const Setting *pSet = &aSetting[i]; cson_object * jSet; cson_value * pVal = 0, * pSrc = 0; jSet = cson_new_object(); cson_object_set(pay, pSet->name, cson_object_value(jSet)); cson_object_set(jSet, "versionable", cson_value_new_bool(pSet->versionable)); cson_object_set(jSet, "propagating", cson_value_new_bool(pSet->propagating)); cson_object_set(jSet, "sensitive", cson_value_new_bool(pSet->sensitive)); cson_object_set(jSet, "defaultValue", (pSet->def && pSet->def[0]) ? json_new_string(pSet->def) : cson_value_null()); if( 0==pSet->sensitive || 0!=g.perm.Setup ){ if( pSet->versionable ){ /* Check to see if this is overridden by a versionable |
︙ | ︙ |
Changes to src/main.mk.
︙ | ︙ | |||
152 153 154 155 156 157 158 159 160 161 162 163 164 165 | $(SRCDIR)/update.c \ $(SRCDIR)/url.c \ $(SRCDIR)/user.c \ $(SRCDIR)/utf8.c \ $(SRCDIR)/util.c \ $(SRCDIR)/verify.c \ $(SRCDIR)/vfile.c \ $(SRCDIR)/wiki.c \ $(SRCDIR)/wikiformat.c \ $(SRCDIR)/winfile.c \ $(SRCDIR)/winhttp.c \ $(SRCDIR)/xfer.c \ $(SRCDIR)/xfersetup.c \ $(SRCDIR)/zip.c | > | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | $(SRCDIR)/update.c \ $(SRCDIR)/url.c \ $(SRCDIR)/user.c \ $(SRCDIR)/utf8.c \ $(SRCDIR)/util.c \ $(SRCDIR)/verify.c \ $(SRCDIR)/vfile.c \ $(SRCDIR)/warnpolicy.c \ $(SRCDIR)/wiki.c \ $(SRCDIR)/wikiformat.c \ $(SRCDIR)/winfile.c \ $(SRCDIR)/winhttp.c \ $(SRCDIR)/xfer.c \ $(SRCDIR)/xfersetup.c \ $(SRCDIR)/zip.c |
︙ | ︙ | |||
411 412 413 414 415 416 417 418 419 420 421 422 423 424 | $(OBJDIR)/update_.c \ $(OBJDIR)/url_.c \ $(OBJDIR)/user_.c \ $(OBJDIR)/utf8_.c \ $(OBJDIR)/util_.c \ $(OBJDIR)/verify_.c \ $(OBJDIR)/vfile_.c \ $(OBJDIR)/wiki_.c \ $(OBJDIR)/wikiformat_.c \ $(OBJDIR)/winfile_.c \ $(OBJDIR)/winhttp_.c \ $(OBJDIR)/xfer_.c \ $(OBJDIR)/xfersetup_.c \ $(OBJDIR)/zip_.c | > | 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 | $(OBJDIR)/update_.c \ $(OBJDIR)/url_.c \ $(OBJDIR)/user_.c \ $(OBJDIR)/utf8_.c \ $(OBJDIR)/util_.c \ $(OBJDIR)/verify_.c \ $(OBJDIR)/vfile_.c \ $(OBJDIR)/warnpolicy_.c \ $(OBJDIR)/wiki_.c \ $(OBJDIR)/wikiformat_.c \ $(OBJDIR)/winfile_.c \ $(OBJDIR)/winhttp_.c \ $(OBJDIR)/xfer_.c \ $(OBJDIR)/xfersetup_.c \ $(OBJDIR)/zip_.c |
︙ | ︙ | |||
560 561 562 563 564 565 566 567 568 569 570 571 572 573 | $(OBJDIR)/update.o \ $(OBJDIR)/url.o \ $(OBJDIR)/user.o \ $(OBJDIR)/utf8.o \ $(OBJDIR)/util.o \ $(OBJDIR)/verify.o \ $(OBJDIR)/vfile.o \ $(OBJDIR)/wiki.o \ $(OBJDIR)/wikiformat.o \ $(OBJDIR)/winfile.o \ $(OBJDIR)/winhttp.o \ $(OBJDIR)/xfer.o \ $(OBJDIR)/xfersetup.o \ $(OBJDIR)/zip.o | > | 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 | $(OBJDIR)/update.o \ $(OBJDIR)/url.o \ $(OBJDIR)/user.o \ $(OBJDIR)/utf8.o \ $(OBJDIR)/util.o \ $(OBJDIR)/verify.o \ $(OBJDIR)/vfile.o \ $(OBJDIR)/warnpolicy.o \ $(OBJDIR)/wiki.o \ $(OBJDIR)/wikiformat.o \ $(OBJDIR)/winfile.o \ $(OBJDIR)/winhttp.o \ $(OBJDIR)/xfer.o \ $(OBJDIR)/xfersetup.o \ $(OBJDIR)/zip.o |
︙ | ︙ | |||
895 896 897 898 899 900 901 902 903 904 905 906 907 908 | $(OBJDIR)/update_.c:$(OBJDIR)/update.h \ $(OBJDIR)/url_.c:$(OBJDIR)/url.h \ $(OBJDIR)/user_.c:$(OBJDIR)/user.h \ $(OBJDIR)/utf8_.c:$(OBJDIR)/utf8.h \ $(OBJDIR)/util_.c:$(OBJDIR)/util.h \ $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h \ $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h \ $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h \ $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \ $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \ $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \ $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \ $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \ $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \ | > | 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 | $(OBJDIR)/update_.c:$(OBJDIR)/update.h \ $(OBJDIR)/url_.c:$(OBJDIR)/url.h \ $(OBJDIR)/user_.c:$(OBJDIR)/user.h \ $(OBJDIR)/utf8_.c:$(OBJDIR)/utf8.h \ $(OBJDIR)/util_.c:$(OBJDIR)/util.h \ $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h \ $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h \ $(OBJDIR)/warnpolicy_.c:$(OBJDIR)/warnpolicy.h \ $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h \ $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \ $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \ $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \ $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \ $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \ $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \ |
︙ | ︙ | |||
2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 | $(OBJDIR)/vfile_.c: $(SRCDIR)/vfile.c $(OBJDIR)/translate $(OBJDIR)/translate $(SRCDIR)/vfile.c >$@ $(OBJDIR)/vfile.o: $(OBJDIR)/vfile_.c $(OBJDIR)/vfile.h $(SRCDIR)/config.h $(XTCC) -o $(OBJDIR)/vfile.o -c $(OBJDIR)/vfile_.c $(OBJDIR)/vfile.h: $(OBJDIR)/headers $(OBJDIR)/wiki_.c: $(SRCDIR)/wiki.c $(OBJDIR)/translate $(OBJDIR)/translate $(SRCDIR)/wiki.c >$@ $(OBJDIR)/wiki.o: $(OBJDIR)/wiki_.c $(OBJDIR)/wiki.h $(SRCDIR)/config.h $(XTCC) -o $(OBJDIR)/wiki.o -c $(OBJDIR)/wiki_.c | > > > > > > > > | 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 | $(OBJDIR)/vfile_.c: $(SRCDIR)/vfile.c $(OBJDIR)/translate $(OBJDIR)/translate $(SRCDIR)/vfile.c >$@ $(OBJDIR)/vfile.o: $(OBJDIR)/vfile_.c $(OBJDIR)/vfile.h $(SRCDIR)/config.h $(XTCC) -o $(OBJDIR)/vfile.o -c $(OBJDIR)/vfile_.c $(OBJDIR)/vfile.h: $(OBJDIR)/headers $(OBJDIR)/warnpolicy_.c: $(SRCDIR)/warnpolicy.c $(OBJDIR)/translate $(OBJDIR)/translate $(SRCDIR)/warnpolicy.c >$@ $(OBJDIR)/warnpolicy.o: $(OBJDIR)/warnpolicy_.c $(OBJDIR)/warnpolicy.h $(SRCDIR)/config.h $(XTCC) -o $(OBJDIR)/warnpolicy.o -c $(OBJDIR)/warnpolicy_.c $(OBJDIR)/warnpolicy.h: $(OBJDIR)/headers $(OBJDIR)/wiki_.c: $(SRCDIR)/wiki.c $(OBJDIR)/translate $(OBJDIR)/translate $(SRCDIR)/wiki.c >$@ $(OBJDIR)/wiki.o: $(OBJDIR)/wiki_.c $(OBJDIR)/wiki.h $(SRCDIR)/config.h $(XTCC) -o $(OBJDIR)/wiki.o -c $(OBJDIR)/wiki_.c |
︙ | ︙ |
Changes to src/merge.c.
︙ | ︙ | |||
505 506 507 508 509 510 511 512 513 514 515 516 517 518 | fossil_fatal("not a version: record #%d", pid); } if( !forceFlag && mid==pid ){ fossil_print("Merge skipped because it is a no-op. " " Use --force to override.\n"); return; } if( integrateFlag && !is_a_leaf(mid)){ fossil_warning("ignoring --integrate: %s is not a leaf", g.argv[2]); integrateFlag = 0; } if( integrateFlag && content_is_private(mid) ){ fossil_warning( "ignoring --integrate: %s is on a private branch" | > > > > > > > > > > > > > | 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 | fossil_fatal("not a version: record #%d", pid); } if( !forceFlag && mid==pid ){ fossil_print("Merge skipped because it is a no-op. " " Use --force to override.\n"); return; } if( !forceFlag && issue_merge_warnings( info_tags_of_checkin(vid, 0), info_tags_of_checkin(mid, 0), content_is_private(mid) && !content_is_private(vid)) ){ Blob yn; char c; prompt_user("Continue anyway (y/N)? ", &yn); c = blob_str(&yn)[0]; blob_reset(&yn); if( c!='y' && c!='Y' ) return; } if( integrateFlag && !is_a_leaf(mid)){ fossil_warning("ignoring --integrate: %s is not a leaf", g.argv[2]); integrateFlag = 0; } if( integrateFlag && content_is_private(mid) ){ fossil_warning( "ignoring --integrate: %s is on a private branch" |
︙ | ︙ | |||
1045 1046 1047 1048 1049 1050 1051 | }else if( integrateFlag ){ vmerge_insert(-4, mid); }else{ vmerge_insert(0, mid); } if( !dryRunFlag ) undo_finish(); db_end_transaction(dryRunFlag); | | > > > > > > > | 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 | }else if( integrateFlag ){ vmerge_insert(-4, mid); }else{ vmerge_insert(0, mid); } if( !dryRunFlag ) undo_finish(); db_end_transaction(dryRunFlag); if( forceFlag==1 ){ issue_merge_warnings( info_tags_of_checkin(vid, 0), info_tags_of_checkin(mid, 0), content_is_private(mid) && !content_is_private(vid)); } } |
Changes to src/setup.c.
︙ | ︙ | |||
960 961 962 963 964 965 966 | db_open_local(0); } db_begin_transaction(); @ <p>Settings marked with (v) are "versionable" and will be overridden @ by the contents of managed files named @ "<tt>.fossil-settings/</tt><i>SETTING-NAME</i>". @ If the file for a versionable setting exists, the value cannot be | | > > > > > > > > > | 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 | db_open_local(0); } db_begin_transaction(); @ <p>Settings marked with (v) are "versionable" and will be overridden @ by the contents of managed files named @ "<tt>.fossil-settings/</tt><i>SETTING-NAME</i>". @ If the file for a versionable setting exists, the value cannot be @ changed on this screen.</p> @ <p>Settings marked with (p) are "propagating" and will be overridden @ if a remote sends an updated setting.</p> @ <hr><p> @ @ <form action="%R/setup_settings" method="post"><div> @ <table border="0"><tr><td valign="top"> login_insert_csrf_secret(); for(i=0, pSet=aSetting; i<nSetting; i++, pSet++){ if( pSet->width==0 ){ int hasVersionableValue = pSet->versionable && (db_get_versioned(pSet->name, NULL)!=0); onoff_attribute("", pSet->name, pSet->var!=0 ? pSet->var : pSet->name /*works-like:"x"*/, is_truth(pSet->def), hasVersionableValue); @ <a href='%R/help?cmd=%s(pSet->name)'>%h(pSet->name)</a> if( pSet->versionable ){ @ (v)<br> }else if( pSet->propagating ){ @ (p)<br> } else { @ <br> } } } @ <br><input type="submit" name="submit" value="Apply Changes"> @ </td><td style="width:50px;"></td><td valign="top"> @ <table> for(i=0, pSet=aSetting; i<nSetting; i++, pSet++){ if( pSet->width>0 && !pSet->forceTextArea ){ int hasVersionableValue = pSet->versionable && (db_get_versioned(pSet->name, NULL)!=0); @ <tr><td> @ <a href='%R/help?cmd=%s(pSet->name)'>%h(pSet->name)</a> if( pSet->versionable ){ @ (v) }else if( pSet->propagating ){ @ (p)<br> } else { @ } @</td><td> entry_attribute("", /*pSet->width*/ 25, pSet->name, pSet->var!=0 ? pSet->var : pSet->name /*works-like:"x"*/, (char*)pSet->def, hasVersionableValue); @</td></tr> } } @</table> @ </td><td style="width:50px;"></td><td valign="top"> for(i=0, pSet=aSetting; i<nSetting; i++, pSet++){ if( pSet->width>0 && pSet->forceTextArea ){ int hasVersionableValue = db_get_versioned(pSet->name, NULL)!=0; @ <a href='%R/help?cmd=%s(pSet->name)'>%s(pSet->name)</a> if( pSet->versionable ){ @ (v)<br> }else if( pSet->propagating ){ @ (p)<br> } else { @ <br> } textarea_attribute("", /*rows*/ 2, /*cols*/ 35, pSet->name, pSet->var!=0 ? pSet->var : pSet->name /*works-like:"x"*/, (char*)pSet->def, hasVersionableValue); @<br> |
︙ | ︙ |
Added src/warnpolicy.c.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 | /* ** Copyright (c) 2023 Preben Guldberg ** ** This program is free software; you can redistribute it and/or ** modify it under the terms of the Simplified BSD License (also ** known as the "2-Clause License" or "FreeBSD License".) ** This program is distributed in the hope that it will be useful, ** but without any warranty; without even the implied warranty of ** merchantability or fitness for a particular purpose. ** ** Author contact information: ** drh@hwaci.com ** http://www.hwaci.com/drh/ ** ******************************************************************************* ** ** This file contains code implementing a warning policy for different events. */ #include "config.h" #include "warnpolicy.h" /* ** SETTING: warning-policy width=40 block-text propagating default={} ** Policy for showing warnings under certain conditions. ** ** The policy is a JSON object where the following names are recognised: ** ** commit: Used when committing. A list of objects with names in ** (message, branch, except-branch, users, except-users). ** merge: Used when merging. A List of objects with names in ** (message, branch, except-branch, from, except-from, ** users, except-users, unpublished). ** match-style: If "regexp", patterns use REGEXP, otherwise GLOB. ** ** Meaning of names used in lists above: ** ** message: MESSAGE Required: Message to show. ** branch: PATTERN Apply branch match PATTERN (default any). ** except-branch: PATTERN Exclude when in a branch matching PATTERN. ** from: PATTERN Apply if merging from PATTERN (default any). ** except-from: PATTERN Exclude when merging from PATTERN. ** unpublished: true If true, only show when merging from a private ** branch into a public branch. ** users: LIST Show only for users in LIST (default any). ** except-users: LIST Users in LIST will not be shown the messages. ** ** Example: ** ** { ** "commit": [ ** { "message": "Release pending, proceed with caution.", ** "branch": "trunk", ** "except-users": [ "owner", "admin" ] } ** ], ** "merge": [ ** { "message": "Please use 'fossil publish' before merging private to public", ** "except-branch": "rebased-branch-*", ** "unpublished": true }, ** { "message": "Updates to release branches should be merged from rc.", ** "branch": "release-*", ** "except-from": "rc-*" } ** ] ** } */ /* ** Fetch the match-style for warning-policy. */ static const char *warning_policy_match_style(void){ int isRegexp = db_int(0, "SELECT 1" " FROM config" " WHERE name='warning-policy'" " AND json_error_position(value)=0" " AND value->>'match-style'='regexp'"); return isRegexp ? "REGEXP" : "GLOB"; } /* ** Common part of issuing warnings. */ static int print_policy_warnings(Blob *pSql){ Stmt q; int nWarnings = 0; db_prepare(&q, "%s)", blob_sql_text(pSql)); while( db_step(&q)==SQLITE_ROW ){ if( nWarnings==0 ) fossil_warning("Policy warnings:"); fossil_warning(" %s", db_column_text(&q, 0)); nWarnings++; } db_finalize(&q); return nWarnings; } /* ** Print commit specific warnings from the warning-policy. */ int issue_commit_warnings( const char *zBranch /* The branch we are committing to */ ){ Blob sql = empty_blob; const char *zMatch; int nWarnings = 0; assert(zBranch!=0); if( g.zLogin==0) user_select(); zMatch = warning_policy_match_style(); blob_append_sql(&sql, "WITH list AS (" " SELECT value AS elm" " FROM json_each((" " SELECT json_extract(value, '$.commit')" " FROM config" " WHERE name='warning-policy' AND json_error_position(value)=0)))" " SELECT elm->>'message' FROM list" " WHERE (" " (elm->>'branch' IS NULL" " OR %Q %S elm->>'branch')" " AND (elm->>'except-branch' IS NULL" " OR NOT %Q %S elm->>'except-branch')" " AND (elm->>'users' IS NULL" " OR %Q IN (SELECT value FROM json_each(elm->>'users')))" " AND NOT %Q IN (SELECT value FROM json_each(elm->>'except-users')" " )", zBranch, zMatch, zBranch, zMatch, g.zLogin, g.zLogin ); nWarnings = print_policy_warnings(&sql); blob_reset(&sql); return nWarnings; } /* ** Print merge specific warnings from the warning-policy. */ int issue_merge_warnings( const char *zBranch, /* The branch we are merging into */ const char *zFrom, /* The branch we are merging from */ int historyLoss /* Merging a private branch into a public branch */ ){ Blob sql = empty_blob; const char *zMatch; int nWarnings = 0; assert(zBranch!=0); assert(zFrom!=0); if( g.zLogin==0) user_select(); zMatch = warning_policy_match_style(); blob_append_sql(&sql, "WITH list AS (" " SELECT value AS elm" " FROM json_each((" " SELECT json_extract(value, '$.merge')" " FROM config" " WHERE name='warning-policy' AND json_error_position(value)=0)))" " SELECT elm->>'message' FROM list" " WHERE (" " (elm->>'branch' IS NULL" " OR %Q %S elm->>'branch')" " AND (elm->>'except-branch' IS NULL" " OR NOT %Q %S elm->>'except-branch')" " AND (elm->>'from' IS NULL" " OR %Q %S elm->>'from')" " AND (elm->>'except-from' IS NULL" " OR NOT %Q %S elm->>'except-from')" " AND (elm->>'users' IS NULL" " OR %Q IN (SELECT value FROM json_each(elm->>'users')))" " AND NOT %Q IN (SELECT value FROM json_each(elm->>'except-users'))", zBranch, zMatch, zBranch, zMatch, zFrom, zMatch, zFrom, zMatch, g.zLogin, g.zLogin ); if( !historyLoss ){ blob_append_sql(&sql, " AND (elm->>'unpublished' IS NULL" " OR NOT elm->>'unpublished')" ); } nWarnings = print_policy_warnings(&sql); blob_reset(&sql); return nWarnings; } /* ** COMMAND: test-warning-policy ** Usage: %fossil test-warning-policy EVENT ?OPTIONS? ** ** Test what messages would be shown for a specific scenario. ** Use the global -U|--user option to test for a specific user. ** ** Options: ** --json JSON ** ** Options for "commit" event: ** -b|--branch BRANCH Test commit to BRANCH. ** ** Options for "merge" event: ** -b|--branch BRANCH Test merge to BRANCH. ** -f|--from BRANCH Test merge from BRANCH. ** -u|--unpublished Test merging from a private to a public branch. */ void test_warning_policy_cmd(void){ const char *zEvent; const char *zJSON; if( g.argc<3 ) fossil_fatal("EVENT is required"); zEvent = g.argv[2]; db_must_be_within_tree(); zJSON = find_option("json", 0, 1); if( zJSON ){ db_begin_transaction(); db_set("warning-policy", zJSON, 0); } switch( db_int(-1, "SELECT json_error_position(value)=0 FROM config WHERE name='warning-policy'") ){ case -1: fossil_fatal("The warning-policy setting is not set"); case 0: fossil_fatal("The warning-policy setting is not valid JSON"); default: break; } if( fossil_strcmp(zEvent, "commit")==0 ){ const char *zBranch = find_option("branch", "b", 1); if( zBranch==0 ) fossil_fatal("%s: missing --branch option", zEvent); verify_all_options(); issue_commit_warnings(zBranch); }else if( fossil_strcmp(zEvent, "merge")==0 ){ const char *zBranch = find_option("branch", "b", 1); const char *zFrom = find_option("from", "f", 1); int historyLoss = find_option("unpublished", "u", 0)!=0; if( zBranch==0 ) fossil_fatal("%s: missing --branch option", zEvent); if( zFrom==0 ) fossil_fatal("%s: missing --from option", zEvent); verify_all_options(); issue_merge_warnings(zBranch, zFrom, historyLoss); }else{ fossil_fatal("Unknown POLICY: %s", g.argv[2]); } if( zJSON ) db_end_transaction(1); } |
Changes to src/xfer.c.
︙ | ︙ | |||
1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 | if( !g.perm.Read ){ cgi_reset_content(); @ error not\sauthorized\sto\sread nErr++; break; } isPull = 1; }else{ if( !g.perm.Write ){ if( !isPull ){ cgi_reset_content(); @ error not\sauthorized\sto\swrite nErr++; }else{ | > > | 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 | if( !g.perm.Read ){ cgi_reset_content(); @ error not\sauthorized\sto\sread nErr++; break; } isPull = 1; /* Client is pulling, so may be about to commit or merge. */ configure_send_warning_policy(xfer.pOut); }else{ if( !g.perm.Write ){ if( !isPull ){ cgi_reset_content(); @ error not\sauthorized\sto\swrite nErr++; }else{ |
︙ | ︙ | |||
2563 2564 2565 2566 2567 2568 2569 | if( blob_eq(&xfer.aToken[0],"config") && xfer.nToken==3 && blob_is_int(&xfer.aToken[2], &size) ){ const char *zName = blob_str(&xfer.aToken[1]); Blob content; blob_zero(&content); blob_extract(xfer.pIn, size, &content); g.perm.Admin = g.perm.RdAddr = 1; | | > | 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 | if( blob_eq(&xfer.aToken[0],"config") && xfer.nToken==3 && blob_is_int(&xfer.aToken[2], &size) ){ const char *zName = blob_str(&xfer.aToken[1]); Blob content; blob_zero(&content); blob_extract(xfer.pIn, size, &content); g.perm.Admin = g.perm.RdAddr = 1; configure_receive(zName, &content, origConfigRcvMask | CONFIGSET_PROPAGATE); nCardRcvd++; nArtifactRcvd++; blob_reset(&content); blob_seek(xfer.pIn, 1, BLOB_SEEK_CUR); }else |
︙ | ︙ |
Changes to tools/makemake.tcl.
︙ | ︙ | |||
185 186 187 188 189 190 191 192 193 194 195 196 197 198 | update url user utf8 util verify vfile wiki wikiformat winfile winhttp xfer xfersetup zip | > | 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 | update url user utf8 util verify vfile warnpolicy wiki wikiformat winfile winhttp xfer xfersetup zip |
︙ | ︙ |
Changes to tools/mkindex.c.
︙ | ︙ | |||
98 99 100 101 102 103 104 105 106 107 108 109 110 111 | #define CMDFLAG_BOOLEAN 0x0100 /* A boolean setting */ #define CMDFLAG_RAWCONTENT 0x0200 /* Do not interpret webpage content */ #define CMDFLAG_SENSITIVE 0x0400 /* Security-sensitive setting */ #define CMDFLAG_HIDDEN 0x0800 /* Elide from most listings */ #define CMDFLAG_LDAVG_EXEMPT 0x1000 /* Exempt from load_control() */ #define CMDFLAG_ALIAS 0x2000 /* Command aliases */ #define CMDFLAG_KEEPEMPTY 0x4000 /* Do not unset empty settings */ /**************************************************************************/ /* ** Each entry looks like this: */ typedef struct Entry { int eType; /* CMDFLAG_* values */ | > | 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | #define CMDFLAG_BOOLEAN 0x0100 /* A boolean setting */ #define CMDFLAG_RAWCONTENT 0x0200 /* Do not interpret webpage content */ #define CMDFLAG_SENSITIVE 0x0400 /* Security-sensitive setting */ #define CMDFLAG_HIDDEN 0x0800 /* Elide from most listings */ #define CMDFLAG_LDAVG_EXEMPT 0x1000 /* Exempt from load_control() */ #define CMDFLAG_ALIAS 0x2000 /* Command aliases */ #define CMDFLAG_KEEPEMPTY 0x4000 /* Do not unset empty settings */ #define CMDFLAG_PROPAGATES 0x8000 /* Propagates from server to client */ /**************************************************************************/ /* ** Each entry looks like this: */ typedef struct Entry { int eType; /* CMDFLAG_* values */ |
︙ | ︙ | |||
278 279 280 281 282 283 284 285 286 287 288 289 290 291 | aEntry[nUsed].zDflt = string_dup(&zLine[i+8], j-8); }else if( j>9 && strncmp(&zLine[i], "variable=", 9)==0 ){ aEntry[nUsed].zVar = string_dup(&zLine[i+9], j-9); }else if( j==6 && strncmp(&zLine[i], "hidden", 6)==0 ){ aEntry[nUsed].eType |= CMDFLAG_HIDDEN; }else if( j==14 && strncmp(&zLine[i], "loadavg-exempt", 14)==0 ){ aEntry[nUsed].eType |= CMDFLAG_LDAVG_EXEMPT; }else{ fprintf(stderr, "%s:%d: unknown option: '%.*s'\n", zFile, nLine, j, &zLine[i]); nErr++; } } | > > | 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 | aEntry[nUsed].zDflt = string_dup(&zLine[i+8], j-8); }else if( j>9 && strncmp(&zLine[i], "variable=", 9)==0 ){ aEntry[nUsed].zVar = string_dup(&zLine[i+9], j-9); }else if( j==6 && strncmp(&zLine[i], "hidden", 6)==0 ){ aEntry[nUsed].eType |= CMDFLAG_HIDDEN; }else if( j==14 && strncmp(&zLine[i], "loadavg-exempt", 14)==0 ){ aEntry[nUsed].eType |= CMDFLAG_LDAVG_EXEMPT; }else if( j==11 && strncmp(&zLine[i], "propagating", 11)==0 ){ aEntry[nUsed].eType |= CMDFLAG_PROPAGATES; }else{ fprintf(stderr, "%s:%d: unknown option: '%.*s'\n", zFile, nLine, j, &zLine[i]); nErr++; } } |
︙ | ︙ | |||
505 506 507 508 509 510 511 | } printf(" { \"%s\",%*s", z, (int)(20-strlen(z)), ""); if( zVar ){ printf(" \"%s\",%*s", zVar, (int)(15-strlen(zVar)), ""); }else{ printf(" 0,%*s", 16, ""); } | | > | 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 | } printf(" { \"%s\",%*s", z, (int)(20-strlen(z)), ""); if( zVar ){ printf(" \"%s\",%*s", zVar, (int)(15-strlen(zVar)), ""); }else{ printf(" 0,%*s", 16, ""); } printf(" %3d, %d, %d, %d, %d, \"%s\"%*s },\n", aEntry[i].iWidth, (aEntry[i].eType & CMDFLAG_VERSIONABLE)!=0, (aEntry[i].eType & CMDFLAG_PROPAGATES)!=0, (aEntry[i].eType & CMDFLAG_BLOCKTEXT)!=0, (aEntry[i].eType & CMDFLAG_SENSITIVE)!=0, zDef, (int)(10-strlen(zDef)), "" ); if( aEntry[i].zIf ){ printf("#endif\n"); } |
︙ | ︙ |
Changes to win/Makefile.dmc.
︙ | ︙ | |||
30 31 32 33 34 35 36 | 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_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DHAVE_USLEEP 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_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DHAVE_USLEEP -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 PIKCHR_OPTIONS = -DPIKCHR_TOKEN_LIMIT=10000 | | | | | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | 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_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DHAVE_USLEEP 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_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DHAVE_USLEEP -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 PIKCHR_OPTIONS = -DPIKCHR_TOKEN_LIMIT=10000 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 chat_.c checkin_.c checkout_.c clearsign_.c clone_.c color_.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 patch_.c path_.c piechart_.c pikchrshow_.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 warnpolicy_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c xfer_.c xfersetup_.c zip_.c 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)\chat$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\color$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)\patch$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pikchrshow$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)\warnpolicy$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 RC=$(DMDIR)\bin\rcc RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ APPNAME = $(OBJDIR)\fossil$(E) all: $(APPNAME) $(APPNAME) : translate$E mkindex$E codecheck1$E headers $(OBJ) $(OBJDIR)\link cd $(OBJDIR) codecheck1$E $(SRC) $(DMDIR)\bin\link @link $(OBJDIR)\fossil.res: $B\win\fossil.rc $(RC) $(RCFLAGS) -o$@ $** $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi chat checkin checkout clearsign clone color 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 patch path piechart pikchrshow 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 warnpolicy wiki wikiformat winfile winhttp xfer xfersetup zip shell sqlite3 th th_lang > $@ +echo fossil >> $@ +echo fossil >> $@ +echo $(LIBS) >> $@ +echo. >> $@ +echo fossil >> $@ translate$E: $(SRCDIR_tools)\translate.c |
︙ | ︙ | |||
963 964 965 966 967 968 969 970 971 972 973 974 975 976 | +translate$E $** > $@ $(OBJDIR)\vfile$O : vfile_.c vfile.h $(TCC) -o$@ -c vfile_.c vfile_.c : $(SRCDIR)\vfile.c +translate$E $** > $@ $(OBJDIR)\wiki$O : wiki_.c wiki.h $(TCC) -o$@ -c wiki_.c wiki_.c : $(SRCDIR)\wiki.c +translate$E $** > $@ | > > > > > > | 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 | +translate$E $** > $@ $(OBJDIR)\vfile$O : vfile_.c vfile.h $(TCC) -o$@ -c vfile_.c vfile_.c : $(SRCDIR)\vfile.c +translate$E $** > $@ $(OBJDIR)\warnpolicy$O : warnpolicy_.c warnpolicy.h $(TCC) -o$@ -c warnpolicy_.c warnpolicy_.c : $(SRCDIR)\warnpolicy.c +translate$E $** > $@ $(OBJDIR)\wiki$O : wiki_.c wiki.h $(TCC) -o$@ -c wiki_.c wiki_.c : $(SRCDIR)\wiki.c +translate$E $** > $@ |
︙ | ︙ | |||
1007 1008 1009 1010 1011 1012 1013 | $(OBJDIR)\zip$O : zip_.c zip.h $(TCC) -o$@ -c zip_.c zip_.c : $(SRCDIR)\zip.c +translate$E $** > $@ headers: makeheaders$E page_index.h builtin_data.h VERSION.h | | | 1013 1014 1015 1016 1017 1018 1019 1020 1021 | $(OBJDIR)\zip$O : zip_.c zip.h $(TCC) -o$@ -c zip_.c zip_.c : $(SRCDIR)\zip.c +translate$E $** > $@ headers: makeheaders$E page_index.h builtin_data.h VERSION.h +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 chat_.c:chat.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h color_.c:color.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 patch_.c:patch.h path_.c:path.h piechart_.c:piechart.h pikchrshow_.c:pikchrshow.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 warnpolicy_.c:warnpolicy.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_extsrc)\pikchr.c:pikchr.h $(SRCDIR_extsrc)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR_extsrc)\cson_amalgamation.h @copy /Y nul: headers |
Changes to win/Makefile.mingw.
︙ | ︙ | |||
538 539 540 541 542 543 544 545 546 547 548 549 550 551 | $(SRCDIR)/update.c \ $(SRCDIR)/url.c \ $(SRCDIR)/user.c \ $(SRCDIR)/utf8.c \ $(SRCDIR)/util.c \ $(SRCDIR)/verify.c \ $(SRCDIR)/vfile.c \ $(SRCDIR)/wiki.c \ $(SRCDIR)/wikiformat.c \ $(SRCDIR)/winfile.c \ $(SRCDIR)/winhttp.c \ $(SRCDIR)/xfer.c \ $(SRCDIR)/xfersetup.c \ $(SRCDIR)/zip.c | > | 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 | $(SRCDIR)/update.c \ $(SRCDIR)/url.c \ $(SRCDIR)/user.c \ $(SRCDIR)/utf8.c \ $(SRCDIR)/util.c \ $(SRCDIR)/verify.c \ $(SRCDIR)/vfile.c \ $(SRCDIR)/warnpolicy.c \ $(SRCDIR)/wiki.c \ $(SRCDIR)/wikiformat.c \ $(SRCDIR)/winfile.c \ $(SRCDIR)/winhttp.c \ $(SRCDIR)/xfer.c \ $(SRCDIR)/xfersetup.c \ $(SRCDIR)/zip.c |
︙ | ︙ | |||
797 798 799 800 801 802 803 804 805 806 807 808 809 810 | $(OBJDIR)/update_.c \ $(OBJDIR)/url_.c \ $(OBJDIR)/user_.c \ $(OBJDIR)/utf8_.c \ $(OBJDIR)/util_.c \ $(OBJDIR)/verify_.c \ $(OBJDIR)/vfile_.c \ $(OBJDIR)/wiki_.c \ $(OBJDIR)/wikiformat_.c \ $(OBJDIR)/winfile_.c \ $(OBJDIR)/winhttp_.c \ $(OBJDIR)/xfer_.c \ $(OBJDIR)/xfersetup_.c \ $(OBJDIR)/zip_.c | > | 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 | $(OBJDIR)/update_.c \ $(OBJDIR)/url_.c \ $(OBJDIR)/user_.c \ $(OBJDIR)/utf8_.c \ $(OBJDIR)/util_.c \ $(OBJDIR)/verify_.c \ $(OBJDIR)/vfile_.c \ $(OBJDIR)/warnpolicy_.c \ $(OBJDIR)/wiki_.c \ $(OBJDIR)/wikiformat_.c \ $(OBJDIR)/winfile_.c \ $(OBJDIR)/winhttp_.c \ $(OBJDIR)/xfer_.c \ $(OBJDIR)/xfersetup_.c \ $(OBJDIR)/zip_.c |
︙ | ︙ | |||
946 947 948 949 950 951 952 953 954 955 956 957 958 959 | $(OBJDIR)/update.o \ $(OBJDIR)/url.o \ $(OBJDIR)/user.o \ $(OBJDIR)/utf8.o \ $(OBJDIR)/util.o \ $(OBJDIR)/verify.o \ $(OBJDIR)/vfile.o \ $(OBJDIR)/wiki.o \ $(OBJDIR)/wikiformat.o \ $(OBJDIR)/winfile.o \ $(OBJDIR)/winhttp.o \ $(OBJDIR)/xfer.o \ $(OBJDIR)/xfersetup.o \ $(OBJDIR)/zip.o | > | 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 | $(OBJDIR)/update.o \ $(OBJDIR)/url.o \ $(OBJDIR)/user.o \ $(OBJDIR)/utf8.o \ $(OBJDIR)/util.o \ $(OBJDIR)/verify.o \ $(OBJDIR)/vfile.o \ $(OBJDIR)/warnpolicy.o \ $(OBJDIR)/wiki.o \ $(OBJDIR)/wikiformat.o \ $(OBJDIR)/winfile.o \ $(OBJDIR)/winhttp.o \ $(OBJDIR)/xfer.o \ $(OBJDIR)/xfersetup.o \ $(OBJDIR)/zip.o |
︙ | ︙ | |||
1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 | $(OBJDIR)/update_.c:$(OBJDIR)/update.h \ $(OBJDIR)/url_.c:$(OBJDIR)/url.h \ $(OBJDIR)/user_.c:$(OBJDIR)/user.h \ $(OBJDIR)/utf8_.c:$(OBJDIR)/utf8.h \ $(OBJDIR)/util_.c:$(OBJDIR)/util.h \ $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h \ $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h \ $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h \ $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \ $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \ $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \ $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \ $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \ $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \ | > | 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 | $(OBJDIR)/update_.c:$(OBJDIR)/update.h \ $(OBJDIR)/url_.c:$(OBJDIR)/url.h \ $(OBJDIR)/user_.c:$(OBJDIR)/user.h \ $(OBJDIR)/utf8_.c:$(OBJDIR)/utf8.h \ $(OBJDIR)/util_.c:$(OBJDIR)/util.h \ $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h \ $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h \ $(OBJDIR)/warnpolicy_.c:$(OBJDIR)/warnpolicy.h \ $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h \ $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h \ $(OBJDIR)/winfile_.c:$(OBJDIR)/winfile.h \ $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h \ $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h \ $(OBJDIR)/xfersetup_.c:$(OBJDIR)/xfersetup.h \ $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h \ |
︙ | ︙ | |||
2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 | $(OBJDIR)/vfile_.c: $(SRCDIR)/vfile.c $(TRANSLATE) $(TRANSLATE) $(SRCDIR)/vfile.c >$@ $(OBJDIR)/vfile.o: $(OBJDIR)/vfile_.c $(OBJDIR)/vfile.h $(SRCDIR)/config.h $(XTCC) -o $(OBJDIR)/vfile.o -c $(OBJDIR)/vfile_.c $(OBJDIR)/vfile.h: $(OBJDIR)/headers $(OBJDIR)/wiki_.c: $(SRCDIR)/wiki.c $(TRANSLATE) $(TRANSLATE) $(SRCDIR)/wiki.c >$@ $(OBJDIR)/wiki.o: $(OBJDIR)/wiki_.c $(OBJDIR)/wiki.h $(SRCDIR)/config.h $(XTCC) -o $(OBJDIR)/wiki.o -c $(OBJDIR)/wiki_.c | > > > > > > > > | 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 | $(OBJDIR)/vfile_.c: $(SRCDIR)/vfile.c $(TRANSLATE) $(TRANSLATE) $(SRCDIR)/vfile.c >$@ $(OBJDIR)/vfile.o: $(OBJDIR)/vfile_.c $(OBJDIR)/vfile.h $(SRCDIR)/config.h $(XTCC) -o $(OBJDIR)/vfile.o -c $(OBJDIR)/vfile_.c $(OBJDIR)/vfile.h: $(OBJDIR)/headers $(OBJDIR)/warnpolicy_.c: $(SRCDIR)/warnpolicy.c $(TRANSLATE) $(TRANSLATE) $(SRCDIR)/warnpolicy.c >$@ $(OBJDIR)/warnpolicy.o: $(OBJDIR)/warnpolicy_.c $(OBJDIR)/warnpolicy.h $(SRCDIR)/config.h $(XTCC) -o $(OBJDIR)/warnpolicy.o -c $(OBJDIR)/warnpolicy_.c $(OBJDIR)/warnpolicy.h: $(OBJDIR)/headers $(OBJDIR)/wiki_.c: $(SRCDIR)/wiki.c $(TRANSLATE) $(TRANSLATE) $(SRCDIR)/wiki.c >$@ $(OBJDIR)/wiki.o: $(OBJDIR)/wiki_.c $(OBJDIR)/wiki.h $(SRCDIR)/config.h $(XTCC) -o $(OBJDIR)/wiki.o -c $(OBJDIR)/wiki_.c |
︙ | ︙ |
Changes to win/Makefile.msc.
︙ | ︙ | |||
496 497 498 499 500 501 502 503 504 505 506 507 508 509 | "$(OX)\update_.c" \ "$(OX)\url_.c" \ "$(OX)\user_.c" \ "$(OX)\utf8_.c" \ "$(OX)\util_.c" \ "$(OX)\verify_.c" \ "$(OX)\vfile_.c" \ "$(OX)\wiki_.c" \ "$(OX)\wikiformat_.c" \ "$(OX)\winfile_.c" \ "$(OX)\winhttp_.c" \ "$(OX)\xfer_.c" \ "$(OX)\xfersetup_.c" \ "$(OX)\zip_.c" \ | > | 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 | "$(OX)\update_.c" \ "$(OX)\url_.c" \ "$(OX)\user_.c" \ "$(OX)\utf8_.c" \ "$(OX)\util_.c" \ "$(OX)\verify_.c" \ "$(OX)\vfile_.c" \ "$(OX)\warnpolicy_.c" \ "$(OX)\wiki_.c" \ "$(OX)\wikiformat_.c" \ "$(OX)\winfile_.c" \ "$(OX)\winhttp_.c" \ "$(OX)\xfer_.c" \ "$(OX)\xfersetup_.c" \ "$(OX)\zip_.c" \ |
︙ | ︙ | |||
761 762 763 764 765 766 767 768 769 770 771 772 773 774 | "$(OX)\update$O" \ "$(OX)\url$O" \ "$(OX)\user$O" \ "$(OX)\utf8$O" \ "$(OX)\util$O" \ "$(OX)\verify$O" \ "$(OX)\vfile$O" \ "$(OX)\wiki$O" \ "$(OX)\wikiformat$O" \ "$(OX)\winfile$O" \ "$(OX)\winhttp$O" \ "$(OX)\xfer$O" \ "$(OX)\xfersetup$O" \ "$(OX)\zip$O" \ | > | 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 | "$(OX)\update$O" \ "$(OX)\url$O" \ "$(OX)\user$O" \ "$(OX)\utf8$O" \ "$(OX)\util$O" \ "$(OX)\verify$O" \ "$(OX)\vfile$O" \ "$(OX)\warnpolicy$O" \ "$(OX)\wiki$O" \ "$(OX)\wikiformat$O" \ "$(OX)\winfile$O" \ "$(OX)\winhttp$O" \ "$(OX)\xfer$O" \ "$(OX)\xfersetup$O" \ "$(OX)\zip$O" \ |
︙ | ︙ | |||
1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 | echo "$(OX)\update.obj" >> $@ echo "$(OX)\url.obj" >> $@ echo "$(OX)\user.obj" >> $@ echo "$(OX)\utf8.obj" >> $@ echo "$(OX)\util.obj" >> $@ echo "$(OX)\verify.obj" >> $@ echo "$(OX)\vfile.obj" >> $@ echo "$(OX)\wiki.obj" >> $@ echo "$(OX)\wikiformat.obj" >> $@ echo "$(OX)\winfile.obj" >> $@ echo "$(OX)\winhttp.obj" >> $@ echo "$(OX)\xfer.obj" >> $@ echo "$(OX)\xfersetup.obj" >> $@ echo "$(OX)\zip.obj" >> $@ | > | 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 | echo "$(OX)\update.obj" >> $@ echo "$(OX)\url.obj" >> $@ echo "$(OX)\user.obj" >> $@ echo "$(OX)\utf8.obj" >> $@ echo "$(OX)\util.obj" >> $@ echo "$(OX)\verify.obj" >> $@ echo "$(OX)\vfile.obj" >> $@ echo "$(OX)\warnpolicy.obj" >> $@ echo "$(OX)\wiki.obj" >> $@ echo "$(OX)\wikiformat.obj" >> $@ echo "$(OX)\winfile.obj" >> $@ echo "$(OX)\winhttp.obj" >> $@ echo "$(OX)\xfer.obj" >> $@ echo "$(OX)\xfersetup.obj" >> $@ echo "$(OX)\zip.obj" >> $@ |
︙ | ︙ | |||
2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 | "$(OBJDIR)\translate$E" $** > $@ "$(OX)\vfile$O" : "$(OX)\vfile_.c" "$(OX)\vfile.h" $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\vfile_.c" "$(OX)\vfile_.c" : "$(SRCDIR)\vfile.c" "$(OBJDIR)\translate$E" $** > $@ "$(OX)\wiki$O" : "$(OX)\wiki_.c" "$(OX)\wiki.h" $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\wiki_.c" "$(OX)\wiki_.c" : "$(SRCDIR)\wiki.c" "$(OBJDIR)\translate$E" $** > $@ | > > > > > > | 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 | "$(OBJDIR)\translate$E" $** > $@ "$(OX)\vfile$O" : "$(OX)\vfile_.c" "$(OX)\vfile.h" $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\vfile_.c" "$(OX)\vfile_.c" : "$(SRCDIR)\vfile.c" "$(OBJDIR)\translate$E" $** > $@ "$(OX)\warnpolicy$O" : "$(OX)\warnpolicy_.c" "$(OX)\warnpolicy.h" $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\warnpolicy_.c" "$(OX)\warnpolicy_.c" : "$(SRCDIR)\warnpolicy.c" "$(OBJDIR)\translate$E" $** > $@ "$(OX)\wiki$O" : "$(OX)\wiki_.c" "$(OX)\wiki.h" $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\wiki_.c" "$(OX)\wiki_.c" : "$(SRCDIR)\wiki.c" "$(OBJDIR)\translate$E" $** > $@ |
︙ | ︙ | |||
2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 | "$(OX)\update_.c":"$(OX)\update.h" \ "$(OX)\url_.c":"$(OX)\url.h" \ "$(OX)\user_.c":"$(OX)\user.h" \ "$(OX)\utf8_.c":"$(OX)\utf8.h" \ "$(OX)\util_.c":"$(OX)\util.h" \ "$(OX)\verify_.c":"$(OX)\verify.h" \ "$(OX)\vfile_.c":"$(OX)\vfile.h" \ "$(OX)\wiki_.c":"$(OX)\wiki.h" \ "$(OX)\wikiformat_.c":"$(OX)\wikiformat.h" \ "$(OX)\winfile_.c":"$(OX)\winfile.h" \ "$(OX)\winhttp_.c":"$(OX)\winhttp.h" \ "$(OX)\xfer_.c":"$(OX)\xfer.h" \ "$(OX)\xfersetup_.c":"$(OX)\xfersetup.h" \ "$(OX)\zip_.c":"$(OX)\zip.h" \ "$(SRCDIR_extsrc)\pikchr.c":"$(OX)\pikchr.h" \ "$(SRCDIR_extsrc)\sqlite3.h" \ "$(SRCDIR)\th.h" \ "$(OX)\VERSION.h" \ "$(SRCDIR_extsrc)\cson_amalgamation.h" @copy /Y nul: $@ | > | 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 | "$(OX)\update_.c":"$(OX)\update.h" \ "$(OX)\url_.c":"$(OX)\url.h" \ "$(OX)\user_.c":"$(OX)\user.h" \ "$(OX)\utf8_.c":"$(OX)\utf8.h" \ "$(OX)\util_.c":"$(OX)\util.h" \ "$(OX)\verify_.c":"$(OX)\verify.h" \ "$(OX)\vfile_.c":"$(OX)\vfile.h" \ "$(OX)\warnpolicy_.c":"$(OX)\warnpolicy.h" \ "$(OX)\wiki_.c":"$(OX)\wiki.h" \ "$(OX)\wikiformat_.c":"$(OX)\wikiformat.h" \ "$(OX)\winfile_.c":"$(OX)\winfile.h" \ "$(OX)\winhttp_.c":"$(OX)\winhttp.h" \ "$(OX)\xfer_.c":"$(OX)\xfer.h" \ "$(OX)\xfersetup_.c":"$(OX)\xfersetup.h" \ "$(OX)\zip_.c":"$(OX)\zip.h" \ "$(SRCDIR_extsrc)\pikchr.c":"$(OX)\pikchr.h" \ "$(SRCDIR_extsrc)\sqlite3.h" \ "$(SRCDIR)\th.h" \ "$(OX)\VERSION.h" \ "$(SRCDIR_extsrc)\cson_amalgamation.h" @copy /Y nul: $@ |