Index: src/add.c
==================================================================
--- src/add.c
+++ src/add.c
@@ -53,11 +53,11 @@
      ".fos-wal",
      ".fos-shm",
   };
 
   /* Names of auxiliary files generated by SQLite when the "manifest"
-  ** properity is enabled
+  ** property is enabled
   */
   static const char *const azManifest[] = {
      "manifest",
      "manifest.uuid",
   };
@@ -451,11 +451,11 @@
     fossil_panic("no checkout to add to");
   }
   db_begin_transaction();
 
   /* step 1:  
-  ** Populate the temp table "sfile" with the names of all unmanged
+  ** Populate the temp table "sfile" with the names of all unmanaged
   ** files currently in the check-out, except for files that match the
   ** --ignore or ignore-glob patterns and dot-files.  Then add all of
   ** the files in the sfile temp table to the set of managed files.
   */
   db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY)");
@@ -487,11 +487,11 @@
       fossil_print("DELETED  %s\n", zFile);
       nDelete++;
     }
   }
   db_finalize(&q);
-  /* show cmmand summary */
+  /* show command summary */
   fossil_print("added %d files, deleted %d files\n", nAdd, nDelete);
 
   db_end_transaction(isTest);
 }
 

Index: src/blob.c
==================================================================
--- src/blob.c
+++ src/blob.c
@@ -671,11 +671,11 @@
 void blob_vappendf(Blob *pBlob, const char *zFormat, va_list ap){
   if( pBlob ) vxprintf(pBlob, zFormat, ap);
 }
 
 /*
-** Initalize a blob to the data on an input channel.  Return
+** Initialize a blob to the data on an input channel.  Return
 ** the number of bytes read into the blob.  Any prior content
 ** of the blob is discarded, not freed.
 */
 int blob_read_from_channel(Blob *pBlob, FILE *in, int nToRead){
   size_t n;

Index: src/browse.c
==================================================================
--- src/browse.c
+++ src/browse.c
@@ -20,11 +20,11 @@
 #include "config.h"
 #include "browse.h"
 #include <assert.h>
 
 /*
-** This is the implemention of the "pathelement(X,N)" SQL function.
+** This is the implementation of the "pathelement(X,N)" SQL function.
 **
 ** If X is a unix-like pathname (with "/" separators) and N is an
 ** integer, then skip the initial N characters of X and return the
 ** name of the path component that begins on the N+1th character
 ** (numbered from 0).  If the path component is a directory (if

Index: src/captcha.c
==================================================================
--- src/captcha.c
+++ src/captcha.c
@@ -13,11 +13,11 @@
 **   drh@hwaci.com
 **   http://www.hwaci.com/drh/
 **
 *******************************************************************************
 **
-** This file contains code to a simple text-based CAPTCHA.  Though eaily
+** This file contains code to a simple text-based CAPTCHA.  Though easily
 ** defeated by a sophisticated attacker, this CAPTCHA does at least make
 ** scripting attacks more difficult.
 */
 #include <assert.h>
 #include "config.h"

Index: src/cgi.c
==================================================================
--- src/cgi.c
+++ src/cgi.c
@@ -965,11 +965,11 @@
   return zOut;
 }
 
 /*
 ** Return the name of the i-th CGI parameter.  Return NULL if there
-** are fewer than i registered CGI parmaeters.
+** are fewer than i registered CGI parameters.
 */
 const char *cgi_parameter_name(int i){
   if( i>=0 && i<nUsedQP ){
     return aParamQP[i].zName;
   }else{

Index: src/checkin.c
==================================================================
--- src/checkin.c
+++ src/checkin.c
@@ -717,11 +717,11 @@
   int verifyDate,             /* Verify that child is younger */
   Blob *pCksum,               /* Repository checksum.  May be 0 */
   const char *zDateOvrd,      /* Date override.  If 0 then use 'now' */
   const char *zUserOvrd,      /* User override.  If 0 then use g.zLogin */
   const char *zBranch,        /* Branch name.  May be 0 */
-  const char *zColor,         /* One-time gackground color.  May be 0 */
+  const char *zColor,         /* One-time background color.  May be 0 */
   const char *zBrClr,         /* Persistent branch color.  May be 0 */
   const char **azTag,         /* Tags to apply to this check-in */
   int *pnFBcard               /* Number of generated B- and F-cards */
 ){
   char *zDate;                /* Date of the check-in */
@@ -1250,11 +1250,11 @@
     db_begin_transaction();
   }
 
   /* Step 1: Insert records for all modified files into the blob
   ** table. If there were arguments passed to this command, only
-  ** the identified fils are inserted (if they have been modified).
+  ** the identified files are inserted (if they have been modified).
   */
   db_prepare(&q,
     "SELECT id, %Q || pathname, mrid, %s, chnged, %s FROM vfile "
     "WHERE chnged==1 AND NOT deleted AND is_selected(id)",
     g.zLocalRoot, glob_expr("pathname", db_get("crnl-glob","")),

Index: src/clone.c
==================================================================
--- src/clone.c
+++ src/clone.c
@@ -70,11 +70,11 @@
 */
 void delete_private_content(void){
   fix_private_blob_dependencies(1);
   db_multi_exec(
     "DELETE FROM blob WHERE rid IN private;"
-    "DELETE FROM delta wHERE rid IN private;"
+    "DELETE FROM delta WHERE rid IN private;"
     "DELETE FROM private;"
     "DROP TABLE IF EXISTS modreq;"
   );
 }
 

Index: src/configure.c
==================================================================
--- src/configure.c
+++ src/configure.c
@@ -15,11 +15,11 @@
 **
 *******************************************************************************
 **
 ** This file contains code used to manage repository configurations.
 **
-** By "responsitory configure" we mean the local state of a repository
+** By "repository configure" we mean the local state of a repository
 ** distinct from the versioned files.
 */
 #include "config.h"
 #include "configure.h"
 #include <assert.h>
@@ -54,11 +54,11 @@
   const char *zHelp;   /* What it does */
 } aGroupName[] = {
   { "/email",        CONFIGSET_ADDR,  "Concealed email addresses in tickets" },
   { "/project",      CONFIGSET_PROJ,  "Project name and description"         },
   { "/skin",         CONFIGSET_SKIN | CONFIGSET_CSS,
-                                      "Web interface apparance settings"     },
+                                      "Web interface appearance settings"    },
   { "/css",          CONFIGSET_CSS,   "Style sheet"                          },
   { "/shun",         CONFIGSET_SHUN,  "List of shunned artifacts"            },
   { "/ticket",       CONFIGSET_TKT,   "Ticket setup",                        },
   { "/user",         CONFIGSET_USER,  "Users and privilege settings"         },
   { "/xfer",         CONFIGSET_XFER,  "Transfer setup",                      },
@@ -164,11 +164,11 @@
 }
 
 /*
 ** Return a pointer to a string that contains the RHS of an IN operator
 ** that will select CONFIG table names that are part of the configuration
-** that matchines iMatch.
+** that matches iMatch.
 */
 const char *configure_inop_rhs(int iMask){
   Blob x;
   int i;
   const char *zSep = "";
@@ -305,11 +305,11 @@
   configHasBeenReset |= m;
 }
 
 /*
 ** Create the temporary _xfer_reportfmt and _xfer_user tables that are
-** necessary in order to evalute the SQL text generated by the
+** necessary in order to evaluate the SQL text generated by the
 ** configure_render_special_name() routine.
 **
 ** If replaceFlag is true, then the setup is such that the content in
 ** the SQL text will completely replace the current repository configuration.
 ** If replaceFlag is false, then the SQL text will be merged with the
@@ -460,11 +460,11 @@
 **    /reportfmt  $MTIME $TITLE owner $VALUE cols $VALUE sqlcode $VALUE
 **    /concealed  $MTIME $HASH content $VALUE
 **
 ** OLD FORMAT:
 **
-** The old format is retained for backwards compatiblity, but is deprecated.
+** The old format is retained for backwards compatibility, but is deprecated.
 ** The cutover from old format to new was on 2011-04-25.  After sufficient
 ** time has passed, support for the old format will be removed.
 **
 ** zName is either the NAME of an element of the CONFIG table, or else
 ** one of the special names "@shun", "@reportfmt", "@user", or "@concealed".
@@ -782,11 +782,11 @@
 ** Where METHOD is one of: export import merge pull push reset.  All methods
 ** accept the -R or --repository option to specific a repository.
 **
 **    %fossil configuration export AREA FILENAME
 **
-**         Write to FILENAME exported configuraton information for AREA.
+**         Write to FILENAME exported configuration information for AREA.
 **         AREA can be one of:  all email project shun skin ticket user
 **
 **    %fossil configuration import FILENAME
 **
 **         Read a configuration from FILENAME, overwriting the current

Index: src/content.c
==================================================================
--- src/content.c
+++ src/content.c
@@ -20,15 +20,15 @@
 #include "config.h"
 #include "content.h"
 #include <assert.h>
 
 /*
-** The artifact retrival cache
+** The artifact retrieval cache
 */
 static struct {
   i64 szTotal;         /* Total size of all entries in the cache */
-  int n;               /* Current number of eache entries */
+  int n;               /* Current number of cache entries */
   int nAlloc;          /* Number of slots allocated in a[] */
   int nextAge;         /* Age counter for implementing LRU */
   int skipCnt;         /* Used to limit entries expelled from cache */
   struct cacheLine {   /* One instance of this for each cache entry */
     int rid;                  /* Artifact id */
@@ -42,11 +42,11 @@
   **
   ** Artifacts whose record ID are in missingCache cannot be retrieved
   ** either because they are phantoms or because they are a delta that
   ** depends on a phantom.  Artifacts whose content we are certain is
   ** available are in availableCache.  If an artifact is in neither cache
-  ** then its current availablity is unknown.
+  ** then its current availability is unknown.
   */
   Bag missing;         /* Cache of artifacts that are incomplete */
   Bag available;       /* Cache of artifacts that are complete */
 } contentCache;
 
@@ -471,11 +471,11 @@
 ** If the record already exists but is a phantom, the pBlob content
 ** is inserted and the phatom becomes a real record.
 **
 ** The original content of pBlob is not disturbed.  The caller continues
 ** to be responsible for pBlob.  This routine does *not* take over
-** responsiblity for freeing pBlob.
+** responsibility for freeing pBlob.
 */
 int content_put_ex(
   Blob *pBlob,              /* Content to add to the repository */
   const char *zUuid,        /* SHA1 hash of reconstructed pBlob */
   int srcId,                /* pBlob is a delta from this entry */

Index: src/db.c
==================================================================
--- src/db.c
+++ src/db.c
@@ -213,11 +213,11 @@
 
 /*
 ** Install a commit hook.  Hooks are installed in sequence order.
 ** It is an error to install the same commit hook more than once.
 **
-** Each commit hook is called (in order of accending sequence) at
+** Each commit hook is called (in order of ascending sequence) at
 ** each commit operation.  If any commit hook returns non-zero,
 ** the subsequence commit hooks are omitted and the transaction
 ** rolls back rather than commit.  It is the responsibility of the
 ** hooks themselves to issue any error messages.
 */
@@ -325,11 +325,11 @@
   return sqlite3_bind_blob(pStmt->pStmt, paramIdx(pStmt, zParamName),
                           blob_buffer(pBlob), blob_size(pBlob), SQLITE_STATIC);
 }
 
 /* bind_str() treats a Blob object like a TEXT string and binds it
-** to the SQL variable.  Constrast this to bind_blob() which treats
+** to the SQL variable.  Contrast this to bind_blob() which treats
 ** the Blob object like an SQL BLOB.
 */
 int db_bind_str(Stmt *pStmt, const char *zParamName, Blob *pBlob){
   return sqlite3_bind_text(pStmt->pStmt, paramIdx(pStmt, zParamName),
                           blob_buffer(pBlob), blob_size(pBlob), SQLITE_STATIC);
@@ -449,11 +449,11 @@
   blob_append(pBlob, sqlite3_column_blob(pStmt->pStmt, N),
               sqlite3_column_bytes(pStmt->pStmt, N));
 }
 
 /*
-** Initialize a blob to an ephermeral copy of the content of a
+** Initialize a blob to an ephemeral copy of the content of a
 ** column in the current row.  The data in the blob will become
 ** invalid when the statement is stepped or reset.
 */
 void db_ephemeral_blob(Stmt *pStmt, int N, Blob *pBlob){
   blob_init(pBlob, sqlite3_column_blob(pStmt->pStmt, N),
@@ -1460,13 +1460,13 @@
     sqlite3_result_text(context, g.zLogin, -1, SQLITE_STATIC);
   }
 }
 
 /*
-** Implement the cgi() SQL function.  cgi() takes a an argument which is
+** Implement the cgi() SQL function.  cgi() takes an argument which is
 ** a name of CGI query parameter. The value of that parameter is returned,
-** if available. optional second argument will be returned if the first
+** if available. Optional second argument will be returned if the first
 ** doesn't exist as a CGI parameter.
 */
 static void db_sql_cgi(sqlite3_context *context, int argc, sqlite3_value **argv){
   const char* zP;
   if( argc!=1 && argc!=2 ) return;
@@ -2156,11 +2156,11 @@
 **                     Ex: meld "%baseline" "%original" "%merge" "%output"
 **
 **    http-port        The TCP/IP port number to use by the "server"
 **                     and "ui" commands.  Default: 8080
 **
-**    https-login      Send login creditials using HTTPS instead of HTTP
+**    https-login      Send login credentials using HTTPS instead of HTTP
 **                     even if the login page request came via HTTP.
 **
 **    ignore-glob      The VALUE is a comma or newline-separated list of GLOB
 **     (versionable)   patterns specifying files that the "extra" command will
 **                     ignore.  Example:  *.o,*.obj,*.exe
@@ -2294,11 +2294,11 @@
     usage("?PROPERTY? ?VALUE?");
   }
 }
 
 /*
-** The input in a a timespan measured in days.  Return a string which
+** The input in a timespan measured in days.  Return a string which
 ** describes that timespan in units of seconds, minutes, hours, days,
 ** or years, depending on its duration.
 */
 char *db_timespan_name(double rSpan){
   if( rSpan<0 ) rSpan = -rSpan;

Index: src/delta.c
==================================================================
--- src/delta.c
+++ src/delta.c
@@ -16,11 +16,11 @@
 *******************************************************************************
 **
 ** This module implements the delta compress algorithm.
 **
 ** Though developed specifically for fossil, the code in this file
-** is generally appliable and is thus easily separated from the
+** is generally applicable and is thus easily separated from the
 ** fossil source code base.  Nothing in this file depends on anything
 ** else in fossil.
 */
 #include <stdio.h>
 #include <assert.h>

Index: src/descendants.c
==================================================================
--- src/descendants.c
+++ src/descendants.c
@@ -13,11 +13,11 @@
 **   drh@hwaci.com
 **   http://www.hwaci.com/drh/
 **
 *******************************************************************************
 **
-** This file contains code used to find decendants of a version
+** This file contains code used to find descendants of a version
 ** or leaves of a version tree.
 */
 #include "config.h"
 #include "descendants.h"
 #include <assert.h>
@@ -24,11 +24,11 @@
 
 
 /*
 ** Create a temporary table named "leaves" if it does not
 ** already exist.  Load this table with the RID of all
-** check-ins that are leaves which are decended from
+** check-ins that are leaves which are descended from
 ** check-in iBase.
 **
 ** A "leaf" is a check-in that has no children in the same branch.
 ** There is a separate permanent table LEAF that contains all leaves
 ** in the tree.  This routine is used to compute a subset of that
@@ -71,11 +71,11 @@
     bag_init(&pending);
     bag_insert(&pending, iBase);
 
     /* This query returns all non-branch-merge children of check-in :rid.
     **
-    ** If a a child is a merge of a fork within the same branch, it is 
+    ** If a child is a merge of a fork within the same branch, it is 
     ** returned.  Only merge children in different branches are excluded.
     */
     db_prepare(&q1,
       "SELECT cid FROM plink"
       " WHERE pid=:rid"

Index: src/diff.c
==================================================================
--- src/diff.c
+++ src/diff.c
@@ -23,11 +23,11 @@
 #include <assert.h>
 
 
 #if INTERFACE
 /*
-** Allowed flag parameters to the text_diff() and html_sbsdiff() funtions:
+** Allowed flag parameters to the text_diff() and html_sbsdiff() functions:
 */
 #define DIFF_CONTEXT_MASK ((u64)0x0000ffff) /* Lines of context. Default if 0 */
 #define DIFF_WIDTH_MASK   ((u64)0x00ff0000) /* side-by-side column width */
 #define DIFF_IGNORE_EOLWS ((u64)0x01000000) /* Ignore end-of-line whitespace */
 #define DIFF_SIDEBYSIDE   ((u64)0x02000000) /* Generate a side-by-side diff */
@@ -2089,11 +2089,11 @@
   int fnid;         /* Filename ID */
   int fid;          /* File instance ID */
   int mid;          /* Manifest where file was checked in */
   int cid;          /* Checkout ID */
   Blob treename;    /* FILENAME translated to canonical form */
-  char *zFilename;  /* Cannonical filename */
+  char *zFilename;  /* Canonical filename */
   Annotator ann;    /* The annotation of the file */
   int i;            /* Loop counter */
   const char *zLimit; /* The value to the --limit option */
   int iLimit;       /* How far back in time to look */
   int showLog;      /* True to show the log */

Index: src/encode.c
==================================================================
--- src/encode.c
+++ src/encode.c
@@ -134,11 +134,11 @@
 }
 
 /*
 ** Convert the input string into a form that is suitable for use as
 ** a token in the HTTP protocol.  Spaces are encoded as '+' and special
-** characters are encoded as "%HH" where HH is a two-digit hexidecimal
+** characters are encoded as "%HH" where HH is a two-digit hexadecimal
 ** representation of the character.  The "/" character is encoded
 ** as "%2F".
 */
 char *httpize(const char *z, int n){
   return EncodeHttp(z, n, 1);

Index: src/glob.c
==================================================================
--- src/glob.c
+++ src/glob.c
@@ -216,11 +216,11 @@
   return *z==0;
 }
 
 /*
 ** Return true (non-zero) if zString matches any of the patterns in
-** the Glob.  The value returned is actually a 1-basd index of the pattern
+** the Glob.  The value returned is actually a 1-based index of the pattern
 ** that matched.  Return 0 if none of the patterns match zString.
 **
 ** A NULL glob matches nothing.
 */
 int glob_match(Glob *pGlob, const char *zString){

Index: src/http_socket.c
==================================================================
--- src/http_socket.c
+++ src/http_socket.c
@@ -126,11 +126,11 @@
   }
 }
 
 /*
 ** Open a socket connection.  The identify of the server is determined
-** by global varibles that are set using url_parse():
+** by global variables that are set using url_parse():
 **
 **    g.urlName       Name of the server.  Ex: www.fossil-scm.org
 **    g.urlPort       TCP/IP port to use.  Ex: 80
 **
 ** Return the number of errors.

Index: src/http_ssl.c
==================================================================
--- src/http_ssl.c
+++ src/http_ssl.c
@@ -182,11 +182,11 @@
   }
 }
 
 /*
 ** Open an SSL connection.  The identify of the server is determined
-** by global varibles that are set using url_parse():
+** by global variables that are set using url_parse():
 **
 **    g.urlName       Name of the server.  Ex: www.fossil-scm.org
 **    g.urlPort       TCP/IP port to use.  Ex: 80
 **
 ** Return the number of errors.

Index: src/http_transport.c
==================================================================
--- src/http_transport.c
+++ src/http_transport.c
@@ -292,11 +292,11 @@
   }
 }
 
 /*
 ** This routine is called when the outbound message is complete and
-** it is time to being recieving a reply.
+** it is time to being receiving a reply.
 */
 void transport_flip(void){
   if( g.urlIsSsh ){
     fprintf(sshOut, "\n\n");
   }else if( g.urlIsFile ){

Index: src/json.c
==================================================================
--- src/json.c
+++ src/json.c
@@ -322,11 +322,11 @@
   sprintf(buf+7,"%04d", code);
   return buf;
 }
 
 /*
-** Adds v to the API-internal cleanup mechanism. key is ingored
+** Adds v to the API-internal cleanup mechanism. key is ignored
 ** (legacy) but might be re-introduced and "should" be a unique
 ** (app-wide) value.  Failure to insert an item may be caused by any
 ** of the following:
 **
 ** - Allocation error.
@@ -824,11 +824,11 @@
   v = cson_value_new_array();
   g.json.gc.v = v;
   g.json.gc.a = cson_value_get_array(v);
   cson_value_add_reference(v)
     /* Needed to allow us to include this value in other JSON
-       containers without transfering ownership to those containers.
+       containers without transferring ownership to those containers.
        All other persistent g.json.XXX.v values get appended to
        g.json.gc.a, and therefore already have a live reference
        for this purpose.
     */
     ;
@@ -1466,11 +1466,11 @@
 ** If payload is not NULL and resultCode is 0 then it is set as the
 ** "payload" property of the returned object.  If resultCode is 0 then
 ** it defaults to g.json.resultCode. If resultCode is (or defaults to)
 ** non-zero and payload is not NULL then this function calls
 ** cson_value_free(payload) and does not insert the payload into the
-** response. In either case, onwership of payload is transfered to (or
+** response. In either case, ownership of payload is transfered to (or
 ** shared with, if the caller holds a reference) this function.
 **
 ** pMsg is an optional message string property (resultText) of the
 ** response. If resultCode is non-0 and pMsg is NULL then
 ** json_err_cstr() is used to get the error string. The caller may
@@ -1537,11 +1537,11 @@
     }
     if(g.json.param.v){
       tmp = g.json.param.v;
       SET("$params");
     }
-    if(0){/*Only for debuggering, add some info to the response.*/
+    if(0){/*Only for debugging, add some info to the response.*/
       tmp = cson_value_new_integer( g.json.cmd.offset );
       cson_object_set( o, "cmd.offset", tmp );
       cson_object_set( o, "isCGI", cson_value_new_bool( g.isHTTP ) );
     }
   }
@@ -1552,11 +1552,11 @@
        the JSON exit paths use (and they call it after processing,
        just before they end).
     */
     double span;
     span = END_TIMER;
-    /* i'm actually seeing sub-ms runtimes in some tests, but a time of
+    /* I'm actually seeing sub-ms runtimes in some tests, but a time of
        0 is "just wrong", so we'll bump that up to 1ms.
     */
     cson_object_set(o,"procTimeMs", cson_value_new_integer((cson_int_t)((span>1.0)?span:1)));
   }
   if(g.json.warnings){
@@ -2184,11 +2184,11 @@
   }
 }
 
 
 /*
-** Impl of /json/rebuild. Requires admin previleges.
+** Impl of /json/rebuild. Requires admin privileges.
 */
 static cson_value * json_page_rebuild(){
   if( !g.perm.Admin ){
     json_set_err(FSL_JSON_E_DENIED,"Requires 'a' privileges.");
     return NULL;
@@ -2357,11 +2357,11 @@
 ** in the argument dispatching code, any -FLAGS must come after the final
 ** sub- (or subsub-) command.
 **
 ** The commands include:
 **
-**   anonymousPassord
+**   anonymousPassword
 **   artifact
 **   branch
 **   cap
 **   config
 **   diff

Index: src/json_detail.h
==================================================================
--- src/json_detail.h
+++ src/json_detail.h
@@ -117,11 +117,11 @@
 **
 ** By the time the callback is called, json_page_top() (HTTP mode) or
 ** json_cmd_top() (CLI mode) will have set up the JSON-related
 ** environment. Implementations may generate a "result payload" of any
 ** JSON type by returning its value from this function (ownership is
-** tranferred to the caller). On error they should set
+** transferred to the caller). On error they should set
 ** g.json.resultCode to one of the FossilJsonCodes values and return
 ** either their payload object or NULL. Note that NULL is a legal
 ** success value - it simply means the response will contain no
 ** payload. If g.json.resultCode is non-zero when this function
 ** returns then the top-level dispatcher will destroy any payload
@@ -133,16 +133,16 @@
 **
 ** a) Permissions checking (inspecting g.perm).
 ** b) generating a response payload (if applicable)
 ** c) Setting g.json's error state (if applicable). See json_set_err().
 **
