Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Consistently use a dash in '--no' options, preserving the no-dash variant for compatibility where it exists. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | no-x-dash-options |
| Files: | files | file ages | folders |
| SHA3-256: |
d03ed299d2a23feb9b370611e93f4e88 |
| User & Date: | danield 2024-07-20 11:43:40.148 |
Context
|
2024-07-20
| ||
| 11:43 | Consistently use a dash in '--no' options, preserving the no-dash variant for compatibility where it exists. Leaf check-in: d03ed299d2 user: danield tags: no-x-dash-options | |
| 10:34 | Revise a query associated with /tree so that it runs a little faster. check-in: 0e2930f8e5 user: drh tags: trunk | |
Changes
Changes to src/backoffice.c.
| ︙ | ︙ | |||
697 698 699 700 701 702 703 | ** Recommended polling interval: 60 seconds. ** ** --trace Enable debugging output on stderr ** ** Options intended for internal use only which may change or be ** discontinued in future releases: ** | | | | > | > | | 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 729 730 731 732 733 734 735 736 737 |
** Recommended polling interval: 60 seconds.
**
** --trace Enable debugging output on stderr
**
** Options intended for internal use only which may change or be
** discontinued in future releases:
**
** --no-delay Do not queue up or wait for a backoffice job
** to complete. If no work is available or if
** backoffice has run recently, return immediately.
**
** --no-lease Always run backoffice, even if there is a lease
** conflict. This option implies --no-delay. This
** option is added to secondary backoffice commands
** that are invoked by the --poll option.
*/
void backoffice_command(void){
int nPoll;
int nMin;
const char *zPoll;
int bDebug = 0;
int bNoLease = 0;
unsigned int nCmd = 0;
if( find_option("trace",0,0)!=0 ) g.fAnyTrace = 1;
if( find_option("no-delay",0,0)!=0 || find_option("nodelay",0,0)!=0 ){
backofficeNoDelay = 1;
}
backofficeLogfile = find_option("logfile",0,1);
zPoll = find_option("poll",0,1);
nPoll = zPoll ? atoi(zPoll) : 0;
zPoll = find_option("min",0,1);
nMin = zPoll ? atoi(zPoll) : 3600;
bDebug = find_option("debug",0,0)!=0;
bNoLease = find_option("no-lease",0,0)!=0 || find_option("nolease",0,0)!=0;
/* Silently consume the -R or --repository flag, leaving behind its
** argument. This is for legacy compatibility. Older versions of the
** backoffice command only ran on a single repository that was specified
** using the -R option. */
(void)find_option("repository","R",0);
|
| ︙ | ︙ | |||
754 755 756 757 758 759 760 |
&& iNow>file_mtime(g.argv[i], ExtFILE)
&& (nMin<=0 || aLastRun[i]+nMin>iNow)
){
continue; /* Not yet time to run this one */
}
blob_init(&cmd, 0, 0);
blob_append_escaped_arg(&cmd, g.nameOfExe, 1);
| | | | 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 |
&& iNow>file_mtime(g.argv[i], ExtFILE)
&& (nMin<=0 || aLastRun[i]+nMin>iNow)
){
continue; /* Not yet time to run this one */
}
blob_init(&cmd, 0, 0);
blob_append_escaped_arg(&cmd, g.nameOfExe, 1);
blob_append(&cmd, " backoffice --no-delay", -1);
if( g.fAnyTrace ){
blob_append(&cmd, " --trace", -1);
}
if( bDebug ){
blob_append(&cmd, " --debug", -1);
}
if( nPoll>0 ){
blob_append(&cmd, " --no-lease", -1);
}
if( backofficeLogfile ){
blob_append(&cmd, " --logfile", -1);
blob_append_escaped_arg(&cmd, backofficeLogfile, 1);
}
blob_append_escaped_arg(&cmd, g.argv[i], 1);
nCmd++;
|
| ︙ | ︙ |
Changes to src/branch.c.
| ︙ | ︙ | |||
80 81 82 83 84 85 86 | Blob branch; /* manifest for the new branch */ Manifest *pParent; /* Parsed parent manifest */ Blob mcksum; /* Self-checksum on the manifest */ const char *zDateOvrd; /* Override date string */ const char *zUserOvrd; /* Override user name */ int isPrivate = 0; /* True if the branch should be private */ | | | | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
Blob branch; /* manifest for the new branch */
Manifest *pParent; /* Parsed parent manifest */
Blob mcksum; /* Self-checksum on the manifest */
const char *zDateOvrd; /* Override date string */
const char *zUserOvrd; /* Override user name */
int isPrivate = 0; /* True if the branch should be private */
noSign = find_option("no-sign","",0)!=0 || find_option("nosign","",0)!=0;
if( find_option("no-sync",0,0) || find_option("nosync",0,0) ) g.fNoSync = 1;
zColor = find_option("bgcolor","c",1);
isPrivate = find_option("private",0,0)!=0;
zDateOvrd = find_option("date-override",0,1);
zUserOvrd = find_option("user-override",0,1);
verify_all_options();
if( g.argc<5 ){
usage("new BRANCH-NAME BASIS ?OPTIONS?");
|
| ︙ | ︙ | |||
658 659 660 661 662 663 664 | ** > fossil branch new BRANCH-NAME BASIS ?OPTIONS? ** ** Create a new branch BRANCH-NAME off of check-in BASIS. ** ** Options: ** --private Branch is private (i.e., remains local) ** --bgcolor COLOR Use COLOR instead of automatic background | | | | 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 | ** > fossil branch new BRANCH-NAME BASIS ?OPTIONS? ** ** Create a new branch BRANCH-NAME off of check-in BASIS. ** ** Options: ** --private Branch is private (i.e., remains local) ** --bgcolor COLOR Use COLOR instead of automatic background ** --no-sign Do not sign contents on this branch ** --no-sync Do not auto-sync prior to creating the branch ** --date-override DATE DATE to use instead of 'now' ** --user-override USER USER to use instead of the current default ** ** DATE may be "now" or "YYYY-MM-DDTHH:MM:SS.SSS". If in ** year-month-day form, it may be truncated, the "T" may be ** replaced by a space, and it may also name a timezone offset ** from UTC as "-HH:MM" (westward) or "+HH:MM" (eastward). |
| ︙ | ︙ |
Changes to src/checkin.c.
| ︙ | ︙ | |||
2329 2330 2331 2332 2333 2334 2335 | ** -n|--dry-run If given, display instead of run actions ** -v|--verbose Show a diff in the commit message prompt ** --no-prompt This option disables prompting the user for ** input and assumes an answer of 'No' for every ** question. ** --no-warnings Omit all warnings about file contents ** --no-verify Do not run before-commit hooks | | | | 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 | ** -n|--dry-run If given, display instead of run actions ** -v|--verbose Show a diff in the commit message prompt ** --no-prompt This option disables prompting the user for ** input and assumes an answer of 'No' for every ** question. ** --no-warnings Omit all warnings about file contents ** --no-verify Do not run before-commit hooks ** --no-sign Do not attempt to sign this commit with gpg ** --no-sync Do not auto-sync prior to committing ** --override-lock Allow a check-in even though parent is locked ** --private Do not sync changes and their descendants ** --tag TAG-NAME Assign given tag TAG-NAME to the check-in ** --trace Debug tracing ** --user-override USER USER to use instead of the current default ** ** DATETIME may be "now" or "YYYY-MM-DDTHH:MM:SS.SSS". If in |
| ︙ | ︙ | |||
2398 2399 2400 2401 2402 2403 2404 |
int bIgnoreSkew = 0; /* --ignore-clock-skew flag */
int mxSize;
memset(&sCiInfo, 0, sizeof(sCiInfo));
url_proxy_options();
/* --sha1sum is an undocumented alias for --hash for backwards compatiblity */
useHash = find_option("hash",0,0)!=0 || find_option("sha1sum",0,0)!=0;
| | | | 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 |
int bIgnoreSkew = 0; /* --ignore-clock-skew flag */
int mxSize;
memset(&sCiInfo, 0, sizeof(sCiInfo));
url_proxy_options();
/* --sha1sum is an undocumented alias for --hash for backwards compatiblity */
useHash = find_option("hash",0,0)!=0 || find_option("sha1sum",0,0)!=0;
noSign = find_option("no-sign",0,0)!=0 || find_option("nosign",0,0)!=0;
if( find_option("no-sync",0,0) || find_option("nosync",0,0) ) g.fNoSync = 1;
privateFlag = find_option("private",0,0)!=0;
forceDelta = find_option("delta",0,0)!=0;
forceBaseline = find_option("baseline",0,0)!=0;
db_must_be_within_tree();
if( db_get_boolean("dont-commit",0) ){
fossil_fatal("committing is prohibited: the 'dont-commit' option is set");
}
|
| ︙ | ︙ |
Changes to src/clone.c.
| ︙ | ︙ | |||
123 124 125 126 127 128 129 | ** the -A|--admin-user parameter. ** ** Options: ** -A|--admin-user USERNAME Make USERNAME the administrator ** -B|--httpauth USER:PASS Add HTTP Basic Authorization to requests ** --nested Allow opening a repository inside an opened ** check-out | | | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | ** the -A|--admin-user parameter. ** ** Options: ** -A|--admin-user USERNAME Make USERNAME the administrator ** -B|--httpauth USER:PASS Add HTTP Basic Authorization to requests ** --nested Allow opening a repository inside an opened ** check-out ** --no-compress Omit extra delta compression ** --no-open Clone only. Do not open a check-out. ** --once Don't remember the URI. ** --private Also clone private branches ** --save-http-password Remember the HTTP password without asking ** -c|--ssh-command SSH Use SSH as the "ssh" command ** --ssl-identity FILENAME Use the SSL identity if requested by the server ** --transport-command CMD Use CMD to move messages to the server and back |
| ︙ | ︙ | |||
145 146 147 148 149 150 151 |
void clone_cmd(void){
char *zPassword;
const char *zDefaultUser; /* Optional name of the default user */
const char *zHttpAuth; /* HTTP Authorization user:pass information */
int nErr = 0;
int urlFlags = URL_PROMPT_PW | URL_REMEMBER;
int syncFlags = SYNC_CLONE;
| | > | 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
void clone_cmd(void){
char *zPassword;
const char *zDefaultUser; /* Optional name of the default user */
const char *zHttpAuth; /* HTTP Authorization user:pass information */
int nErr = 0;
int urlFlags = URL_PROMPT_PW | URL_REMEMBER;
int syncFlags = SYNC_CLONE;
int noCompress = find_option("no-compress",0,0)!=0
|| find_option("nocompress",0,0)!=0;
int noOpen = find_option("no-open",0,0)!=0;
int allowNested = find_option("nested",0,0)!=0; /* Used by open */
const char *zRepo = 0; /* Name of the new local repository file */
const char *zWorkDir = 0; /* Open in this directory, if not zero */
/* Also clone private branches */
|
| ︙ | ︙ | |||
323 324 325 326 327 328 329 |
Blob cmd;
fossil_print("opening the new %s repository in directory %s...\n",
zRepo, zWorkDir);
blob_init(&cmd, 0, 0);
blob_append_escaped_arg(&cmd, g.nameOfExe, 1);
blob_append(&cmd, " open ", -1);
blob_append_escaped_arg(&cmd, zRepo, 1);
| | | 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 |
Blob cmd;
fossil_print("opening the new %s repository in directory %s...\n",
zRepo, zWorkDir);
blob_init(&cmd, 0, 0);
blob_append_escaped_arg(&cmd, g.nameOfExe, 1);
blob_append(&cmd, " open ", -1);
blob_append_escaped_arg(&cmd, zRepo, 1);
blob_append(&cmd, " --no-sync --workdir ", -1);
blob_append_escaped_arg(&cmd, zWorkDir, 1);
if( allowNested ){
blob_append(&cmd, " --nested", -1);
}
fossil_system(blob_str(&cmd));
blob_reset(&cmd);
}
|
| ︙ | ︙ |
Changes to src/db.c.
| ︙ | ︙ | |||
4102 4103 4104 4105 4106 4107 4108 | ** with the local repository. If you commit this check-out, ** it will become a new "initial" commit in the repository. ** -f|--force Continue with the open even if the working directory is ** not empty, or if auto-sync fails. ** --force-missing Force opening a repository with missing content ** -k|--keep Only modify the manifest file(s) ** --nested Allow opening a repository inside an opened check-out | | | 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 | ** with the local repository. If you commit this check-out, ** it will become a new "initial" commit in the repository. ** -f|--force Continue with the open even if the working directory is ** not empty, or if auto-sync fails. ** --force-missing Force opening a repository with missing content ** -k|--keep Only modify the manifest file(s) ** --nested Allow opening a repository inside an opened check-out ** --no-sync Do not auto-sync the repository prior to opening even ** if the autosync setting is on. ** --repodir DIR If REPOSITORY is a URI that will be cloned, store ** the clone in DIR rather than in "." ** --setmtime Set timestamps of all files to match their SCM-side ** times (the timestamp of the last check-in which modified ** them). ** --verbose If passed a URI then this flag is passed on to the clone |
| ︙ | ︙ | |||
4141 4142 4143 4144 4145 4146 4147 |
keepFlag = find_option("keep","k",0)!=0;
forceMissingFlag = find_option("force-missing",0,0)!=0;
allowNested = find_option("nested",0,0)!=0;
setmtimeFlag = find_option("setmtime",0,0)!=0;
zWorkDir = find_option("workdir",0,1);
zRepoDir = find_option("repodir",0,1);
bForce = find_option("force","f",0)!=0;
| | | 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 |
keepFlag = find_option("keep","k",0)!=0;
forceMissingFlag = find_option("force-missing",0,0)!=0;
allowNested = find_option("nested",0,0)!=0;
setmtimeFlag = find_option("setmtime",0,0)!=0;
zWorkDir = find_option("workdir",0,1);
zRepoDir = find_option("repodir",0,1);
bForce = find_option("force","f",0)!=0;
if( find_option("no-sync",0,0) || find_option("nosync",0,0) ) g.fNoSync = 1;
bVerbose = find_option("verbose",0,0)!=0;
zPwd = file_getcwd(0,0);
/* We should be done with options.. */
verify_all_options();
if( g.argc!=3 && g.argc!=4 ){
|
| ︙ | ︙ |
Changes to src/diff.c.
| ︙ | ︙ | |||
3103 3104 3105 3106 3107 3108 3109 | ** "diffFlags" integer. ** ** --brief Show filenames only DIFF_BRIEF ** -c|--context N N lines of context. nContext ** --html Format for HTML DIFF_HTML ** --invert Invert the diff DIFF_INVERT ** -n|--linenum Show line numbers DIFF_LINENO | | | 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 | ** "diffFlags" integer. ** ** --brief Show filenames only DIFF_BRIEF ** -c|--context N N lines of context. nContext ** --html Format for HTML DIFF_HTML ** --invert Invert the diff DIFF_INVERT ** -n|--linenum Show line numbers DIFF_LINENO ** --no-opt Disable optimization DIFF_NOOPT ** --numstat Show change counts DIFF_NUMSTAT ** --strip-trailing-cr Strip trailing CR DIFF_STRIP_EOLCR ** --unified Unified diff. ~DIFF_SIDEBYSIDE ** -w|--ignore-all-space Ignore all whitespaces DIFF_IGNORE_ALLWS ** -W|--width N N character lines. wColumn ** -y|--side-by-side Side-by-side diff. DIFF_SIDEBYSIDE ** -Z|--ignore-trailing-space Ignore eol-whitespaces DIFF_IGNORE_EOLWS |
| ︙ | ︙ | |||
3168 3169 3170 3171 3172 3173 3174 |
diffFlags |= DIFF_CONTEXT_EX;
}
}
if( (z = find_option("width","W",1))!=0 && (f = atoi(z))>0 ){
pCfg->wColumn = f;
}
if( find_option("linenum","n",0)!=0 ) diffFlags |= DIFF_LINENO;
| > | > | 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 |
diffFlags |= DIFF_CONTEXT_EX;
}
}
if( (z = find_option("width","W",1))!=0 && (f = atoi(z))>0 ){
pCfg->wColumn = f;
}
if( find_option("linenum","n",0)!=0 ) diffFlags |= DIFF_LINENO;
if( find_option("no-opt",0,0)!=0 || find_option("noopt",0,0)!=0 ){
diffFlags |= DIFF_NOOPT;
}
if( find_option("numstat",0,0)!=0 ) diffFlags |= DIFF_NUMSTAT;
if( find_option("versions","h",0)!=0 ) diffFlags |= DIFF_SHOW_VERS;
if( find_option("dark",0,0)!=0 ) diffFlags |= DIFF_DARKMODE;
if( find_option("invert",0,0)!=0 ) diffFlags |= DIFF_INVERT;
if( find_option("brief",0,0)!=0 ) diffFlags |= DIFF_BRIEF;
if( find_option("internal","i",0)==0
&& (diffFlags & (DIFF_HTML|DIFF_TCL|DIFF_DEBUG|DIFF_JSON))==0
|
| ︙ | ︙ |
Changes to src/dispatch.c.
| ︙ | ︙ | |||
1129 1130 1131 1132 1133 1134 1135 | @ --chdir PATH Change to PATH before performing any operations @ --comfmtflags VALUE Set comment formatting flags to VALUE @ --comment-format VALUE Alias for --comfmtflags @ --errorlog FILENAME Log errors to FILENAME @ --help Show help on the command rather than running it @ --httptrace Trace outbound HTTP requests @ --localtime Display times using the local timezone | | | 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 | @ --chdir PATH Change to PATH before performing any operations @ --comfmtflags VALUE Set comment formatting flags to VALUE @ --comment-format VALUE Alias for --comfmtflags @ --errorlog FILENAME Log errors to FILENAME @ --help Show help on the command rather than running it @ --httptrace Trace outbound HTTP requests @ --localtime Display times using the local timezone @ --no-cgi Do not act as CGI @ --no-th-hook Do not run TH1 hooks @ --quiet Reduce the amount of output @ --sqlstats Show SQL usage statistics when done @ --sqltrace Trace all SQL commands @ --sshtrace Trace SSH activity @ --ssl-identity NAME Set the SSL identity to NAME @ --systemtrace Trace calls to system() |
| ︙ | ︙ |
Changes to src/file.c.
| ︙ | ︙ | |||
2446 2447 2448 2449 2450 2451 2452 | fossil_path_free(zNative); return n; } /* ** COMMAND: test-dir-size ** | | | | > | | 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 |
fossil_path_free(zNative);
return n;
}
/*
** COMMAND: test-dir-size
**
** Usage: %fossil test-dir-size NAME [GLOB] [--no-dots]
**
** Return the number of objects in the directory NAME. If GLOB is
** provided, then only count objects that match the GLOB pattern.
** if --no-dots is specified, omit files that begin with ".".
*/
void test_dir_size_cmd(void){
int omitDotFiles = find_option("no-dots",0,0)!=0
|| find_option("nodots",0,0)!=0;
const char *zGlob;
const char *zDir;
verify_all_options();
if( g.argc!=3 && g.argc!=4 ){
usage("NAME [GLOB] [--no-dots]");
}
zDir = g.argv[2];
zGlob = g.argc==4 ? g.argv[3] : 0;
fossil_print("%d\n", file_directory_size(zDir, zGlob, omitDotFiles));
}
/*
|
| ︙ | ︙ |
Changes to src/main.c.
| ︙ | ︙ | |||
184 185 186 187 188 189 190 | char *zHttpAuth; /* HTTP Authorization user:pass information */ int fSystemTrace; /* Trace calls to fossil_system(), --systemtrace */ int fSshTrace; /* Trace the SSH setup traffic */ int fSshClient; /* HTTP client flags for SSH client */ int fNoHttpCompress; /* Do not compress HTTP traffic (for debugging) */ char *zSshCmd; /* SSH command string */ const char *zHttpCmd; /* External program to do HTTP requests */ | | | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 | char *zHttpAuth; /* HTTP Authorization user:pass information */ int fSystemTrace; /* Trace calls to fossil_system(), --systemtrace */ int fSshTrace; /* Trace the SSH setup traffic */ int fSshClient; /* HTTP client flags for SSH client */ int fNoHttpCompress; /* Do not compress HTTP traffic (for debugging) */ char *zSshCmd; /* SSH command string */ const char *zHttpCmd; /* External program to do HTTP requests */ int fNoSync; /* Do not do an autosync ever. --no-sync */ int fIPv4; /* Use only IPv4, not IPv6. --ipv4 */ char *zPath; /* Name of webpage being served (may be NULL) */ char *zExtra; /* Extra path information past the webpage name */ char *zBaseURL; /* Full text of the URL being served */ char *zHttpsURL; /* zBaseURL translated to https: */ char *zTop; /* Parent directory of zPath */ int nExtraURL; /* Extra bytes added to SCRIPT_NAME */ |
| ︙ | ︙ | |||
761 762 763 764 765 766 767 |
sqlite3_vfs *pVfs = sqlite3_vfs_find(g.zVfsName);
if( pVfs ){
sqlite3_vfs_register(pVfs, 1);
}else{
fossil_fatal("no such VFS: \"%s\"", g.zVfsName);
}
}
| > | | 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 |
sqlite3_vfs *pVfs = sqlite3_vfs_find(g.zVfsName);
if( pVfs ){
sqlite3_vfs_register(pVfs, 1);
}else{
fossil_fatal("no such VFS: \"%s\"", g.zVfsName);
}
}
if( !find_option("no-cgi", 0, 0) && !find_option("nocgi", 0, 0)
&& fossil_getenv("GATEWAY_INTERFACE")!=0){
zCmdName = "cgi";
g.isHTTP = 1;
}else if( g.argc<2 && !fossilExeHasAppendedRepo() ){
fossil_print(
"Usage: %s COMMAND ...\n"
" or: %s help -- for a list of common commands\n"
" or: %s help COMMAND -- for help with the named command\n",
|
| ︙ | ︙ | |||
2808 2809 2810 2811 2812 2813 2814 | ** and bundled modes might result in a single ** amalgamated script or several, but both approaches ** result in fewer HTTP requests than the separate mode. ** --localauth Connections from localhost are given "setup" ** privileges without having to log in ** --mainmenu FILE Override the mainmenu config setting with the contents ** of the given file | | | | | | 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 | ** and bundled modes might result in a single ** amalgamated script or several, but both approaches ** result in fewer HTTP requests than the separate mode. ** --localauth Connections from localhost are given "setup" ** privileges without having to log in ** --mainmenu FILE Override the mainmenu config setting with the contents ** of the given file ** --no-compress Do not compress HTTP replies ** --no-delay Omit backoffice processing if it would delay ** process exit ** --no-jail Drop root privilege but do not enter the chroot jail ** --no-ssl Do not do http: to https: redirects, regardless of ** the redirect-to-https setting. ** --notfound URL Use URL as the "HTTP 404, object not found" page ** --out FILE Write the HTTP reply to FILE instead of to ** standard output ** --pkey FILE Read the private key used for TLS from FILE ** --repolist If REPOSITORY is directory, URL "/" lists all repos ** --scgi Interpret input as SCGI rather than HTTP |
| ︙ | ︙ | |||
2859 2860 2861 2862 2863 2864 2865 |
zFileGlob = z;
}else{
zFileGlob = find_option("files",0,1);
}
skin_override();
zNotFound = find_option("notfound", 0, 1);
zChRoot = find_option("chroot",0,1);
| | | > | > | 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 |
zFileGlob = z;
}else{
zFileGlob = find_option("files",0,1);
}
skin_override();
zNotFound = find_option("notfound", 0, 1);
zChRoot = find_option("chroot",0,1);
noJail = find_option("no-jail",0,0)!=0 || find_option("nojail",0,0)!=0;
allowRepoList = find_option("repolist",0,0)!=0;
g.useLocalauth = find_option("localauth", 0, 0)!=0;
g.sslNotAvailable = find_option("no-ssl", 0, 0)!=0
|| find_option("nossl", 0, 0)!=0;
g.fNoHttpCompress = find_option("no-compress",0,0)!=0
|| find_option("nocompress",0,0)!=0;
g.zExtRoot = find_option("extroot",0,1);
g.zCkoutAlias = find_option("ckout-alias",0,1);
g.zReqType = "HTTP";
zInFile = find_option("in",0,1);
if( zInFile ){
backoffice_disable();
g.httpIn = fossil_fopen(zInFile, "rb");
|
| ︙ | ︙ | |||
2892 2893 2894 2895 2896 2897 2898 |
_setmode(_fileno(stdout), _O_BINARY);
#endif
}
zIpAddr = find_option("ipaddr",0,1);
useSCGI = find_option("scgi", 0, 0)!=0;
if( useSCGI ) g.zReqType = "SCGI";
zAltBase = find_option("baseurl", 0, 1);
| > | > | 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 |
_setmode(_fileno(stdout), _O_BINARY);
#endif
}
zIpAddr = find_option("ipaddr",0,1);
useSCGI = find_option("scgi", 0, 0)!=0;
if( useSCGI ) g.zReqType = "SCGI";
zAltBase = find_option("baseurl", 0, 1);
if( find_option("no-delay",0,0)!=0 || find_option("nodelay",0,0)!=0 ){
backoffice_no_delay();
}
if( zAltBase ) set_base_url(zAltBase);
if( find_option("https",0,0)!=0 ){
zIpAddr = fossil_getenv("REMOTE_HOST"); /* From stunnel */
cgi_replace_parameter("HTTPS","on");
}
zHost = find_option("host", 0, 1);
if( zHost ) cgi_replace_parameter("HTTP_HOST",zHost);
|
| ︙ | ︙ | |||
3165 3166 3167 3168 3169 3170 3171 | ** and bundled modes might result in a single ** amalgamated script or several, but both approaches ** result in fewer HTTP requests than the separate mode. ** --mainmenu FILE Override the mainmenu config setting with the contents ** of the given file ** --max-latency N Do not let any single HTTP request run for more than N ** seconds (only works on unix) | | | | | | 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 | ** and bundled modes might result in a single ** amalgamated script or several, but both approaches ** result in fewer HTTP requests than the separate mode. ** --mainmenu FILE Override the mainmenu config setting with the contents ** of the given file ** --max-latency N Do not let any single HTTP request run for more than N ** seconds (only works on unix) ** -B|--no-browser Do not automatically launch a web-browser for the ** "fossil ui" command ** --no-compress Do not compress HTTP replies ** --no-jail Drop root privileges but do not enter the chroot jail ** --no-ssl Do not force redirects to SSL even if the repository ** setting "redirect-to-https" requests it. This is set ** by default for the "ui" command. ** --notfound URL Redirect to URL if a page is not found. ** -p|--page PAGE Start "ui" on PAGE. ex: --page "timeline?y=ci" ** --pkey FILE Read the private key used for TLS from FILE ** -P|--port [IP:]PORT Listen on the given IP (optional) and port ** --repolist If REPOSITORY is dir, URL "/" lists repos |
| ︙ | ︙ | |||
3238 3239 3240 3241 3242 3243 3244 |
zFileGlob = z;
}else{
zFileGlob = find_option("files",0,1);
}
skin_override();
#if !defined(_WIN32)
zChRoot = find_option("chroot",0,1);
| | > | > | > | > | 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 |
zFileGlob = z;
}else{
zFileGlob = find_option("files",0,1);
}
skin_override();
#if !defined(_WIN32)
zChRoot = find_option("chroot",0,1);
noJail = find_option("no-jail",0,0)!=0 || find_option("nojail",0,0)!=0;
zTimeout = find_option("max-latency",0,1);
#endif
g.useLocalauth = find_option("localauth", 0, 0)!=0;
Th_InitTraceLog();
zPort = find_option("port", "P", 1);
isUiCmd = g.argv[1][0]=='u';
if( isUiCmd ){
zInitPage = find_option("page", "p", 1);
if( zInitPage && zInitPage[0]=='/' ) zInitPage++;
zFossilCmd = find_option("fossilcmd", 0, 1);
}
zNotFound = find_option("notfound", 0, 1);
allowRepoList = find_option("repolist",0,0)!=0;
if( find_option("no-compress",0,0)!=0 || find_option("nocompress",0,0)!=0 ){
g.fNoHttpCompress = 1;
}
zAltBase = find_option("baseurl", 0, 1);
fCreate = find_option("create",0,0)!=0;
g.zReqType = "HTTP";
if( find_option("scgi", 0, 0)!=0 ){
g.zReqType = "SCGI";
flags |= HTTP_SERVER_SCGI;
}
if( zAltBase ){
set_base_url(zAltBase);
}
g.sslNotAvailable = find_option("no-ssl", 0, 0)!=0
|| find_option("nossl", 0, 0)!=0 || isUiCmd;
fNoBrowser = find_option("no-browser", "B", 0)!=0
|| find_option("nobrowser", "B", 0)!=0;
decode_ssl_options();
if( find_option("https",0,0)!=0 || g.httpUseSSL ){
cgi_replace_parameter("HTTPS","on");
}
if( find_option("localhost", 0, 0)!=0 ){
flags |= HTTP_SERVER_LOCALHOST;
}
|
| ︙ | ︙ | |||
3378 3379 3380 3381 3382 3383 3384 |
zBrowserArg = mprintf("%s://%s:%%d/%s", zProtocol, zIpAddr, zInitPage);
}
zBrowserCmd = mprintf("%s %!$ &", zBrowser, zBrowserArg);
fossil_free(zBrowserArg);
}
if( zRemote ){
/* If a USER@HOST:REPO argument is supplied, then use SSH to run
| | | 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 |
zBrowserArg = mprintf("%s://%s:%%d/%s", zProtocol, zIpAddr, zInitPage);
}
zBrowserCmd = mprintf("%s %!$ &", zBrowser, zBrowserArg);
fossil_free(zBrowserArg);
}
if( zRemote ){
/* If a USER@HOST:REPO argument is supplied, then use SSH to run
** "fossil ui --no-browser" on the remote system and to set up a
** tunnel from the local machine to the remote. */
FILE *sshIn;
Blob ssh;
int bRunning = 0; /* True when fossil starts up on the remote */
int isRetry; /* True if on the second attempt */
char zLine[1000];
|
| ︙ | ︙ | |||
3402 3403 3404 3405 3406 3407 3408 |
if( ssh_needs_path_argument(zRemote,-1) ^ isRetry ){
ssh_add_path_argument(&ssh);
}
blob_append_escaped_arg(&ssh, "fossil", 1);
}else{
blob_appendf(&ssh, " %$", zFossilCmd);
}
| | | 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 |
if( ssh_needs_path_argument(zRemote,-1) ^ isRetry ){
ssh_add_path_argument(&ssh);
}
blob_append_escaped_arg(&ssh, "fossil", 1);
}else{
blob_appendf(&ssh, " %$", zFossilCmd);
}
blob_appendf(&ssh, " ui --no-browser --localauth --port %d", iPort);
if( zNotFound ) blob_appendf(&ssh, " --notfound %!$", zNotFound);
if( zFileGlob ) blob_appendf(&ssh, " --files-urlenc %T", zFileGlob);
if( g.zCkoutAlias ) blob_appendf(&ssh," --ckout-alias %!$",g.zCkoutAlias);
if( g.zExtRoot ) blob_appendf(&ssh, " --extroot %$", g.zExtRoot);
if( skin_in_use() ) blob_appendf(&ssh, " --skin %s", skin_in_use());
if( zJsMode ) blob_appendf(&ssh, " --jsmode %s", zJsMode);
if( fCreate ) blob_appendf(&ssh, " --create");
|
| ︙ | ︙ |
Changes to src/merge.c.
| ︙ | ︙ | |||
319 320 321 322 323 324 325 | ** -f|--force Force the merge even if it would be a no-op ** --force-missing Force the merge even if there is missing content ** --integrate Merged branch will be closed when committing ** -K|--keep-merge-files On merge conflict, retain the temporary files ** used for merging, named *-baseline, *-original, ** and *-merge. ** -n|--dry-run If given, display instead of run actions | | | 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 |
** -f|--force Force the merge even if it would be a no-op
** --force-missing Force the merge even if there is missing content
** --integrate Merged branch will be closed when committing
** -K|--keep-merge-files On merge conflict, retain the temporary files
** used for merging, named *-baseline, *-original,
** and *-merge.
** -n|--dry-run If given, display instead of run actions
** --no-sync Do not auto-sync prior to merging
** -v|--verbose Show additional details of the merge
*/
void merge_cmd(void){
int vid; /* Current version "V" */
int mid; /* Version we are merging from "M" */
int pid = 0; /* The pivot version - most recent common ancestor P */
int nid = 0; /* The name pivot version "N" */
|
| ︙ | ︙ | |||
371 372 373 374 375 376 377 |
pickFlag = 1;
}
integrateFlag = find_option("integrate",0,0)!=0;
backoutFlag = find_option("backout",0,0)!=0;
zBinGlob = find_option("binary",0,1);
dryRunFlag = find_option("dry-run","n",0)!=0;
if( !dryRunFlag ){
| > | | | 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 |
pickFlag = 1;
}
integrateFlag = find_option("integrate",0,0)!=0;
backoutFlag = find_option("backout",0,0)!=0;
zBinGlob = find_option("binary",0,1);
dryRunFlag = find_option("dry-run","n",0)!=0;
if( !dryRunFlag ){
dryRunFlag = find_option("no-change",0,0)!=0
|| find_option("nochange",0,0)!=0; /* deprecated */
}
if( find_option("no-sync",0,0) || find_option("nosync",0,0) ) g.fNoSync = 1;
forceFlag = find_option("force","f",0)!=0;
zPivot = find_option("baseline",0,1);
keepMergeFlag = find_option("keep-merge-files", "K",0)!=0;
/* Undocumented --debug and --show-vfile options:
**
** When included on the command-line, --debug causes lots of state
|
| ︙ | ︙ |
Changes to src/rebuild.c.
| ︙ | ︙ | |||
662 663 664 665 666 667 668 | ** --analyze Run ANALYZE on the database after rebuilding ** --cluster Compute clusters for unclustered artifacts ** --compress Strive to make the database as small as possible ** --compress-only Skip the rebuilding step. Do --compress only ** --force Force the rebuild to complete even if errors are seen ** --ifneeded Only do the rebuild if it would change the schema version ** --index Always add in the full-text search index | | | | 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 |
** --analyze Run ANALYZE on the database after rebuilding
** --cluster Compute clusters for unclustered artifacts
** --compress Strive to make the database as small as possible
** --compress-only Skip the rebuilding step. Do --compress only
** --force Force the rebuild to complete even if errors are seen
** --ifneeded Only do the rebuild if it would change the schema version
** --index Always add in the full-text search index
** --no-verify Skip the verification of changes to the BLOB table
** --no-index Always omit the full-text search index
** --pagesize N Set the database pagesize to N (512..65536, power of 2)
** --quiet Only show output if there are errors
** --stats Show artifact statistics after rebuilding
** --vacuum Run VACUUM on the database after rebuilding
** --wal Set Write-Ahead-Log journalling mode on the database
*/
void rebuild_database(void){
|
| ︙ | ︙ | |||
689 690 691 692 693 694 695 | int showStats; int runReindex; int optNoIndex; int optIndex; int optIfNeeded; int compressOnlyFlag; | | | | 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 |
int showStats;
int runReindex;
int optNoIndex;
int optIndex;
int optIfNeeded;
int compressOnlyFlag;
omitVerify = find_option("no-verify",0,0)!=0 ||find_option("noverify",0,0)!=0;
forceFlag = find_option("force","f",0)!=0;
doClustering = find_option("cluster", 0, 0)!=0;
runVacuum = find_option("vacuum",0,0)!=0;
runDeanalyze = find_option("deanalyze",0,0)!=0; /* Deprecated */
runAnalyze = find_option("analyze",0,0)!=0;
runCompress = find_option("compress",0,0)!=0;
zPagesize = find_option("pagesize",0,1);
showStats = find_option("stats",0,0)!=0;
optIndex = find_option("index",0,0)!=0;
optNoIndex = find_option("no-index",0,0)!=0 || find_option("noindex",0,0)!=0;
optIfNeeded = find_option("ifneeded",0,0)!=0;
compressOnlyFlag = find_option("compress-only",0,0)!=0;
if( compressOnlyFlag ) runCompress = 1;
if( zPagesize ){
newPagesize = atoi(zPagesize);
if( newPagesize<512 || newPagesize>65536
|| (newPagesize&(newPagesize-1))!=0
|
| ︙ | ︙ |
Changes to src/update.c.
| ︙ | ︙ | |||
98 99 100 101 102 103 104 | ** -n|--dry-run If given, display instead of run actions ** --force-missing Force update if missing content after sync ** -K|--keep-merge-files On merge conflict, retain the temporary files ** used for merging, named *-baseline, *-original, ** and *-merge. ** --latest Acceptable in place of VERSION, update to ** latest version | | | 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | ** -n|--dry-run If given, display instead of run actions ** --force-missing Force update if missing content after sync ** -K|--keep-merge-files On merge conflict, retain the temporary files ** used for merging, named *-baseline, *-original, ** and *-merge. ** --latest Acceptable in place of VERSION, update to ** latest version ** --no-sync Do not auto-sync prior to update ** --setmtime Set timestamps of all files to match their ** SCM-side times (the timestamp of the last ** check-in which modified them). ** -v|--verbose Print status information about all files ** -W|--width WIDTH Width of lines (default is to auto-detect). ** Must be more than 20 or 0 (= no limit, ** resulting in a single line per entry). |
| ︙ | ︙ | |||
126 127 128 129 130 131 132 | int keepMergeFlag; /* True if --keep-merge-files is present */ int nChng; /* Number of file renames */ int *aChng; /* Array of file renames */ int i; /* Loop counter */ int nConflict = 0; /* Number of merge conflicts */ int nOverwrite = 0; /* Number of unmanaged files overwritten */ int nUpdate = 0; /* Number of changes of any kind */ | | > | | | 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 |
int keepMergeFlag; /* True if --keep-merge-files is present */
int nChng; /* Number of file renames */
int *aChng; /* Array of file renames */
int i; /* Loop counter */
int nConflict = 0; /* Number of merge conflicts */
int nOverwrite = 0; /* Number of unmanaged files overwritten */
int nUpdate = 0; /* Number of changes of any kind */
int bNosync = 0; /* --no-sync. Omit the auto-sync */
int width; /* Width of printed comment lines */
Stmt mtimeXfer; /* Statement to transfer mtimes */
const char *zWidth; /* Width option string value */
if( !internalUpdate ){
undo_capture_command_line();
url_proxy_options();
}
zWidth = find_option("width","W",1);
if( zWidth ){
width = atoi(zWidth);
if( (width!=0) && (width<=20) ){
fossil_fatal("-W|--width value must be >20 or 0");
}
}else{
width = -1;
}
latestFlag = find_option("latest",0, 0)!=0;
dryRunFlag = find_option("dry-run","n",0)!=0;
if( !dryRunFlag ){
dryRunFlag = find_option("no-change",0,0)!=0
|| find_option("nochange",0,0)!=0; /* deprecated */
}
verboseFlag = find_option("verbose","v",0)!=0;
forceMissingFlag = find_option("force-missing",0,0)!=0;
debugFlag = find_option("debug",0,0)!=0;
setmtimeFlag = find_option("setmtime",0,0)!=0;
keepMergeFlag = find_option("keep-merge-files", "K",0)!=0;
bNosync = find_option("no-sync",0,0)!=0 || find_option("nosync",0,0)!=0;
/* We should be done with options.. */
verify_all_options();
db_must_be_within_tree();
vid = db_lget_int("checkout", 0);
user_select();
|
| ︙ | ︙ |
Changes to src/url.c.
| ︙ | ︙ | |||
544 545 546 547 548 549 550 | ** ** --proxy URL|off ** ** The original purpose of this routine is the above. But this ** also happens to be a convenient place to look for other ** network-related options: ** | | | | 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 |
**
** --proxy URL|off
**
** The original purpose of this routine is the above. But this
** also happens to be a convenient place to look for other
** network-related options:
**
** --no-sync Temporarily disable "autosync"
**
** --ipv4 Disallow IPv6. Use only IPv4.
**
** --accept-any-cert Disable server SSL cert validation. Accept
** any SSL cert that the server provides.
** WARNING: this option opens you up to
** forged-DNS and man-in-the-middle attacks!
*/
void url_proxy_options(void){
zProxyOpt = find_option("proxy", 0, 1);
if( find_option("no-sync",0,0) || find_option("nosync",0,0) ) g.fNoSync = 1;
if( find_option("ipv4",0,0) ) g.fIPv4 = 1;
#ifdef FOSSIL_ENABLE_SSL
if( find_option("accept-any-cert",0,0) ){
ssl_disable_cert_verification();
}
#endif /* FOSSIL_ENABLE_SSL */
}
|
| ︙ | ︙ |
Changes to src/wikiformat.c.
| ︙ | ︙ | |||
1870 1871 1872 1873 1874 1875 1876 | ** Translate the input FILE from Fossil-wiki into HTML and write ** the resulting HTML on standard output. ** ** Options: ** --buttons Set the WIKI_BUTTONS flag ** --htmlonly Set the WIKI_HTMLONLY flag ** --linksonly Set the WIKI_LINKSONLY flag | | | > | > > | > | 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 |
** Translate the input FILE from Fossil-wiki into HTML and write
** the resulting HTML on standard output.
**
** Options:
** --buttons Set the WIKI_BUTTONS flag
** --htmlonly Set the WIKI_HTMLONLY flag
** --linksonly Set the WIKI_LINKSONLY flag
** --no-badlinks Set the WIKI_NOBADLINKS flag
** --inline Set the WIKI_INLINE flag
** --no-block Set the WIKI_NOBLOCK flag
** --dark-pikchr Render pikchrs in dark mode
*/
void test_wiki_render(void){
Blob in, out;
int flags = 0;
if( find_option("buttons",0,0)!=0 ) flags |= WIKI_BUTTONS;
if( find_option("htmlonly",0,0)!=0 ) flags |= WIKI_HTMLONLY;
if( find_option("linksonly",0,0)!=0 ) flags |= WIKI_LINKSONLY;
if( find_option("no-badlinks",0,0)!=0 || find_option("nobadlinks",0,0)!=0 ){
flags |= WIKI_NOBADLINKS;
}
if( find_option("inline",0,0)!=0 ) flags |= WIKI_INLINE;
if( find_option("no-block",0,0)!=0 || find_option("noblock",0,0)!=0 ){
flags |= WIKI_NOBLOCK;
}
if( find_option("dark-pikchr",0,0)!=0 ){
pikchr_to_html_add_flags( PIKCHR_PROCESS_DARK_MODE );
}
db_find_and_open_repository(OPEN_OK_NOT_FOUND|OPEN_SUBSTITUTE,0);
verify_all_options();
if( g.argc!=3 ) usage("FILE");
blob_zero(&out);
|
| ︙ | ︙ |
Changes to src/winhttp.c.
| ︙ | ︙ | |||
430 431 432 433 434 435 436 |
aux = fossil_fopen(zCmdFName, "wb");
if( aux==0 ) goto end_request;
fwrite(zCmd, 1, strlen(zCmd), aux);
sqlite3_snprintf(sizeof(zCmd), zCmd,
"\"%s\" http -args \"%s\"%s%s",
g.nameOfExe, zCmdFName,
| | | 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 |
aux = fossil_fopen(zCmdFName, "wb");
if( aux==0 ) goto end_request;
fwrite(zCmd, 1, strlen(zCmd), aux);
sqlite3_snprintf(sizeof(zCmd), zCmd,
"\"%s\" http -args \"%s\"%s%s",
g.nameOfExe, zCmdFName,
g.httpUseSSL ? "" : " --no-ssl", p->zOptions
);
in = fossil_fopen(zReplyFName, "w+b");
fflush(out);
fflush(aux);
if( g.fHttpTrace ){
fossil_print("%s\n", zCmd);
}
|
| ︙ | ︙ | |||
516 517 518 519 520 521 522 |
fwrite(zHdr, 1, got, out);
wanted += got;
}
assert( g.zRepositoryName && g.zRepositoryName[0] );
zIp = SocketAddr_toString(&p->addr);
sqlite3_snprintf(sizeof(zCmd), zCmd,
"\"%s\" http --in \"%s\" --out \"%s\" --ipaddr %s \"%s\""
| | | 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 |
fwrite(zHdr, 1, got, out);
wanted += got;
}
assert( g.zRepositoryName && g.zRepositoryName[0] );
zIp = SocketAddr_toString(&p->addr);
sqlite3_snprintf(sizeof(zCmd), zCmd,
"\"%s\" http --in \"%s\" --out \"%s\" --ipaddr %s \"%s\""
" --scgi --no-ssl%s",
g.nameOfExe, zRequestFName, zReplyFName, zIp,
g.zRepositoryName, p->zOptions
);
fossil_free(zIp);
in = fossil_fopen(zReplyFName, "w+b");
fflush(out);
fossil_system(zCmd);
|
| ︙ | ︙ |