Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Changed a number of "a" articles followed by vowels in docs and comments to "an", per [forum:/forumpost/3e6e40293f03f089 | a forum post]. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
99a319bdbfae2ed5e7ab5b74b056f29e |
| User & Date: | wyoung 2022-07-17 23:48:42.522 |
Context
|
2022-07-18
| ||
| 01:07 | Grammar fix to the fossil-v-git doc ... (check-in: f36fb951ee user: wyoung tags: trunk) | |
|
2022-07-17
| ||
| 23:48 | Changed a number of "a" articles followed by vowels in docs and comments to "an", per [forum:/forumpost/3e6e40293f03f089 | a forum post]. ... (check-in: 99a319bdbf user: wyoung tags: trunk) | |
| 23:23 | Mentioned "fnc stash" at the end of the section of gitusers where it talks about alternatives to "git add -p" and such. ... (check-in: b3b2c1ab91 user: wyoung tags: trunk) | |
Changes
Changes to src/alerts.c.
| ︙ | ︙ | |||
297 298 299 300 301 302 303 |
@ included in square brackets. Examples: "[fossil-src]", "[sqlite-src]".
@ (Property: "email-subname")</p>
@ <hr>
entry_attribute("Subscription Renewal Interval In Days", 8,
"email-renew-interval", "eri", "", 0);
@ <p>
| | | 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 |
@ included in square brackets. Examples: "[fossil-src]", "[sqlite-src]".
@ (Property: "email-subname")</p>
@ <hr>
entry_attribute("Subscription Renewal Interval In Days", 8,
"email-renew-interval", "eri", "", 0);
@ <p>
@ If this value is an integer N greater than or equal to 14, then email
@ notification subscriptions will be suspended N days after the last known
@ interaction with the user. This prevents sending notifications
@ to abandoned accounts. If a subscription comes within 7 days of expiring,
@ a separate email goes out with the daily digest that prompts the
@ subscriber to click on a link to the "/renew" webpage in order to
@ extend their subscription. Subscriptions never expire if this setting
@ is less than 14 or is an empty string.
|
| ︙ | ︙ |
Changes to src/backlink.c.
| ︙ | ︙ | |||
363 364 365 366 367 368 369 |
verify_all_options();
if( g.argc!=5 ){
usage("SRCTYPE SRCID INPUTFILE");
}
srctype = atoi(g.argv[2]);
if( srctype<0 || srctype>2 ){
| | | 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 |
verify_all_options();
if( g.argc!=5 ){
usage("SRCTYPE SRCID INPUTFILE");
}
srctype = atoi(g.argv[2]);
if( srctype<0 || srctype>2 ){
fossil_fatal("SRCTYPE should be an integer 0, 1, or 2");
}
srcid = atoi(g.argv[3]);
blob_read_from_file(&in, g.argv[4], ExtFILE);
sqlite3_open(":memory:",&g.db);
if( zMTime==0 ) zMTime = "now";
mtime = db_double(1721059.5,"SELECT julianday(%Q)",zMTime);
g.fSqlPrint = 1;
|
| ︙ | ︙ |
Changes to src/backoffice.c.
| ︙ | ︙ | |||
470 471 472 473 474 475 476 | ** If another process is already working as the current backoffice and ** the on-deck backoffice, then this routine returns very quickly ** without doing any work. ** ** If no backoffice processes are running at all, this routine becomes ** the main backoffice. ** | | | 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 |
** If another process is already working as the current backoffice and
** the on-deck backoffice, then this routine returns very quickly
** without doing any work.
**
** If no backoffice processes are running at all, this routine becomes
** the main backoffice.
**
** If a primary backoffice is running, but an on-deck backoffice is
** needed, this routine becomes that on-deck backoffice.
*/
static void backoffice_thread(void){
Lease x;
sqlite3_uint64 tmNow;
sqlite3_uint64 idSelf;
int lastWarning = 0;
|
| ︙ | ︙ |
Changes to src/db.c.
| ︙ | ︙ | |||
3045 3046 3047 3048 3049 3050 3051 |
const char * zName = (const char *)sqlite3_value_text(argv[0]);
if( zName!=0 ){
sqlite3_result_int(context, file_is_win_reserved(zName)!=0);
}
}
/*
| | | 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 |
const char * zName = (const char *)sqlite3_value_text(argv[0]);
if( zName!=0 ){
sqlite3_result_int(context, file_is_win_reserved(zName)!=0);
}
}
/*
** Convert the input string into an artifact hash. Make a notation in the
** CONCEALED table so that the hash can be undo using the db_reveal()
** function at some later time.
**
** The value returned is stored in static space and will be overwritten
** on subsequent calls.
**
** If zContent is already a well-formed artifact hash, then return a copy
|
| ︙ | ︙ |
Changes to src/file.c.
| ︙ | ︙ | |||
36 37 38 39 40 41 42 | # include <sys/utime.h> #else # include <sys/time.h> #endif #if INTERFACE | | | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | # include <sys/utime.h> #else # include <sys/time.h> #endif #if INTERFACE /* Many APIs take an eFType argument which must be one of ExtFILE, RepoFILE, ** or SymFILE. ** ** The difference is in the handling of symbolic links. RepoFILE should be ** used for files that are under management by a Fossil repository. ExtFILE ** should be used for files that are not under management. SymFILE is for ** a few special cases such as the "fossil test-tarball" command when we never ** want to follow symlinks. |
| ︙ | ︙ |
Changes to src/http_ssl.c.
| ︙ | ︙ | |||
620 621 622 623 624 625 626 | } X509_free(cert); return 0; } /* | | | 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 |
}
X509_free(cert);
return 0;
}
/*
** Remember that the cert with the given hash is acceptable for
** use with pUrlData->name.
*/
LOCAL void ssl_remember_certificate_exception(
UrlData *pUrlData,
const char *zHash
){
db_set_mprintf(zHash, 1, "cert:%s", pUrlData->name);
|
| ︙ | ︙ |
Changes to src/info.c.
| ︙ | ︙ | |||
179 180 181 182 183 184 185 | ** in the repository of the current tree that the argument refers ** to. Or if the argument is the name of a repository, show ** information about that repository. ** ** If the argument is a repository name, then the --verbose option shows ** all known check-out locations for that repository and all URLs used ** to access the repository. The --verbose is (currently) a no-op if | | | 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 | ** in the repository of the current tree that the argument refers ** to. Or if the argument is the name of a repository, show ** information about that repository. ** ** If the argument is a repository name, then the --verbose option shows ** all known check-out locations for that repository and all URLs used ** to access the repository. The --verbose is (currently) a no-op if ** the argument is the name of an object within the repository. ** ** Use the "finfo" command to get information about a specific ** file in a checkout. ** ** Options: ** ** -R|--repository REPO Extract info from repository REPO |
| ︙ | ︙ |
Changes to src/interwiki.c.
| ︙ | ︙ | |||
165 166 167 168 169 170 171 | ** ** > fossil interwiki delete TAG ... ** ** Delete one or more interwiki maps. ** ** > fossil interwiki edit TAG --base URL --hash PATH --wiki PATH ** | | | 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 | ** ** > fossil interwiki delete TAG ... ** ** Delete one or more interwiki maps. ** ** > fossil interwiki edit TAG --base URL --hash PATH --wiki PATH ** ** Create an interwiki referenced call TAG. The base URL is ** the --base option, which is required. The --hash and --wiki ** paths are optional. The TAG must be lower-case alphanumeric ** and must be unique. A new entry is created if it does not ** already exit. ** ** > fossil interwiki list ** |
| ︙ | ︙ |
Changes to src/md5.c.
| ︙ | ︙ | |||
301 302 303 304 305 306 307 |
zBuf[j++] = zEncode[(a>>4)&0xf];
zBuf[j++] = zEncode[a & 0xf];
}
zBuf[j] = 0;
}
/*
| | | 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 |
zBuf[j++] = zEncode[(a>>4)&0xf];
zBuf[j++] = zEncode[a & 0xf];
}
zBuf[j] = 0;
}
/*
** The state of an incremental MD5 checksum computation. Only one
** such computation can be underway at a time, of course.
*/
static MD5Context incrCtx;
static int incrInit = 0;
/*
** Initialize the incremental MD5 checksum.
|
| ︙ | ︙ |
Changes to src/name.c.
| ︙ | ︙ | |||
242 243 244 245 246 247 248 | } /* ** Convert a symbolic name into a RID. Acceptable forms: ** ** * artifact hash (optionally enclosed in [...]) | | | 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 | } /* ** Convert a symbolic name into a RID. Acceptable forms: ** ** * artifact hash (optionally enclosed in [...]) ** * 4-character or larger prefix of an artifact ** * Symbolic Name ** * "tag:" + symbolic name ** * Date or date-time ** * "date:" + Date or date-time ** * symbolic-name ":" date-time ** * "tip" ** |
| ︙ | ︙ |
Changes to src/printf.c.
| ︙ | ︙ | |||
279 280 281 282 283 284 285 | ** fmt This is the format string, as in the usual print. ** ** ap This is a pointer to a list of arguments. Same as in ** vfprint. ** ** OUTPUTS: ** The return value is the total number of characters sent to | | | 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 | ** fmt This is the format string, as in the usual print. ** ** ap This is a pointer to a list of arguments. Same as in ** vfprint. ** ** OUTPUTS: ** The return value is the total number of characters sent to ** the function "func". Returns -1 on error. ** ** Note that the order in which automatic variables are declared below ** seems to make a big difference in determining how fast this beast ** will run. */ int vxprintf( Blob *pBlob, /* Append output to this blob */ |
| ︙ | ︙ |
Changes to src/schema.c.
| ︙ | ︙ | |||
582 583 584 585 586 587 588 | const char zLocalSchemaVmerge[] = @ -- This table holds a record of uncommitted merges in the local @ -- file tree. If a VFILE entry with id has merged with another @ -- record, there is an entry in this table with (id,merge) where @ -- merge is the RECORD table entry that the file merged against. @ -- An id of 0 or <-3 here means the version record itself. When @ -- id==(-1) that is a cherrypick merge, id==(-2) that is a | | | 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 | const char zLocalSchemaVmerge[] = @ -- This table holds a record of uncommitted merges in the local @ -- file tree. If a VFILE entry with id has merged with another @ -- record, there is an entry in this table with (id,merge) where @ -- merge is the RECORD table entry that the file merged against. @ -- An id of 0 or <-3 here means the version record itself. When @ -- id==(-1) that is a cherrypick merge, id==(-2) that is a @ -- backout merge and id==(-4) is an integrate merge. @ -- @ @ CREATE TABLE vmerge( @ id INTEGER REFERENCES vfile, -- VFILE entry that has been merged @ merge INTEGER, -- Merged with this record @ mhash TEXT -- SHA1/SHA3 hash for merge object @ ); |
| ︙ | ︙ |
Changes to src/search.c.
| ︙ | ︙ | |||
17 18 19 20 21 22 23 | ** ** This file contains code to implement a search functions ** against timeline comments, check-in content, wiki pages, tickets, ** and/or forum posts. ** ** The search can be either a per-query "grep"-like search that scans ** the entire corpus. Or it can use the FTS4 search engine of SQLite. | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | ** ** This file contains code to implement a search functions ** against timeline comments, check-in content, wiki pages, tickets, ** and/or forum posts. ** ** The search can be either a per-query "grep"-like search that scans ** the entire corpus. Or it can use the FTS4 search engine of SQLite. ** The choice is an administrator configuration option. ** ** The first option is referred to as "full-scan search". The second ** option is called "indexed search". ** ** The code in this file is ordered approximately as follows: ** ** (1) The full-scan search engine |
| ︙ | ︙ |
Changes to src/sha1.c.
| ︙ | ︙ | |||
274 275 276 277 278 279 280 |
*zBuf++ = zEncode[(*digest>>4)&0xf];
*zBuf++ = zEncode[*digest++ & 0xf];
}
*zBuf = '\0';
}
/*
| | | 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 |
*zBuf++ = zEncode[(*digest>>4)&0xf];
*zBuf++ = zEncode[*digest++ & 0xf];
}
*zBuf = '\0';
}
/*
** The state of an incremental SHA1 checksum computation. Only one
** such computation can be underway at a time, of course.
*/
static SHA1Context incrCtx;
static int incrInit = 0;
/*
** Add more text to the incremental SHA1 checksum.
|
| ︙ | ︙ |
Changes to src/sha3.c.
| ︙ | ︙ | |||
482 483 484 485 486 487 488 |
*zBuf++ = zEncode[(*digest>>4)&0xf];
*zBuf++ = zEncode[*digest++ & 0xf];
}
*zBuf = '\0';
}
/*
| | | 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 |
*zBuf++ = zEncode[(*digest>>4)&0xf];
*zBuf++ = zEncode[*digest++ & 0xf];
}
*zBuf = '\0';
}
/*
** The state of an incremental SHA3 checksum computation. Only one
** such computation can be underway at a time, of course.
*/
static SHA3Context incrCtx;
static int incrInit = 0;
/*
** Initialize a new global SHA3 hash.
|
| ︙ | ︙ |
Changes to src/style.c.
| ︙ | ︙ | |||
99 100 101 102 103 104 105 | /* ** Extra JS added to the end of the file. */ static Blob blobOnLoad = BLOB_INITIALIZER; /* | | | 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | /* ** Extra JS added to the end of the file. */ static Blob blobOnLoad = BLOB_INITIALIZER; /* ** Generate and return an anchor tag like this: ** ** <a href="URL"> ** or <a id="ID"> ** ** The form of the anchor tag is determined by the g.jsHref ** and g.perm.Hyperlink variables. ** |
| ︙ | ︙ |
Changes to src/unversioned.c.
| ︙ | ︙ | |||
159 160 161 162 163 164 165 | /* ** Check the status of unversioned file zName. "mtime" and "zHash" are the ** time of last change and hash of a copy of this file on a remote ** server. Return an integer status code as follows: ** ** 0: zName does not exist in the unversioned table. ** 1: zName exists and should be replaced by the mtime/zHash remote. | | | 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 | /* ** Check the status of unversioned file zName. "mtime" and "zHash" are the ** time of last change and hash of a copy of this file on a remote ** server. Return an integer status code as follows: ** ** 0: zName does not exist in the unversioned table. ** 1: zName exists and should be replaced by the mtime/zHash remote. ** 2: zName exists and is the same as zHash but has an older mtime ** 3: zName exists and is identical to mtime/zHash in all respects. ** 4: zName exists and is the same as zHash but has a newer mtime. ** 5: zName exists and should override the mtime/zHash remote. */ int unversioned_status( const char *zName, sqlite3_int64 mtime, |
| ︙ | ︙ |
Changes to src/wikiformat.c.
| ︙ | ︙ | |||
595 596 597 598 599 600 601 |
n++;
}
if( i<2 || fossil_isspace(z[n]) ) return 0;
return n;
}
/*
| | | 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 |
n++;
}
if( i<2 || fossil_isspace(z[n]) ) return 0;
return n;
}
/*
** Check to see if the z[] string is the beginning of an enumeration value.
** If it is, return the length of the bullet text. Otherwise return 0.
**
** Syntax:
** * a tab or two or more spaces
** * one or more digits
** * optional "."
** * another tab or two ore more spaces.
|
| ︙ | ︙ |
Changes to src/winhttp.c.
| ︙ | ︙ | |||
929 930 931 932 933 934 935 |
hsData.s = *pS;
win32_report_service_status(SERVICE_RUNNING, NO_ERROR, 0);
}
}
/*
** Try to start the http server as a windows service. If we are running in
| | | 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 |
hsData.s = *pS;
win32_report_service_status(SERVICE_RUNNING, NO_ERROR, 0);
}
}
/*
** Try to start the http server as a windows service. If we are running in
** an interactive console session, this routine fails and returns a non zero
** integer value. When running as service, this routine does not return until
** the service is stopped. In this case, the return value is zero.
*/
int win32_http_service(
int nPort, /* TCP port number */
const char *zBaseUrl, /* The --baseurl option, or NULL */
const char *zNotFound, /* The --notfound option, or NULL */
|
| ︙ | ︙ |
Changes to src/xfer.c.
| ︙ | ︙ | |||
1541 1542 1543 1544 1545 1546 1547 |
blob_reset(&content);
blob_seek(xfer.pIn, 1, BLOB_SEEK_CUR);
}else
/* cookie TEXT
**
| | | 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 |
blob_reset(&content);
blob_seek(xfer.pIn, 1, BLOB_SEEK_CUR);
}else
/* cookie TEXT
**
** A cookie contains an arbitrary-length argument that is server-defined.
** The argument must be encoded so as not to contain any whitespace.
** The server can optionally send a cookie to the client. The client
** might then return the same cookie back to the server on its next
** communication. The cookie might record information that helps
** the server optimize a push or pull.
**
** The client is not required to return a cookie. So the server
|
| ︙ | ︙ |
Changes to www/alerts.md.
| ︙ | ︙ | |||
674 675 676 677 678 679 680 |
* If the `subscriberCode` is stolen, the worst that can happen is that
the thief can change that email address's subscription settings.
Contrast a password which may be shared with other services, which
then compromises those other services.
* No PII other than the subscriber's email address is available to an
attacker with the `subscriberCode`. Nor can knowledge of the
| | | 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 |
* If the `subscriberCode` is stolen, the worst that can happen is that
the thief can change that email address's subscription settings.
Contrast a password which may be shared with other services, which
then compromises those other services.
* No PII other than the subscriber's email address is available to an
attacker with the `subscriberCode`. Nor can knowledge of the
`subscriberCode` lead to an email flood or other annoyance attack, as
far as I can see.
If the `subscriberCodes` for a Fossil repository are ever compromised,
new ones can be generated as follows:
UPDATE subscriber SET subscriberCode=randomblob(32);
|
| ︙ | ︙ |
Changes to www/changes.wiki.
| ︙ | ︙ | |||
1728 1729 1730 1731 1732 1733 1734 | * Performance improvements on SHA1 checksums * Update to the latest SQLite version 3.7.8 alpha. * Fix the tarball generator to work with very log pathnames <h2>Changes For Version 1.18 (2011-07-14)</h2> * Added this Change Log * Added sequential version numbering | | | 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 |
* Performance improvements on SHA1 checksums
* Update to the latest SQLite version 3.7.8 alpha.
* Fix the tarball generator to work with very log pathnames
<h2>Changes For Version 1.18 (2011-07-14)</h2>
* Added this Change Log
* Added sequential version numbering
* Added an optional configure script - the Makefile still works for most
systems.
* Improvements to the "annotate" algorithm: only search primary
ancestors and ignore branches.
* Update the "scrub" command to remove traces of login-groups and
subrepositories.
* Added the --type option to the "fossil tag find" command.
* In contexts where only a check-in makes sense, resolve branch and
|
| ︙ | ︙ |
Changes to www/sync.wiki.
| ︙ | ︙ | |||
1040 1041 1042 1043 1044 1045 1046 | will keep a copy of each HTTP request and reply in files named: <ul> <li> <tt>http-request-</tt><i>N</i><tt>.txt</tt> <li> <tt>http-reply-</tt><i>N</i><tt>.txt</tt> </ul> | | | 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 | will keep a copy of each HTTP request and reply in files named: <ul> <li> <tt>http-request-</tt><i>N</i><tt>.txt</tt> <li> <tt>http-reply-</tt><i>N</i><tt>.txt</tt> </ul> <p>In the above, <i>N</i> is an integer that increments with each round-trip. If you are having trouble on the server side, you can run the "[/help?cmd=test-http|fossil test-http]" command in a debugger using one the "http-request-N.txt" files as input and single step through the processing performed by the server. <p>The "--transport-command CMD" option on [/help?cmd=sync|fossil sync] (and similar) causes the external program "CMD" to be used to move |
| ︙ | ︙ |