-** It is imperitive that NO callback functions EVER output ANYTHING to
+** It is imperative that NO callback functions EVER output ANYTHING to
 ** stdout, as that will effectively corrupt any JSON output, and
 ** almost certainly will corrupt any HTTP response headers. Output
 ** sent to stderr ends up in my apache log, so that might be useful
-** for debuggering in some cases, but no such code should be left
-** enabled for non-debuggering builds.
+** for debugging in some cases, but no such code should be left
+** enabled for non-debugging builds.
 */
 typedef cson_value * (*fossil_json_f)();
 
 /*
 ** Holds name-to-function mappings for JSON page/command dispatching.
@@ -175,11 +175,11 @@
   ** Which mode(s) of execution does func() support:
   **
   ** <0 = CLI only, >0 = HTTP only, 0==both
   **
   ** Now that we can simulate POST in CLI mode, the distinction
-  ** between them has disappeared in most (or all) cases, so 0 is the
+  ** between them has disappeared in most (or all) cases, so 0 is
   ** the standard value.
   **
   ** 201207: this is not needed any more. We can get rid of it. Or
   ** keep it around in case it becomes useful again at some point.
   */
@@ -208,11 +208,11 @@
 ** pages must be an array of JsonPageDef commands which we can
 ** dispatch. The final item in the array MUST have a NULL name
 ** element.
 **
 ** This function takes the command specified in
