Fossil with Commonmark

Check-in [7d0ce2b067]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Merge trunk..
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | svn-import
Files: files | file ages | folders
SHA1:7d0ce2b0671e06c0ae481b1c56b467109a2fc8b3
User & Date: mgagnon 2015-02-25 13:54:00
Context
2015-02-25
14:51
Change import command to use --git and --svn options instead of "svn" and "git" sub-sub-command to stay compatible with before. Make sure verify_all_options() fail with specifiying svn only option with --git. check-in: 4d3bb24b44 user: mgagnon tags: svn-import
13:54
Merge trunk.. check-in: 7d0ce2b067 user: mgagnon tags: svn-import
13:52
Integrate svn-import_no-svn-rev branch.. check-in: 16923b5c59 user: mgagnon tags: svn-import
05:35
Fix a typo on the concepts page. check-in: 4e6fb46a61 user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to skins/black_and_white/css.txt.

     1      1   /* General settings for the entire page */
     2      2   body {
     3      3       margin:0px 0px 0px 0px;
     4      4       padding:0px;
     5      5       font-family:verdana, arial, helvetica, "sans serif";
     6      6       color:#333;
     7      7       background-color:white;
            8  +    -moz-text-size-adjust: none;
            9  +    -webkit-text-size-adjust: none;
           10  +    -mx-text-size-adjust: none;
     8     11   }
     9     12   
    10     13   /* consistent colours */
    11     14   h2 {
    12     15     color: #333;
    13     16   }
    14     17   h3 {

Changes to skins/default/css.txt.

     1      1   /* General settings for the entire page */
     2      2   body {
     3      3     margin: 0ex 1ex;
     4      4     padding: 0px;
     5      5     background-color: white;
     6      6     font-family: sans-serif;
            7  +  -moz-text-size-adjust: none;
            8  +  -webkit-text-size-adjust: none;
            9  +  -mx-text-size-adjust: none;
     7     10   }
     8     11   
     9     12   /* The project logo in the upper left-hand corner of each page */
    10     13   div.logo {
    11     14     display: table-cell;
    12     15     text-align: center;
    13     16     vertical-align: bottom;

Changes to skins/eagle/css.txt.

     1      1   /* General settings for the entire page */
     2      2   body {
     3      3     margin: 0ex 1ex;
     4      4     padding: 0px;
     5      5     background-color: #485D7B;
     6      6     font-family: sans-serif;
     7      7     color: white;
            8  +  -moz-text-size-adjust: none;
            9  +  -webkit-text-size-adjust: none;
           10  +  -mx-text-size-adjust: none;
     8     11   }
     9     12   
    10     13   /* The project logo in the upper left-hand corner of each page */
    11     14   div.logo {
    12     15     display: table-cell;
    13     16     text-align: center;
    14     17     vertical-align: bottom;
................................................................................
   159    162   table.timelineTable {
   160    163     cellspacing: 0;
   161    164     border: 0;
   162    165     cellpadding: 0;
   163    166     font-family: "courier new";
   164    167     border-collapse: collapse;
   165    168   }
          169  +
          170  +tr.timelineSelected {
          171  +  background-color: #7EA2D9;
          172  +}
   166    173   
   167    174   /* Side-by-side diff */
   168    175   table.sbsdiff {
   169    176     background-color: #485D7B;
   170    177     font-family: fixed, Dejavu Sans Mono, Monaco, Lucida Console, monospace;
   171    178     font-size: 8pt;
   172    179     border-collapse:collapse;

Changes to skins/enhanced1/css.txt.

     1      1   /* General settings for the entire page */
     2      2   body {
     3      3     margin: 0ex 1ex;
     4      4     padding: 0px;
     5      5     background-color: white;
     6      6     font-family: sans-serif;
            7  +  -moz-text-size-adjust: none;
            8  +  -webkit-text-size-adjust: none;
            9  +  -mx-text-size-adjust: none;
     7     10   }
     8     11   
     9     12   /* The project logo in the upper left-hand corner of each page */
    10     13   div.logo {
    11     14     display: table-cell;
    12     15     text-align: center;
    13     16     vertical-align: bottom;

Changes to skins/etienne1/css.txt.

     1      1   body {
     2      2       margin: 0 auto;
     3      3       min-width: 800px;
     4      4       padding: 0px 20px;
            5  +    background-color: white;
     5      6       font-family: sans-serif;
     6      7       font-size:14pt;
            8  +    -moz-text-size-adjust: none;
            9  +    -webkit-text-size-adjust: none;
           10  +    -mx-text-size-adjust: none;
     7     11   }
     8     12   
     9     13   a {
    10     14       color: #4183C4;
    11     15       text-decoration: none;
    12     16   }
    13     17   a:hover {

Changes to skins/khaki/css.txt.

     1      1   /* General settings for the entire page */
     2      2   body {
     3      3     margin: 0ex 0ex;
     4      4     padding: 0px;
     5      5     background-color: #fef3bc;
     6      6     font-family: sans-serif;
            7  +  -moz-text-size-adjust: none;
            8  +  -webkit-text-size-adjust: none;
            9  +  -mx-text-size-adjust: none;
     7     10   }
     8     11   
     9     12   /* The project logo in the upper left-hand corner of each page */
    10     13   div.logo {
    11     14     display: inline;
    12     15     text-align: center;
    13     16     vertical-align: bottom;

Changes to skins/plain_gray/css.txt.

     1      1   /* General settings for the entire page */
     2      2   body {
     3      3     margin: 0ex 1ex;
     4      4     padding: 0px;
     5      5     background-color: white;
     6      6     font-family: sans-serif;
            7  +  -moz-text-size-adjust: none;
            8  +  -webkit-text-size-adjust: none;
            9  +  -mx-text-size-adjust: none;
     7     10   }
     8     11   
     9     12   /* The project logo in the upper left-hand corner of each page */
    10     13   div.logo {
    11     14     display: table-row;
    12     15     text-align: center;
    13     16     /* vertical-align: bottom;*/

Changes to skins/rounded1/css.txt.

     5      5   body {
     6      6     margin: 0ex 1ex;
     7      7     padding: 0px;
     8      8     background-color: white;
     9      9     color: #333;
    10     10     font-family: Verdana, sans-serif;
    11     11     font-size: 0.8em;
           12  +  -moz-text-size-adjust: none;
           13  +  -webkit-text-size-adjust: none;
           14  +  -mx-text-size-adjust: none;
    12     15   }
    13     16   
    14     17   /* The project logo in the upper left-hand corner of each page */
    15     18   div.logo {
    16     19     display: table-cell;
    17     20     text-align: right;
    18     21     vertical-align: bottom;

Changes to src/add.c.

   235    235   **
   236    236   ** The --case-sensitive option determines whether or not filenames should
   237    237   ** be treated case sensitive or not. If the option is not given, the default
   238    238   ** depends on the global setting, or the operating system default, if not set.
   239    239   **
   240    240   ** Options:
   241    241   **
   242         -**    --case-sensitive <BOOL> override case-sensitive setting
          242  +**    --case-sensitive <BOOL> Override the case-sensitive setting.
   243    243   **    --dotfiles              include files beginning with a dot (".")
   244    244   **    -f|--force              Add files without prompting
   245         -**    --ignore <CSG>          ignore files matching patterns from the
          245  +**    --ignore <CSG>          Ignore files matching patterns from the
   246    246   **                            comma separated list of glob patterns.
   247         -**    --clean <CSG>           also ignore files matching patterns from
          247  +**    --clean <CSG>           Also ignore files matching patterns from
   248    248   **                            the comma separated list of glob patterns.
   249    249   **
   250    250   ** See also: addremove, rm
   251    251   */
   252    252   void add_cmd(void){
   253    253     int i;                     /* Loop counter */
   254    254     int vid;                   /* Currently checked out version */
................................................................................
   343    343   ** Remove one or more files or directories from the repository.
   344    344   **
   345    345   ** This command does NOT remove the files from disk.  It just marks the
   346    346   ** files as no longer being part of the project.  In other words, future
   347    347   ** changes to the named files will not be versioned.
   348    348   **
   349    349   ** Options:
   350         -**   --case-sensitive <BOOL> override case-sensitive setting
          350  +**   --case-sensitive <BOOL> Override the case-sensitive setting.
   351    351   **
   352    352   ** See also: addremove, add
   353    353   */
   354    354   void delete_cmd(void){
   355    355     int i;
   356    356     Stmt loop;
   357    357   
................................................................................
   488    488   ** the --dotfiles option is used.
   489    489   **
   490    490   ** The --ignore option overrides the "ignore-glob" setting, as do the
   491    491   ** --case-sensitive option with the "case-sensitive" setting and the
   492    492   ** --clean option with the "clean-glob" setting. See the documentation
   493    493   ** on the "settings" command for further information.
   494    494   **
   495         -** The -n|--dry-run option shows what would happen without actually doing anything.
          495  +** The -n|--dry-run option shows what would happen without actually doing
          496  +** anything.
   496    497   **
   497    498   ** This command can be used to track third party software.
   498    499   **
   499    500   ** Options:
   500         -**   --case-sensitive <BOOL> override case-sensitive setting
   501         -**   --dotfiles              include files beginning with a dot (".")
   502         -**   --ignore <CSG>          ignore files matching patterns from the
          501  +**   --case-sensitive <BOOL> Override the case-sensitive setting.
          502  +**   --dotfiles              Include files beginning with a dot (".")
          503  +**   --ignore <CSG>          Ignore files matching patterns from the
   503    504   **                           comma separated list of glob patterns.
   504         -**   --clean <CSG>           also ignore files matching patterns from
          505  +**   --clean <CSG>           Also ignore files matching patterns from
   505    506   **                           the comma separated list of glob patterns.
   506         -**   -n|--dry-run            If given, display instead of run actions
          507  +**   -n|--dry-run            If given, display instead of run actions.
   507    508   **
   508    509   ** See also: add, rm
   509    510   */
   510    511   void addremove_cmd(void){
   511    512     Blob path;
   512    513     const char *zCleanFlag = find_option("clean",0,1);
   513    514     const char *zIgnoreFlag = find_option("ignore",0,1);
................................................................................
   585    586   
   586    587   
   587    588   /*
   588    589   ** Rename a single file.
   589    590   **
   590    591   ** The original name of the file is zOrig.  The new filename is zNew.
   591    592   */
   592         -static void mv_one_file(int vid, const char *zOrig, const char *zNew){
          593  +static void mv_one_file(
          594  +  int vid,
          595  +  const char *zOrig,
          596  +  const char *zNew
          597  +){
   593    598     int x = db_int(-1, "SELECT deleted FROM vfile WHERE pathname=%Q %s",
   594    599                            zNew, filename_collation());
   595    600     if( x>=0 ){
   596    601       if( x==0 ){
   597    602         fossil_fatal("cannot rename '%s' to '%s' since another file named '%s'"
   598    603                      " is currently under management", zOrig, zNew, zNew);
   599    604       }else{
................................................................................
   619    624   ** You can either rename a file or directory or move it to another subdirectory.
   620    625   **
   621    626   ** This command does NOT rename or move the files on disk.  This command merely
   622    627   ** records the fact that filenames have changed so that appropriate notations
   623    628   ** can be made at the next commit/checkin.
   624    629   **
   625    630   ** Options:
   626         -**   --case-sensitive <BOOL> override case-sensitive setting
          631  +**   --case-sensitive <BOOL> Override the case-sensitive setting.
   627    632   **
   628    633   ** See also: changes, status
   629    634   */
   630    635   void mv_cmd(void){
   631    636     int i;
   632    637     int vid;
   633    638     char *zDest;

Changes to src/cgi.c.

   463    463     aParamQP[nUsedQP].zName = zName;
   464    464     aParamQP[nUsedQP].zValue = zValue;
   465    465     if( g.fHttpTrace ){
   466    466       fprintf(stderr, "# cgi: %s = [%s]\n", zName, zValue);
   467    467     }
   468    468     aParamQP[nUsedQP].seq = seqQP++;
   469    469     aParamQP[nUsedQP].isQP = isQP;
          470  +  aParamQP[nUsedQP].cTag = 0;
   470    471     nUsedQP++;
   471    472     sortQP = 1;
   472    473   }
   473    474   
   474    475   /*
   475    476   ** Add another query parameter or cookie to the parameter set.
   476    477   ** zName is the name of the query parameter or cookie and zValue

Changes to src/db.c.

   157    157     if( g.db==0 ) return;
   158    158     if( db.nBegin<=0 ) return;
   159    159     if( rollbackFlag ) db.doRollback = 1;
   160    160     db.nBegin--;
   161    161     if( db.nBegin==0 ){
   162    162       int i;
   163    163       if( db.doRollback==0 && db.nPriorChanges<sqlite3_total_changes(g.db) ){
          164  +      i = 0;
   164    165         while( db.nBeforeCommit ){
   165    166           db.nBeforeCommit--;
   166         -        sqlite3_exec(g.db, db.azBeforeCommit[db.nBeforeCommit], 0, 0, 0);
   167         -        sqlite3_free(db.azBeforeCommit[db.nBeforeCommit]);
          167  +        sqlite3_exec(g.db, db.azBeforeCommit[i], 0, 0, 0);
          168  +        sqlite3_free(db.azBeforeCommit[i]);
          169  +        i++;
   168    170         }
   169    171         leaf_do_pending_checks();
   170    172       }
   171    173       for(i=0; db.doRollback==0 && i<db.nCommitHook; i++){
   172    174         db.doRollback |= db.aHook[i].xHook();
   173    175       }
   174    176       while( db.pAllStmt ){

Changes to src/timeline.c.

  1196   1196       if( zBefore ) zMark = zBefore;
  1197   1197       if( zCirca ) zMark = zCirca;
  1198   1198     }
  1199   1199     if( tagid>0
  1200   1200      && db_int(0,"SELECT count(*) FROM tagxref WHERE tagid=%d",tagid)<=nEntry
  1201   1201     ){
  1202   1202       nEntry = -1;
         1203  +    zCirca = 0;
  1203   1204     }
  1204   1205     if( zType[0]=='a' ){
  1205   1206       tmFlags |= TIMELINE_BRIEF | TIMELINE_GRAPH;
  1206   1207     }else{
  1207   1208       tmFlags |= TIMELINE_GRAPH;
  1208   1209     }
  1209   1210     if( PB("ng") || zSearch!=0 ){
................................................................................
  1248   1249     blob_append(&sql, timeline_query_for_www(), -1);
  1249   1250     if( PB("fc") || PB("v") || PB("detail") ){
  1250   1251       tmFlags |= TIMELINE_FCHANGES;
  1251   1252     }
  1252   1253     if( (tmFlags & TIMELINE_UNHIDE)==0 ){
  1253   1254       blob_append_sql(&sql,
  1254   1255         " AND NOT EXISTS(SELECT 1 FROM tagxref"
  1255         -      "     WHERE tagid=%d AND tagtype>0 AND rid=blob.rid)",
         1256  +      " WHERE tagid=%d AND tagtype>0 AND rid=blob.rid)\n",
  1256   1257         TAG_HIDDEN
  1257   1258       );
  1258   1259     }
  1259   1260     if( ((from_rid && to_rid) || (me_rid && you_rid)) && g.perm.Read ){
  1260   1261       /* If from= and to= are present, display all nodes on a path connecting
  1261   1262       ** the two */
  1262   1263       PathNode *p = 0;
................................................................................
  1373   1374       }
  1374   1375       else if( zYearWeek ){
  1375   1376         blob_append_sql(&sql, " AND %Q=strftime('%%Y-%%W',event.mtime) ",
  1376   1377                      zYearWeek);
  1377   1378       }
  1378   1379       if( tagid>0 ){
  1379   1380         blob_append_sql(&sql,
  1380         -        "AND (EXISTS(SELECT 1 FROM tagxref"
  1381         -                    " WHERE tagid=%d AND tagtype>0 AND rid=blob.rid)", tagid);
         1381  +        " AND (EXISTS(SELECT 1 FROM tagxref"
         1382  +            " WHERE tagid=%d AND tagtype>0 AND rid=blob.rid)\n", tagid);
  1382   1383   
  1383   1384         if( zBrName ){
  1384   1385           /* The next two blob_appendf() calls add SQL that causes checkins that
  1385   1386           ** are not part of the branch which are parents or children of the
  1386   1387           ** branch to be included in the report.  This related check-ins are
  1387   1388           ** useful in helping to visualize what has happened on a quiescent
  1388   1389           ** branch that is infrequently merged with a much more activate branch.
  1389   1390           */
  1390   1391           blob_append_sql(&sql,
  1391   1392             " OR EXISTS(SELECT 1 FROM plink CROSS JOIN tagxref ON rid=cid"
  1392         -                     " WHERE tagid=%d AND tagtype>0 AND pid=blob.rid)",
         1393  +                     " WHERE tagid=%d AND tagtype>0 AND pid=blob.rid)\n",
  1393   1394              tagid
  1394   1395           );
  1395   1396           if( (tmFlags & TIMELINE_UNHIDE)==0 ){
  1396   1397             blob_append_sql(&sql,
  1397   1398               " AND NOT EXISTS(SELECT 1 FROM plink JOIN tagxref ON rid=cid"
  1398         -                       " WHERE tagid=%d AND tagtype>0 AND pid=blob.rid)",
         1399  +                       " WHERE tagid=%d AND tagtype>0 AND pid=blob.rid)\n",
  1399   1400               TAG_HIDDEN
  1400   1401             );
  1401   1402           }
  1402   1403           if( P("mionly")==0 ){
  1403   1404             blob_append_sql(&sql,
  1404   1405               " OR EXISTS(SELECT 1 FROM plink CROSS JOIN tagxref ON rid=pid"
  1405         -                       " WHERE tagid=%d AND tagtype>0 AND cid=blob.rid)",
         1406  +                       " WHERE tagid=%d AND tagtype>0 AND cid=blob.rid)\n",
  1406   1407               tagid
  1407   1408             );
  1408   1409             if( (tmFlags & TIMELINE_UNHIDE)==0 ){
  1409   1410               blob_append_sql(&sql,
  1410   1411                 " AND NOT EXISTS(SELECT 1 FROM plink JOIN tagxref ON rid=pid"
  1411         -              " WHERE tagid=%d AND tagtype>0 AND cid=blob.rid)",
         1412  +              " WHERE tagid=%d AND tagtype>0 AND cid=blob.rid)\n",
  1412   1413                 TAG_HIDDEN
  1413   1414               );
  1414   1415             }
  1415   1416           }
  1416   1417         }
  1417   1418         blob_append_sql(&sql, ")");
  1418   1419       }
................................................................................
  1494   1495            rBefore+ONE_SECOND);
  1495   1496         zCirca = 0;
  1496   1497         url_add_parameter(&url, "c", 0);
  1497   1498       }else if( rCirca>0.0 ){
  1498   1499         Blob sql2;
  1499   1500         blob_init(&sql2, blob_sql_text(&sql), -1);
  1500   1501         blob_append_sql(&sql2,
  1501         -          " AND event.mtime<=%f ORDER BY event.mtime DESC LIMIT %d",
  1502         -          rCirca, (nEntry+1)/2
  1503         -      );
         1502  +          " AND event.mtime<=%f ORDER BY event.mtime DESC", rCirca);
         1503  +      if( nEntry>0 ){
         1504  +        blob_append_sql(&sql2," LIMIT %d", (nEntry+1)/2);
         1505  +        nEntry -= (nEntry+1)/2;
         1506  +      }
         1507  +      if( PB("showsql") ){
         1508  +         @ <pre>%h(blob_sql_text(&sql2))</pre>
         1509  +      }
  1504   1510         db_multi_exec("%s", blob_sql_text(&sql2));
  1505   1511         blob_reset(&sql2);
  1506   1512         blob_append_sql(&sql,
  1507   1513             " AND event.mtime>=%f ORDER BY event.mtime ASC",
  1508   1514             rCirca
  1509   1515         );
  1510         -      nEntry -= (nEntry+1)/2;
  1511   1516         if( zMark==0 ) zMark = zCirca;
  1512   1517       }else{
  1513   1518         blob_append_sql(&sql, " ORDER BY event.mtime DESC");
  1514   1519       }
  1515   1520       if( nEntry>0 ) blob_append_sql(&sql, " LIMIT %d", nEntry);
  1516   1521       db_multi_exec("%s", blob_sql_text(&sql));
  1517   1522   
................................................................................
  1581   1586         style_submenu_entry("n","Max:",4,0);
  1582   1587         timeline_y_submenu(disableY);
  1583   1588         style_submenu_binary("v","With Files","Without Files",
  1584   1589                              zType[0]!='a' && zType[0]!='c');
  1585   1590       }
  1586   1591     }
  1587   1592     if( PB("showsql") ){
  1588         -    @ <blockquote>%h(blob_sql_text(&sql))</blockquote>
         1593  +    @ <pre>%h(blob_sql_text(&sql))</pre>
  1589   1594     }
  1590   1595     if( search_restrict(SRCH_CKIN)!=0 ){
  1591   1596       style_submenu_element("Search", 0, "%R/search?y=c");
  1592   1597     }
  1593   1598     if( PB("showid") ) tmFlags |= TIMELINE_SHOWRID;
  1594   1599     if( useDividers && zMark && zMark[0] ){
  1595   1600       double r = symbolic_name_to_mtime(zMark);
................................................................................
  1948   1953         zFilePattern = 0;
  1949   1954       }
  1950   1955     }
  1951   1956   
  1952   1957     if( mode==0 ) mode = 1;
  1953   1958     blob_zero(&sql);
  1954   1959     blob_append(&sql, timeline_query_for_tty(), -1);
  1955         -  blob_append_sql(&sql, "  AND event.mtime %s %s",
         1960  +  blob_append_sql(&sql, "\n  AND event.mtime %s %s",
  1956   1961        (mode==1 || mode==4) ? "<=" : ">=",
  1957   1962        zDate /*safe-for-%s*/
  1958   1963     );
  1959   1964   
  1960   1965     if( mode==3 || mode==4 ){
  1961   1966       db_multi_exec("CREATE TEMP TABLE ok(rid INTEGER PRIMARY KEY)");
  1962   1967       if( mode==3 ){

Changes to www/changes.wiki.

     1      1   <title>Change Log</title>
     2      2   
     3         -<h2>Changes For Version 1.31 (2015-02-??)</h2>
            3  +<h2>Changes For Version 1.31 (2015-02-23)</h2>
     4      4     *  Change the auxiliary schema by adding columns MLINK.ISAUX and MLINK.PMID
     5      5        columns to the schema, to support better drawing of file change graphs.
     6      6        A [/help?cmd=rebuild|fossil rebuild] is recommended but is not required.
     7      7        so that the new graph drawing logic can work effectively.
     8      8     *  Added [/search|search] over Check-in comments, Documents, Tickets and
     9      9        Wiki.  Disabled by default.  The search can be either a full-scan or it
    10     10        can use an index that is kept up-to-date automatically.  The new
................................................................................
    18     18        using the --skin LABEL option on the 
    19     19        [/help?cmd=server|server],
    20     20        [/help?cmd=ui|ui], or 
    21     21        [/help?cmd=http|http] commands.
    22     22     *  Embedded html documents that begin with
    23     23        &lt;doc class="fossil-doc"&gt; are displayed with standard
    24     24        headers and footers added.
           25  +  *  Allow &lt;div style='...'&gt; markup in [/wiki_rules|wiki].
    25     26     *  Renamed "Events" to "Technical Notes", while updating the technote
    26     27        display and control pages.  Add support for technotes as plain text
    27     28        or as Markdown.
    28     29     *  Added the [/md_rules] pages containing summary instructions on the
    29     30        Markdown format.
           31  +  *  Added the --repolist and --nojail options to the various server commands
           32  +     (ex: [/help?cmd=server|fossil server]).
           33  +  *  Added the [/help?cmd=all|fossil all add] subcommand to "fossil all".
    30     34     *  Improvements to the /login page.  Some hyperlinks to pages that require
    31     35        "anonymous" privileges are displayed even if the current user is "nobody"
    32     36        but automatically redirect to /login.
    33     37     *  The [/help?cmd=/doc|/doc] web-page will now try to deliver the file
    34     38        "404.md" from the top-level directory (if such a file exists) in
    35     39        place of its built-in 404 text.
    36     40     *  Download of Tarballs and ZIP Archives by user "nobody" is now enabled

Changes to www/concepts.wiki.

   371    371   to pull those changes into your local repository.  Note that <b>pull</b>
   372    372   does not move the changes into your local source tree, only into your
   373    373   local repository.
   374    374   </li>
   375    375   
   376    376   <li>
   377    377   Once changes are in your local repository, use
   378         -use the <b>update</b> command to merge them to your local source tree.
          378  +the <b>update</b> command to merge them to your local source tree.
   379    379   If you merge in some changes and find that the changes do not work out
   380    380   or are not to your liking, you can back out the changes using the
   381    381   <b>undo</b> command.
   382    382   </li>
   383    383   
   384    384   <li>
   385    385   If two or more people ran "commit" against the same check-in, this will

Changes to www/quotes.wiki.

    69     69   (while following the instructions!!!) than any other single piece of software.
    70     70   
    71     71   <blockquote>
    72     72   <i>Stephen Beal on the [http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg17181.html|Fossil mailing list]
    73     73      2014-09-01.</i>
    74     74   </blockquote>
    75     75   
           76  +<li>If programmers _really_ wanted to help scientists, they'd build a version control
           77  +system that was more usable than Git.
           78  +
           79  +<blockquote>
           80  +<i>Tweet by Greg Wilson @gvwilson on 2015-02-22 17:47</i>
           81  +</blockquote>
           82  +
    76     83   </ol>
    77     84   
    78     85   <h2>On The Usability Of Fossil:</h2>
    79     86   
    80     87   <ol>
    81         -<li value=9>
           88  +<li value=10>
    82     89   Fossil mesmerizes me with simplicity especially after I struggled to
    83     90   get a bug-tracking system to work with mercurial.
    84     91   
    85     92   <blockquote>
    86     93   <i>rawjeev at [http://stackoverflow.com/questions/156322/what-do-people-think-of-the-fossil-dvcs]</i>
    87     94   </blockquote>
    88     95   
................................................................................
   106    113   
   107    114   </ol>
   108    115   
   109    116   
   110    117   <h2>On Git Versus Fossil</h2>
   111    118   
   112    119   <ol>
   113         -<li value=12>
          120  +<li value=13>
   114    121   Just want to say thanks for fossil making my life easier.... 
   115    122   Also <nowiki>[for]</nowiki> not having a misanthropic command line interface.
   116    123   
   117    124   <blockquote>
   118    125   <i>Joshua Paine at [http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg02736.html]</i>
   119    126   </blockquote>
   120    127