-** json_comand_arg(1+g.json.dispatchDepth) and searches pages for a
+** json_command_arg(1+g.json.dispatchDepth) and searches pages for a
 ** matching name. If found then that page's func() is called to fetch
 ** the payload, which is returned to the caller.
 **
 ** On error, g.json.resultCode is set to one of the FossilJsonCodes
 ** values and NULL is returned. If non-NULL is returned, ownership is
@@ -251,11 +251,11 @@
 **
 ** b) We are running in JSON CLI mode, but no POST data has been fed
 ** in.
 **
 ** Whether or not we need to take args from CLI or POST data makes a
-** difference in argument/parameter handling in many JSON rountines,
+** difference in argument/parameter handling in many JSON routines,
 ** and thus this distinction.
 */
 char fossil_has_json();
 
 enum json_get_changed_files_flags {

Index: src/json_login.c
==================================================================
--- src/json_login.c
+++ src/json_login.c
@@ -169,11 +169,11 @@
 
        For non-anonymous users we could also simply query the
        user.cexpire db field after calling login_set_user_cookie(),
        but for anonymous we need to get the time when the cookie is
        set because anon does not get a db entry like normal users
-       do. Anonyous cookies currently have a hard-coded lifetime in
+       do. Anonymous cookies currently have a hard-coded lifetime in
        login_set_anon_cookie() (currently 6 hours), which we "should
        arguably" change to use the time configured for non-anonymous
        users (see login_set_user_cookie() for details).
     */
     return payload;
@@ -186,17 +186,17 @@
 */
 cson_value * json_page_logout(){
   cson_value const *token = g.json.authToken;
     /* Remember that json_mode_bootstrap() replaces the login cookie
        with the JSON auth token if the request contains it. If the
-       reqest is missing the auth token then this will fetch fossil's
+       request is missing the auth token then this will fetch fossil's
        original cookie. Either way, it's what we want :).
 
        We require the auth token to avoid someone maliciously
        trying to log someone else out (not 100% sure if that
        would be possible, given fossil's hardened cookie, but
-       i'll assume it would be for the time being).
+       I'll assume it would be for the time being).
     */
     ;
   if(!token){
     g.json.resultCode = FSL_JSON_E_MISSING_AUTH;
   }else{

Index: src/json_tag.c
==================================================================
--- src/json_tag.c
+++ src/json_tag.c
@@ -285,11 +285,11 @@
       "   CASE event.type"
       "     WHEN 'ci' THEN 'checkin'"
       "     WHEN 'w' THEN 'wiki'"
       "     WHEN 'e' THEN 'event'"
       "     WHEN 't' THEN 'ticket'"
-      "     ELSE 'WTF?'"
+      "     ELSE 'unknown'"
       "   END"
       "   AS eventType"
       " FROM event, blob"
       " WHERE blob.rid=event.objid"
       ;

Index: src/json_timeline.c
==================================================================
--- src/json_timeline.c
+++ src/json_timeline.c
@@ -629,11 +629,11 @@
     cson_value * rowV;
     cson_object * row;
     /*printf("rid=%d\n",rid);*/
     pMan = manifest_get(rid, CFTYPE_TICKET);
     if(!pMan){
-      /* this might be an attachment? i'm seeing this with
+      /* this might be an attachment? I'm seeing this with
          rid 15380, uuid [1292fef05f2472108].
 
          /json/artifact/1292fef05f2472108 returns not-found,
          probably because we haven't added artifact/ticket
          yet(?).

Index: src/json_wiki.c
==================================================================
--- src/json_wiki.c
+++ src/json_wiki.c
@@ -210,11 +210,11 @@
     return json_get_wiki_page_by_name(zPageName, contentFormat);
   }else{
     int rid = symbolic_name_to_rid( zSymname ? zSymname : zPageName, "w" );
     if(rid<0){
       json_set_err(FSL_JSON_E_AMBIGUOUS_UUID,
-                   "UUID [%s] is ambiguious.", zSymname);
+                   "UUID [%s] is ambiguous.", zSymname);
       return NULL;
     }else if(rid==0){
       json_set_err(FSL_JSON_E_RESOURCE_NOT_FOUND,
                    "UUID [%s] does not resolve to a wiki page.", zSymname);
       return NULL;

Index: src/login.c
==================================================================
--- src/login.c
+++ src/login.c
@@ -354,11 +354,11 @@
                   "  cexpire=0 WHERE uid=%d"
                   "  AND login NOT IN ('anonymous','nobody',"
                   "  'developer','reader')", g.userUid);
     cgi_replace_parameter(cookie, NULL)
       /* At the time of this writing, cgi_replace_parameter() was
-      ** "NULL-value-safe", and i'm hoping the NULL doesn't cause any
+      ** "NULL-value-safe", and I'm hoping the NULL doesn't cause any
       ** downstream problems here. We could alternately use "" here.
       */
       ;
   }
 }
@@ -467,11 +467,11 @@
   const char *zNew1, *zNew2;
   const char *zAnonPw = 0;
   const char *zGoto = P("g");
   int anonFlag;
   char *zErrMsg = "";
-  int uid;                     /* User id loged in user */
+  int uid;                     /* User id logged in user */
   char *zSha1Pw;
   const char *zIpAddr;         /* IP address of requestor */
 
   login_check_credentials();
   sqlite3_create_function(g.db, "constant_time_cmp", 2, SQLITE_UTF8, 0,
@@ -760,11 +760,11 @@
   );
   return uid;
 }
 
 /*
-** This routine examines the login cookie to see if it exists and and
+** This routine examines the login cookie to see if it exists and
 ** is valid.  If the login cookie checks out, it then sets global
 ** variables appropriately.  Global variables set include g.userUid
 ** and g.zLogin and the g.perm family of permission booleans.
 **
 ** If the 
@@ -1160,11 +1160,11 @@
   @ <input type="hidden" name="csrf" value="%s(g.zCsrfToken)" />
 }
 
 /*
 ** Before using the results of a form, first call this routine to verify
-** that ths Anti-CSRF token is present and is valid.  If the Anti-CSRF token
+** that this Anti-CSRF token is present and is valid.  If the Anti-CSRF token
 ** is missing or is incorrect, that indicates a cross-site scripting attach
 ** so emits an error message and abort.
 */
 void login_verify_csrf_secret(void){
   if( g.okCsrf ) return;
@@ -1341,11 +1341,11 @@
     zSelfCode
   );
   while( db_step(&q)==SQLITE_ROW ){
     const char *zRepoName = db_column_text(&q, 1);
     if( file_size(zRepoName)<0 ){
-      /* Silently remove non-existant repositories from the login group. */
+      /* Silently remove non-existent repositories from the login group. */
       const char *zLabel = db_column_text(&q, 0);
       db_multi_exec(
          "DELETE FROM config WHERE name GLOB 'peer-*-%q'",
          &zLabel[10]
       );

Index: src/main.c
==================================================================
--- src/main.c
+++ src/main.c
@@ -150,11 +150,11 @@
   int xlinkClusterOnly;   /* Set when cloning.  Only process clusters */
   int fTimeFormat;        /* 1 for UTC.  2 for localtime.  0 not yet selected */
   int *aCommitFile;       /* Array of files to be committed */
   int markPrivate;        /* All new artifacts are private if true */
   int clockSkewSeen;      /* True if clocks on client and server out of sync */
-  char isHTTP;            /* True if erver/CGI modes, else assume CLI. */
+  char isHTTP;            /* True if server/CGI modes, else assume CLI. */
   char javascriptHyperlink; /* If true, set href= using script, not HTML */
 
   int urlIsFile;          /* True if a "file:" url */
   int urlIsHttps;         /* True if a "https:" url */
   int urlIsSsh;           /* True if an "ssh:" url */
@@ -1526,11 +1526,11 @@
     ** eventually have a problem/collision with this.
     **
     ** Disabled by stephan when running in JSON mode because this
     ** particular parameter name is very common and i have had no end
     ** of grief with this handling. The JSON API never relies on the
-    ** handling below, and by disabling it in JSON mode i can remove
+    ** handling below, and by disabling it in JSON mode I can remove
     ** lots of special-case handling in several JSON handlers.
     */
 #ifdef FOSSIL_ENABLE_JSON
     if(!g.json.isJsonMode){
 #endif
@@ -1682,11 +1682,11 @@
 ** If there is a line of the form:
 **
 **    redirect: * URL
 **
 ** Then a redirect is made to URL if no match is found.  Otherwise a
-** very primative error message is returned.
+** very primitive error message is returned.
 */
 void redirect_web_page(int nRedirect, char **azRedirect){
   int i;                             /* Loop counter */
   const char *zNotFound = 0;         /* Not found URL */
   const char *zName = P("name");
@@ -1884,11 +1884,11 @@
 ** The "ui" command automatically starts a web browser after initializing
 ** the web server.  The "ui" command also binds to 127.0.0.1 and so will
 ** only process HTTP traffic from the local machine.
 **
 ** In the "server" command, the REPOSITORY can be a directory (aka folder)
-** that contains one or more rspositories with names ending in ".fossil".
+** that contains one or more repositories with names ending in ".fossil".
 ** In that case, the first element of the URL is used to select among the
 ** various repositories.
 **
 ** By default, the "ui" command provides full administrative access without
 ** having to log in.  This can be disabled by setting turning off the

Index: src/makeheaders.c
==================================================================
--- src/makeheaders.c
+++ src/makeheaders.c
@@ -747,11 +747,11 @@
 #define TT_String          6   /* String or character constants. ".." or '.' */
 #define TT_Braces          7   /* All text between { and a matching } */
 #define TT_EOF             8   /* End of file */
 #define TT_Error           9   /* An error condition */
 #define TT_BlockComment    10  /* A C-Style comment at the left margin that
-                                * spans multple lines */
+                                * spans multiple lines */
 #define TT_Other           0   /* None of the above */
 
 /*
 ** Get a single low-level token from the input file.  Update the
 ** file pointer so that it points to the first character beyond the
@@ -1486,11 +1486,11 @@
   ** At this point, we know we have a type declaration that is bounded
   ** by pList and pEnd and has the name pName.
   */
 
   /*
-  ** If the braces are followed immedately by a semicolon, then we are
+  ** If the braces are followed immediately by a semicolon, then we are
   ** dealing a type declaration only.  There is not variable definition
   ** following the type declaration.  So reset...
   */
   if( pEnd->pNext==0 || pEnd->pNext->zText[0]==';' ){
     *pReset = ';';
@@ -1882,11 +1882,11 @@
 **
 ** pEnd is the token that ends the object.  It can be either a ';' or
 ** a '='.  If it is '=', then assume we have a variable definition.
 **
 ** If pEnd is ';', then the determination is more difficult.  We have
-** to search for an occurance of an ID followed immediately by '('.
+** to search for an occurrence of an ID followed immediately by '('.
 ** If found, we have a prototype.  Otherwise we are dealing with a
 ** variable definition.
 */
 static int isVariableDef(Token *pFirst, Token *pEnd){
   if( pEnd && pEnd->zText[0]=='=' && 
@@ -2636,11 +2636,11 @@
       DeclClearProperty(p,DP_Flag);
     }
   }
 
   /*
-  ** Call ScanText() recusively (this routine is called from ScanText())
+  ** Call ScanText() recursively (this routine is called from ScanText())
   ** to include declarations required to come before these declarations.
   */
   for(p=pDecl; p; p=p->pSameName){
     if( DeclHasProperty(p,DP_Flag) ){
       if( p->zDecl[0]=='#' ){
@@ -2760,11 +2760,11 @@
   /* printf("END SCANTEXT\n"); */
 }
 
 /*
 ** Provide a full declaration to any object which so far has had only
-** a foward declaration.
+** a forward declaration.
 */
 static void CompleteForwardDeclarations(GenState *pState){
   Decl *pDecl;
   int progress;
 

Index: src/manifest.c
==================================================================
--- src/manifest.c
+++ src/manifest.c
@@ -450,11 +450,11 @@
       }
 
       /*
       **    B <uuid>
       **
-      ** A B-line gives the UUID for the baselinen of a delta-manifest.
+      ** A B-line gives the UUID for the baseline of a delta-manifest.
       */
       case 'B': {
         if( p->zBaseline ) SYNTAX("more than one B-card");
         p->zBaseline = next_token(&x, &sz);
         if( p->zBaseline==0 ) SYNTAX("missing UUID on B-card");
@@ -1154,11 +1154,11 @@
 ** the filename table if it is not there already.
 */
 static void add_one_mlink(
   int mid,                  /* The record ID of the manifest */
   const char *zFromUuid,    /* UUID for the mlink.pid. "" to add file */
-  const char *zToUuid,      /* UUID for the mlink.fid. "" to delele */
+  const char *zToUuid,      /* UUID for the mlink.fid. "" to delete */
   const char *zFilename,    /* Filename */
   const char *zPrior,       /* Previous filename. NULL if unchanged */
   int isPublic,             /* True if mid is not a private manifest */
   int mperm                 /* 1: exec, 2: symlink */
 ){
@@ -1341,11 +1341,11 @@
   }
   isPublic = !content_is_private(cid);
 
   /* Try to make the parent manifest a delta from the child, if that
   ** is an appropriate thing to do.  For a new baseline, make the 
-  ** previoius baseline a delta from the current baseline.
+  ** previous baseline a delta from the current baseline.
   */
   if( (pParent->zBaseline==0)==(pChild->zBaseline==0) ){
     content_deltify(pid, cid, 0); 
   }else if( pChild->zBaseline==0 && pParent->zBaseline!=0 ){
     content_deltify(pParent->pBaseline->rid, cid, 0);
@@ -1734,11 +1734,11 @@
       }else{
         tid = rid;
       }
       if( tid ){
         switch( p->aTag[i].zName[0] ){
-          case '-':  type = 0;  break;  /* Cancel prior occurances */
+          case '-':  type = 0;  break;  /* Cancel prior occurrences */
           case '+':  type = 1;  break;  /* Apply to target only */
           case '*':  type = 2;  break;  /* Propagate to descendants */
           default:
             fossil_fatal("unknown tag type in manifest: %s", p->aTag);
             return 0;

Index: src/md5.c
==================================================================
--- src/md5.c
+++ src/md5.c
@@ -366,11 +366,11 @@
 }
 
 
 /*
 ** Compute the MD5 checksum of a file on disk.  Store the resulting
-** checksum in the blob pCksum.  pCksum is assumed to be ininitialized.
+** checksum in the blob pCksum.  pCksum is assumed to be initialized.
 **
 ** Return the number of errors.
 */
 int md5sum_file(const char *zFilename, Blob *pCksum){
   FILE *in;

Index: src/merge3.c
==================================================================
--- src/merge3.c
+++ src/merge3.c
@@ -83,11 +83,11 @@
 **
 **   (0)  The number of lines to copy
 **   (1)  The number of lines to delete
 **   (2)  The number of liens to insert
 **
-** Suppose we want to advance over sz lines of the originl file.  This routine
+** Suppose we want to advance over sz lines of the original file.  This routine
 ** returns true if that advance would land us on a copy operation.  It
 ** returns false if the advance would end on a delete.
 */
 static int ends_at_CPY(int *aC, int sz){
   while( sz>0 && (aC[0]>0 || aC[1]>0 || aC[2]>0) ){

Index: src/mkindex.c
==================================================================
--- src/mkindex.c
+++ src/mkindex.c
@@ -46,11 +46,11 @@
 ** understood to be help text for the command specified.  This help
 ** text is accumulated and a table containing the text for each command
 ** is generated.  That table is used implement the "fossil help" command
 ** and the "/help" HTTP method.
 **
-** Multiple occurrances of WEBPAGE: or COMMAND: (but not both) can appear
+** Multiple occurrences of WEBPAGE: or COMMAND: (but not both) can appear
 ** before each function name.  In this way, webpages and commands can
 ** have aliases.
 */
 #include <stdio.h>
 #include <stdlib.h>

Index: src/name.c
==================================================================
--- src/name.c
+++ src/name.c
@@ -62,11 +62,11 @@
 **   *  "current"
 **   *  "prev" or "previous"
 **   *  "next"
 **
 ** Return the RID of the matching artifact.  Or return 0 if the name does not
-** match any known object.  Or return -1 if the name is ambiguious.
+** match any known object.  Or return -1 if the name is ambiguous.
 **
 ** The zType parameter specifies the type of artifact: ci, t, w, e, g. 
 ** If zType is NULL or "" or "*" then any type of artifact will serve.
 ** zType is "ci" in most use cases since we are usually searching for
 ** a check-in.
@@ -377,11 +377,11 @@
 
 /*
 ** WEBPAGE: ambiguous
 ** URL: /ambiguous?name=UUID&src=WEBPAGE
 ** 
-** The UUID given by the name paramager is ambiguous.  Display a page
+** The UUID given by the name parameter is ambiguous.  Display a page
 ** that shows all possible choices and let the user select between them.
 */
 void ambiguous_page(void){
   Stmt q;
   const char *zName = P("name");  

Index: src/printf.c
==================================================================
--- src/printf.c
+++ src/printf.c
@@ -24,11 +24,11 @@
 ** Conversion types fall into various categories as defined by the
 ** following enumeration.
 */
 #define etRADIX       1 /* Integer types.  %d, %x, %o, and so forth */
 #define etFLOAT       2 /* Floating point.  %f */
-#define etEXP         3 /* Exponentional notation. %e and %E */
+#define etEXP         3 /* Exponential notation. %e and %E */
 #define etGENERIC     4 /* Floating or exponential, depending on exponent. %g */
 #define etSIZE        5 /* Return number of characters processed so far. %n */
 #define etSTRING      6 /* Strings. %s */
 #define etDYNSTRING   7 /* Dynamically allocated strings. %z */
 #define etPERCENT     8 /* Percent symbol. %% */

Index: src/rebuild.c
==================================================================
--- src/rebuild.c
+++ src/rebuild.c
@@ -205,11 +205,11 @@
 **
 ** If the zFNameFormat variable is set, then this routine is
 ** called to run "fossil deconstruct" instead of the usual
 ** "fossil rebuild".  In that case, instead of rebuilding the
 ** cross-referencing information, write the file content out
-** to the approriate directory.
+** to the appropriate directory.
 **
 ** In both cases, this routine automatically recurses to process
 ** other artifacts that are deltas off of the current artifact.
 ** This is the most efficient way to extract all of the original
 ** artifact content from the Fossil repository.
@@ -317,11 +317,11 @@
   tag_add_artifact("sym-", "trunk", zUuid, 0, 2, 0, 0);
   tag_add_artifact("", "branch", zUuid, "trunk", 2, 0, 0);
 }
 
 /*
-** Core function to rebuild the infomration in the derived tables of a
+** Core function to rebuild the information in the derived tables of a
 ** fossil repository from the blobs. This function is shared between
 ** 'rebuild_database' ('rebuild') and 'reconstruct_cmd'
 ** ('reconstruct'), both of which have to regenerate this information
 ** from scratch.
 **
@@ -952,11 +952,11 @@
     prefixLength = 2;
   }else{
     if( zPrefixOpt[0]>='0' && zPrefixOpt[0]<='9' && !zPrefixOpt[1] ){
       prefixLength = (int)(*zPrefixOpt-'0');
     }else{
-      fossil_fatal("N(%s) is not a a valid prefix length!",zPrefixOpt);
+      fossil_fatal("N(%s) is not a valid prefix length!",zPrefixOpt);
     }
   }
   /* open repository and open query for all artifacts */
   db_find_and_open_repository(OPEN_ANY_SCHEMA, 0);
   privateFlag = find_option("private",0,0)!=0;
@@ -974,11 +974,11 @@
   if( file_access(zDestDir, W_OK) ){
     fossil_fatal("DESTINATION(%s) is not writeable!",zDestDir);
   }
 #else
   /* write access on windows is not checked, errors will be
-  ** dected on blob_write_to_file
+  ** detected on blob_write_to_file
   */
 #endif
   if( prefixLength ){
     zFNameFormat = mprintf("%s/%%.%ds/%%s",zDestDir,prefixLength);
   }else{

Index: src/report.c
==================================================================
--- src/report.c
+++ src/report.c
@@ -118,11 +118,11 @@
   return "";
 }
 
 /*
 ** Remove blank lines from the beginning of a string and
-** all whitespace from the end. Removes whitespace preceeding a NL,
+** all whitespace from the end. Removes whitespace preceding a NL,
 ** which also converts any CRNL sequence into a single NL.
 */
 char *remove_blank_lines(const char *zOrig){
   int i, j, n;
   char *z;
@@ -1092,11 +1092,11 @@
   return 0;
 }
 
 /*
 ** Generate a report.  The rn query parameter is the report number.
-** The output is written to stdout as flat file. The zFilter paramater
+** The output is written to stdout as flat file. The zFilter parameter
 ** is a full WHERE-condition.
 */
 void rptshow( 
     const char *zRep,
     const char *zSepIn,

Index: src/search.c
==================================================================
--- src/search.c
+++ src/search.c
@@ -93,11 +93,11 @@
 /*
 ** Compare a search pattern against an input string and return a score.
 **
 ** Scoring:
 **   *  All terms must match at least once or the score is zero
-**   *  10 bonus points if the first occurrance is an exact match
+**   *  10 bonus points if the first occurrence is an exact match
 **   *  1 additional point for each subsequent match of the same word
 **   *  Extra points of two consecutive words of the pattern are consecutive
 **      in the document
 */
 int search_score(Search *p, const char *zDoc){

Index: src/setup.c
==================================================================
--- src/setup.c
+++ src/setup.c
@@ -309,11 +309,11 @@
                        /* user doing the editing is ADMIN.  Disallow editing */
   char *inherit[128];
   int a[128];
   char *oa[128];
 
-  /* Must have ADMIN privleges to access this page
+  /* Must have ADMIN privileges to access this page
   */
   login_check_credentials();
   if( !g.perm.Admin ){ login_needed(); return; }
 
   /* Check to see if an ADMIN user is trying to edit a SETUP account.

Index: src/sha1.c
==================================================================
--- src/sha1.c
+++ src/sha1.c
@@ -271,11 +271,11 @@
 }
 
 
 /*
 ** Compute the SHA1 checksum of a file on disk.  Store the resulting
-** checksum in the blob pCksum.  pCksum is assumed to be ininitialized.
+** checksum in the blob pCksum.  pCksum is assumed to be initialized.
 **
 ** Return the number of errors.
 */
 int sha1sum_file(const char *zFilename, Blob *pCksum){
   FILE *in;

Index: src/shell.c
==================================================================
--- src/shell.c
+++ src/shell.c
@@ -304,11 +304,11 @@
 }
 
 /*
 ** A global char* and an SQL function to access its current value 
 ** from within an SQL statement. This program used to use the 
-** sqlite_exec_printf() API to substitue a string into an SQL statement.
+** sqlite_exec_printf() API to substitute a string into an SQL statement.
 ** The correct way to do this with sqlite3 is to use the bind API, but
 ** since the shell is built around the callback paradigm it would be a lot
 ** of work. Instead just use this hack, which is quite harmless.
 */
 static const char *zShellStatic = 0;
@@ -1148,11 +1148,11 @@
         zSql = zLeftover;
         while( IsSpace(zSql[0]) ) zSql++;
         continue;
       }
 
-      /* save off the prepared statment handle and reset row count */
+      /* save off the prepared statement handle and reset row count */
       if( pArg ){
         pArg->pStmt = pStmt;
         pArg->cnt = 0;
       }
 

Index: src/sqlcmd.c
==================================================================
--- src/sqlcmd.c
+++ src/sqlcmd.c
@@ -103,11 +103,11 @@
     sqlite3_result_error(context, "input is not zlib compressed", -1);
   }
 }
 
 /*
-** This is the "automatic extensionn" initializer that runs right after
+** This is the "automatic extension" initializer that runs right after
 ** the connection to the repository database is opened.  Set up the
 ** database connection to be more useful to the human operator.
 */
 static int sqlcmd_autoinit(
   sqlite3 *db,

Index: src/style.c
==================================================================
--- src/style.c
+++ src/style.c
@@ -700,11 +700,11 @@
   { "span.note",
     "format for leading text for notes",
     @   font-weight: bold;
   },
   { "span.textareaLabel",
-    "format for textare labels",
+    "format for textarea labels",
     @   font-weight: bold;
   },
   { "table.usetupLayoutTable",
     "format for the user setup layout table",
     @   outline-style: none;
@@ -800,11 +800,11 @@
     @   color: blue;
     @   background-color: #d5d5ff;
     @   border: 1px blue solid;
   },
   { "p.missingPriv",
-    "format for missing priviliges note on user setup page",
+    "format for missing privileges note on user setup page",
     @  color: blue;
   },
   { "span.wikiruleHead",
     "format for leading text in wikirules definitions",
     @   font-weight: bold;
@@ -934,11 +934,11 @@
   { "span.diffln",
     "line numbers in a diff",
     @   color: #a0a0a0;
   },
   { "span.modpending",
-    "Moderation Pending message on timelin",
+    "Moderation Pending message on timeline",
     @   color: #b03800;
     @   font-style: italic;
   },
   { 0,
     0,

Index: src/tag.c
==================================================================
--- src/tag.c
+++ src/tag.c
@@ -341,11 +341,11 @@
 **     %fossil tag add ?--raw? ?--propagate? TAGNAME CHECK-IN ?VALUE?
 **
 **         Add a new tag or property to CHECK-IN. The tag will
 **         be usable instead of a CHECK-IN in commands such as
 **         update and merge.  If the --propagate flag is present,
-**         the tag value propages to all descendants of CHECK-IN
+**         the tag value propagates to all descendants of CHECK-IN
 **
 **     %fossil tag cancel ?--raw? TAGNAME CHECK-IN
 **
 **         Remove the tag TAGNAME from CHECK-IN, and also remove
 **         the propagation of the tag to any descendants.

Index: src/th.c
==================================================================
--- src/th.c
+++ src/th.c
@@ -77,11 +77,11 @@
 ** For scalar variables, Th_Variable.zData is never 0. Th_Variable.nData
 ** stores the number of bytes in the value pointed to by zData.
 **
 ** For an array variable, Th_Variable.zData is 0 and pHash points to
 ** a hash table mapping between array key name (a th1 string) and
-** a the pointer to the Th_Variable structure holding the scalar
+** a pointer to the Th_Variable structure holding the scalar
 ** value.
 */
 struct Th_Variable {
   int nRef;                   /* Number of references to this structure */
   int nData;                  /* Number of bytes at Th_Variable.zData */
@@ -252,11 +252,11 @@
   return -1;
 }
 
 /*
 ** Argument pEntry points to an entry in a stack frame hash table
-** (Th_Frame.paVar). Decrement the refrerence count of the Th_Variable
+** (Th_Frame.paVar). Decrement the reference count of the Th_Variable
 ** structure that the entry points to. Free the Th_Variable if its
 ** reference count reaches 0.
 **
 ** Argument pContext is a pointer to the interpreter structure.
 */
@@ -876,11 +876,11 @@
         Th_Command *p = (Th_Command *)(pEntry->pData);
         const char **azArg = (const char **)argv;
         rc = p->xProc(interp, p->pContext, argc, azArg, argl);
       }
   
-      /* If an error occured, add this command to the stack trace report. */
+      /* If an error occurred, add this command to the stack trace report. */
       if( rc==TH_ERROR ){
         char *zRes;
         int nRes;
         char *zStack = 0;
         int nStack = 0;
@@ -1059,11 +1059,11 @@
 static Th_Variable *thFindValue(
   Th_Interp *interp,
   const char *zVar,     /* Pointer to variable name */
   int nVar,              /* Number of bytes at nVar */
   int create,            /* If true, create the variable if not found */
-  int arrayok            /* If true, an array is Ok. Othewise array==error */
+  int arrayok            /* If true, an array is Ok. Otherwise array==error */
 ){
   const char *zOuter;
   int nOuter;
   const char *zInner;
   int nInner;

Index: src/th_main.c
==================================================================
--- src/th_main.c
+++ src/th_main.c
@@ -486,11 +486,11 @@
 
 /*
 ** TH1 command:     stime
 **
 ** Return the number of microseconds of CPU time consumed by the current
-** process in systsem space.
+** process in system space.
 */
 static int stimeCmd(
   Th_Interp *interp,
   void *p, 
   int argc, 

Index: src/timeline.c
==================================================================
--- src/timeline.c
+++ src/timeline.c
@@ -882,11 +882,11 @@
 **    b=TIMEORTAG    before this event
 **    c=TIMEORTAG    "circa" this event
 **    n=COUNT        max number of events in output
 **    p=UUID         artifact and up to COUNT parents and ancestors
 **    d=UUID         artifact and up to COUNT descendants
-**    dp=UUUID       The same as d=UUID&p=UUID
+**    dp=UUID        The same as d=UUID&p=UUID
 **    t=TAGID        show only check-ins with the given tagid
 **    r=TAGID        show check-ins related to tagid
 **    u=USER         only if belonging to this user
 **    y=TYPE         'ci', 'w', 't', 'e'
 **    s=TEXT         string search (comment and brief)
@@ -902,11 +902,11 @@
 **
 ** p= and d= can appear individually or together.  If either p= or d=
 ** appear, then u=, y=, a=, and b= are ignored.
 **
 ** If a= and b= appear, only a= is used.  If neither appear, the most
-** recent events are choosen.
+** recent events are chosen.
 **
 ** If n= is missing, the default count is 20.
 */
 void page_timeline(void){
   Stmt q;                            /* Query used to generate the timeline */
@@ -1085,14 +1085,14 @@
                     " WHERE tagid=%d AND tagtype>0 AND rid=blob.rid)", tagid);
 
       if( zBrName ){
         url_add_parameter(&url, "r", zBrName);
         /* The next two blob_appendf() calls add SQL that causes checkins that
-        ** are not part of the branch which are parents or childen of the branch
-        ** to be included in the report.  This related check-ins are useful
-        ** in helping to visualize what has happened on a quiescent branch 
-        ** that is infrequently merged with a much more activate branch.
+        ** are not part of the branch which are parents or children of the
+        ** branch to be included in the report.  This related check-ins are
+        ** useful in helping to visualize what has happened on a quiescent
+        ** branch that is infrequently merged with a much more activate branch.
         */
         blob_appendf(&sql,
           " OR EXISTS(SELECT 1 FROM plink JOIN tagxref ON rid=cid"
                      " WHERE tagid=%d AND tagtype>0 AND pid=blob.rid)",
            tagid

Index: src/tkt.c
==================================================================
--- src/tkt.c
+++ src/tkt.c
@@ -91,11 +91,11 @@
 ** variables.
 **
 ** Fields of the TICKET table that begin with "private_" are
 ** expanded using the db_reveal() function.  If g.perm.RdAddr is
 ** true, then the db_reveal() function will decode the content
-** using the CONCEALED table so that the content legable.
+** using the CONCEALED table so that the content legible.
 ** Otherwise, db_reveal() is a no-op and the content remains
 ** obscured.
 */
 static void initializeVariablesFromDb(void){
   const char *zName;
@@ -499,11 +499,11 @@
 
 /*
 ** WEBPAGE: tktnew
 ** WEBPAGE: debug_tktnew
 **
-** Enter a new ticket.  the tktnew_template script in the ticket
+** Enter a new ticket.  The tktnew_template script in the ticket
 ** configuration is used.  The /tktnew page is the official ticket
 ** entry page.  The /debug_tktnew page is used for debugging the
 ** tktnew_template in the ticket configuration.  /debug_tktnew works
 ** just like /tktnew except that it does not really save the new ticket
 ** when you press submit - it just prints the ticket artifact at the

Index: src/tktsetup.c
==================================================================
--- src/tktsetup.c
+++ src/tktsetup.c
@@ -96,12 +96,12 @@
 static void tktsetup_generic(
   const char *zTitle,           /* Page title */
   const char *zDbField,         /* Configuration field being edited */
   const char *zDfltValue,       /* Default text value */
   const char *zDesc,            /* Description of this field */
-  char *(*xText)(const char*),  /* Validitity test or NULL */
-  void (*xRebuild)(void),       /* Run after successulf update */
+  char *(*xText)(const char*),  /* Validity test or NULL */
+  void (*xRebuild)(void),       /* Run after successful update */
   int height                    /* Height of the edit box */
 ){
   const char *z;
   int isSubmit;
   

Index: src/update.c
==================================================================
--- src/update.c
+++ src/update.c
@@ -106,12 +106,12 @@
   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 chagnes of any kind */
-  Stmt mtimeXfer;       /* Statment to transfer mtimes */
+  int nUpdate = 0;      /* Number of changes of any kind */
+  Stmt mtimeXfer;       /* Statement to transfer mtimes */
 
   if( !internalUpdate ){
     undo_capture_command_line();
     url_proxy_options();
   }
@@ -151,13 +151,13 @@
       }
     }
   }
   
   /* If no VERSION is specified on the command-line, then look for a
-  ** descendent of the current version.  If there are multiple descendents,
+  ** descendent of the current version.  If there are multiple descendants,
   ** look for one from the same branch as the current version.  If there
-  ** are still multiple descendents, show them all and refuse to update
+  ** are still multiple descendants, show them all and refuse to update
   ** until the user selects one.
   */
   if( tid==0 ){
     int closeCode = 1;
     compute_leaves(vid, closeCode);

Index: src/verify.c
==================================================================
--- src/verify.c
+++ src/verify.c
@@ -13,11 +13,11 @@
 **   drh@hwaci.com
 **   http://www.hwaci.com/drh/
 **
 *******************************************************************************
 **
-** This file contains code used to help verify the integrity of the
+** This file contains code used to help verify the integrity of
 ** the repository.
 **
 ** This file primarily implements the verify_before_commit() interface.
 ** Any function can call verify_before_commit() with a record id (RID)
 ** as an argument.  Then before the next change to the database commits,

Index: src/wiki.c
==================================================================
--- src/wiki.c
+++ src/wiki.c
@@ -27,11 +27,11 @@
 ** Return true if the input string is a well-formed wiki page name.
 **
 ** Well-formed wiki page names do not begin or end with whitespace,
 ** and do not contain tabs or other control characters and do not
 ** contain more than a single space character in a row.  Well-formed
-** names must be between 3 and 100 chracters in length, inclusive.
+** names must be between 3 and 100 characters in length, inclusive.
 */
 int wiki_name_is_wellformed(const unsigned char *z){
   int i;
   if( z[0]<=0x20 ){
     return 0;
@@ -882,11 +882,11 @@
 **        FILE or from standard input.
 **
 **     %fossil wiki list
 **
 **        Lists all wiki entries, one per line, ordered
-**        case-insentively by name.
+**        case-insensitively by name.
 **
 */
 void wiki_cmd(void){
   int n;
   db_find_and_open_repository(0, 0);

Index: src/wikiformat.c
==================================================================
--- src/wikiformat.c
+++ src/wikiformat.c
@@ -1078,11 +1078,11 @@
   return rc;
 }
 
 /*
 ** Resolve a hyperlink.  The zTarget argument is the content of the [...]
-** in the wiki.  Append to the output string whatever text is approprate
+** in the wiki.  Append to the output string whatever text is appropriate
 ** for opening the hyperlink.  Write into zClose[0...nClose-1] text that will
 ** close the markup.
 **
 ** Actually, this routine might or might not append the hyperlink, depending
 ** on current rendering rules: specifically does the current user have
@@ -1106,11 +1106,11 @@
 **
 **    [2010-02-27 07:13]
 */
 static void openHyperlink(
   Renderer *p,            /* Rendering context */
-  const char *zTarget,    /* Hyperlink traget; text within [...] */
+  const char *zTarget,    /* Hyperlink target; text within [...] */
   char *zClose,           /* Write hyperlink closing text here */
   int nClose,             /* Bytes available in zClose[] */
   const char *zOrig       /* Complete document text */
 ){
   const char *zTerm = "</a>";

Index: src/winhttp.c
==================================================================
--- src/winhttp.c
+++ src/winhttp.c
@@ -271,11 +271,11 @@
   DWORD nMsg;
   DWORD nErr = GetLastError();
   LPWSTR tmp = NULL;
   char *zMsg = NULL;
 
-  /* Try first to get the error text in english. */
+  /* Try first to get the error text in English. */
   nMsg = FormatMessageW(
            FORMAT_MESSAGE_ALLOCATE_BUFFER |
            FORMAT_MESSAGE_FROM_SYSTEM     |
            FORMAT_MESSAGE_IGNORE_INSERTS,
            NULL,

Index: src/xfer.c
==================================================================
--- src/xfer.c
+++ src/xfer.c
@@ -548,11 +548,11 @@
 **
 ** The NONCE is the SHA1 hash of the remainder of the input.  
 ** SIGNATURE is the SHA1 checksum of the NONCE concatenated 
 ** with the users password.
 **
-** The parameters to this routine are ephermeral blobs holding the
+** The parameters to this routine are ephemeral blobs holding the
 ** LOGIN, NONCE and SIGNATURE.
 **
 ** This routine attempts to locate the user and verify the signature.
 ** If everything checks out, the USER.CAP column for the USER table
 ** is consulted to set privileges in the global g variable.

Index: src/xfersetup.c
==================================================================
--- src/xfersetup.c
+++ src/xfersetup.c
@@ -48,12 +48,12 @@
 static void xfersetup_generic(
   const char *zTitle,           /* Page title */
   const char *zDbField,         /* Configuration field being edited */
   const char *zDfltValue,       /* Default text value */
   const char *zDesc,            /* Description of this field */
-  char *(*xText)(const char*),  /* Validitity test or NULL */
-  void (*xRebuild)(void),       /* Run after successulf update */
+  char *(*xText)(const char*),  /* Validity test or NULL */
+  void (*xRebuild)(void),       /* Run after successful update */
   int height                    /* Height of the edit box */
 ){
   const char *z;
   int isSubmit;