Fossil SCM

Merge trunk..

mgagnon 2015-02-25 13:54 svn-import merge
Commit 7d0ce2b0671e06c0ae481b1c56b467109a2fc8b3
--- skins/black_and_white/css.txt
+++ skins/black_and_white/css.txt
@@ -3,10 +3,13 @@
33
margin:0px 0px 0px 0px;
44
padding:0px;
55
font-family:verdana, arial, helvetica, "sans serif";
66
color:#333;
77
background-color:white;
8
+ -moz-text-size-adjust: none;
9
+ -webkit-text-size-adjust: none;
10
+ -mx-text-size-adjust: none;
811
}
912
1013
/* consistent colours */
1114
h2 {
1215
color: #333;
1316
--- skins/black_and_white/css.txt
+++ skins/black_and_white/css.txt
@@ -3,10 +3,13 @@
3 margin:0px 0px 0px 0px;
4 padding:0px;
5 font-family:verdana, arial, helvetica, "sans serif";
6 color:#333;
7 background-color:white;
 
 
 
8 }
9
10 /* consistent colours */
11 h2 {
12 color: #333;
13
--- skins/black_and_white/css.txt
+++ skins/black_and_white/css.txt
@@ -3,10 +3,13 @@
3 margin:0px 0px 0px 0px;
4 padding:0px;
5 font-family:verdana, arial, helvetica, "sans serif";
6 color:#333;
7 background-color:white;
8 -moz-text-size-adjust: none;
9 -webkit-text-size-adjust: none;
10 -mx-text-size-adjust: none;
11 }
12
13 /* consistent colours */
14 h2 {
15 color: #333;
16
--- skins/default/css.txt
+++ skins/default/css.txt
@@ -2,10 +2,13 @@
22
body {
33
margin: 0ex 1ex;
44
padding: 0px;
55
background-color: white;
66
font-family: sans-serif;
7
+ -moz-text-size-adjust: none;
8
+ -webkit-text-size-adjust: none;
9
+ -mx-text-size-adjust: none;
710
}
811
912
/* The project logo in the upper left-hand corner of each page */
1013
div.logo {
1114
display: table-cell;
1215
--- skins/default/css.txt
+++ skins/default/css.txt
@@ -2,10 +2,13 @@
2 body {
3 margin: 0ex 1ex;
4 padding: 0px;
5 background-color: white;
6 font-family: sans-serif;
 
 
 
7 }
8
9 /* The project logo in the upper left-hand corner of each page */
10 div.logo {
11 display: table-cell;
12
--- skins/default/css.txt
+++ skins/default/css.txt
@@ -2,10 +2,13 @@
2 body {
3 margin: 0ex 1ex;
4 padding: 0px;
5 background-color: white;
6 font-family: sans-serif;
7 -moz-text-size-adjust: none;
8 -webkit-text-size-adjust: none;
9 -mx-text-size-adjust: none;
10 }
11
12 /* The project logo in the upper left-hand corner of each page */
13 div.logo {
14 display: table-cell;
15
--- skins/eagle/css.txt
+++ skins/eagle/css.txt
@@ -3,10 +3,13 @@
33
margin: 0ex 1ex;
44
padding: 0px;
55
background-color: #485D7B;
66
font-family: sans-serif;
77
color: white;
8
+ -moz-text-size-adjust: none;
9
+ -webkit-text-size-adjust: none;
10
+ -mx-text-size-adjust: none;
811
}
912
1013
/* The project logo in the upper left-hand corner of each page */
1114
div.logo {
1215
display: table-cell;
@@ -161,10 +164,14 @@
161164
border: 0;
162165
cellpadding: 0;
163166
font-family: "courier new";
164167
border-collapse: collapse;
165168
}
169
+
170
+tr.timelineSelected {
171
+ background-color: #7EA2D9;
172
+}
166173
167174
/* Side-by-side diff */
168175
table.sbsdiff {
169176
background-color: #485D7B;
170177
font-family: fixed, Dejavu Sans Mono, Monaco, Lucida Console, monospace;
171178
--- skins/eagle/css.txt
+++ skins/eagle/css.txt
@@ -3,10 +3,13 @@
3 margin: 0ex 1ex;
4 padding: 0px;
5 background-color: #485D7B;
6 font-family: sans-serif;
7 color: white;
 
 
 
8 }
9
10 /* The project logo in the upper left-hand corner of each page */
11 div.logo {
12 display: table-cell;
@@ -161,10 +164,14 @@
161 border: 0;
162 cellpadding: 0;
163 font-family: "courier new";
164 border-collapse: collapse;
165 }
 
 
 
 
166
167 /* Side-by-side diff */
168 table.sbsdiff {
169 background-color: #485D7B;
170 font-family: fixed, Dejavu Sans Mono, Monaco, Lucida Console, monospace;
171
--- skins/eagle/css.txt
+++ skins/eagle/css.txt
@@ -3,10 +3,13 @@
3 margin: 0ex 1ex;
4 padding: 0px;
5 background-color: #485D7B;
6 font-family: sans-serif;
7 color: white;
8 -moz-text-size-adjust: none;
9 -webkit-text-size-adjust: none;
10 -mx-text-size-adjust: none;
11 }
12
13 /* The project logo in the upper left-hand corner of each page */
14 div.logo {
15 display: table-cell;
@@ -161,10 +164,14 @@
164 border: 0;
165 cellpadding: 0;
166 font-family: "courier new";
167 border-collapse: collapse;
168 }
169
170 tr.timelineSelected {
171 background-color: #7EA2D9;
172 }
173
174 /* Side-by-side diff */
175 table.sbsdiff {
176 background-color: #485D7B;
177 font-family: fixed, Dejavu Sans Mono, Monaco, Lucida Console, monospace;
178
--- skins/enhanced1/css.txt
+++ skins/enhanced1/css.txt
@@ -2,10 +2,13 @@
22
body {
33
margin: 0ex 1ex;
44
padding: 0px;
55
background-color: white;
66
font-family: sans-serif;
7
+ -moz-text-size-adjust: none;
8
+ -webkit-text-size-adjust: none;
9
+ -mx-text-size-adjust: none;
710
}
811
912
/* The project logo in the upper left-hand corner of each page */
1013
div.logo {
1114
display: table-cell;
1215
--- skins/enhanced1/css.txt
+++ skins/enhanced1/css.txt
@@ -2,10 +2,13 @@
2 body {
3 margin: 0ex 1ex;
4 padding: 0px;
5 background-color: white;
6 font-family: sans-serif;
 
 
 
7 }
8
9 /* The project logo in the upper left-hand corner of each page */
10 div.logo {
11 display: table-cell;
12
--- skins/enhanced1/css.txt
+++ skins/enhanced1/css.txt
@@ -2,10 +2,13 @@
2 body {
3 margin: 0ex 1ex;
4 padding: 0px;
5 background-color: white;
6 font-family: sans-serif;
7 -moz-text-size-adjust: none;
8 -webkit-text-size-adjust: none;
9 -mx-text-size-adjust: none;
10 }
11
12 /* The project logo in the upper left-hand corner of each page */
13 div.logo {
14 display: table-cell;
15
--- skins/etienne1/css.txt
+++ skins/etienne1/css.txt
@@ -1,11 +1,15 @@
11
body {
22
margin: 0 auto;
33
min-width: 800px;
44
padding: 0px 20px;
5
+ background-color: white;
56
font-family: sans-serif;
67
font-size:14pt;
8
+ -moz-text-size-adjust: none;
9
+ -webkit-text-size-adjust: none;
10
+ -mx-text-size-adjust: none;
711
}
812
913
a {
1014
color: #4183C4;
1115
text-decoration: none;
1216
--- skins/etienne1/css.txt
+++ skins/etienne1/css.txt
@@ -1,11 +1,15 @@
1 body {
2 margin: 0 auto;
3 min-width: 800px;
4 padding: 0px 20px;
 
5 font-family: sans-serif;
6 font-size:14pt;
 
 
 
7 }
8
9 a {
10 color: #4183C4;
11 text-decoration: none;
12
--- skins/etienne1/css.txt
+++ skins/etienne1/css.txt
@@ -1,11 +1,15 @@
1 body {
2 margin: 0 auto;
3 min-width: 800px;
4 padding: 0px 20px;
5 background-color: white;
6 font-family: sans-serif;
7 font-size:14pt;
8 -moz-text-size-adjust: none;
9 -webkit-text-size-adjust: none;
10 -mx-text-size-adjust: none;
11 }
12
13 a {
14 color: #4183C4;
15 text-decoration: none;
16
--- skins/khaki/css.txt
+++ skins/khaki/css.txt
@@ -2,10 +2,13 @@
22
body {
33
margin: 0ex 0ex;
44
padding: 0px;
55
background-color: #fef3bc;
66
font-family: sans-serif;
7
+ -moz-text-size-adjust: none;
8
+ -webkit-text-size-adjust: none;
9
+ -mx-text-size-adjust: none;
710
}
811
912
/* The project logo in the upper left-hand corner of each page */
1013
div.logo {
1114
display: inline;
1215
--- skins/khaki/css.txt
+++ skins/khaki/css.txt
@@ -2,10 +2,13 @@
2 body {
3 margin: 0ex 0ex;
4 padding: 0px;
5 background-color: #fef3bc;
6 font-family: sans-serif;
 
 
 
7 }
8
9 /* The project logo in the upper left-hand corner of each page */
10 div.logo {
11 display: inline;
12
--- skins/khaki/css.txt
+++ skins/khaki/css.txt
@@ -2,10 +2,13 @@
2 body {
3 margin: 0ex 0ex;
4 padding: 0px;
5 background-color: #fef3bc;
6 font-family: sans-serif;
7 -moz-text-size-adjust: none;
8 -webkit-text-size-adjust: none;
9 -mx-text-size-adjust: none;
10 }
11
12 /* The project logo in the upper left-hand corner of each page */
13 div.logo {
14 display: inline;
15
--- skins/plain_gray/css.txt
+++ skins/plain_gray/css.txt
@@ -2,10 +2,13 @@
22
body {
33
margin: 0ex 1ex;
44
padding: 0px;
55
background-color: white;
66
font-family: sans-serif;
7
+ -moz-text-size-adjust: none;
8
+ -webkit-text-size-adjust: none;
9
+ -mx-text-size-adjust: none;
710
}
811
912
/* The project logo in the upper left-hand corner of each page */
1013
div.logo {
1114
display: table-row;
1215
--- skins/plain_gray/css.txt
+++ skins/plain_gray/css.txt
@@ -2,10 +2,13 @@
2 body {
3 margin: 0ex 1ex;
4 padding: 0px;
5 background-color: white;
6 font-family: sans-serif;
 
 
 
7 }
8
9 /* The project logo in the upper left-hand corner of each page */
10 div.logo {
11 display: table-row;
12
--- skins/plain_gray/css.txt
+++ skins/plain_gray/css.txt
@@ -2,10 +2,13 @@
2 body {
3 margin: 0ex 1ex;
4 padding: 0px;
5 background-color: white;
6 font-family: sans-serif;
7 -moz-text-size-adjust: none;
8 -webkit-text-size-adjust: none;
9 -mx-text-size-adjust: none;
10 }
11
12 /* The project logo in the upper left-hand corner of each page */
13 div.logo {
14 display: table-row;
15
--- skins/rounded1/css.txt
+++ skins/rounded1/css.txt
@@ -7,10 +7,13 @@
77
padding: 0px;
88
background-color: white;
99
color: #333;
1010
font-family: Verdana, sans-serif;
1111
font-size: 0.8em;
12
+ -moz-text-size-adjust: none;
13
+ -webkit-text-size-adjust: none;
14
+ -mx-text-size-adjust: none;
1215
}
1316
1417
/* The project logo in the upper left-hand corner of each page */
1518
div.logo {
1619
display: table-cell;
1720
--- skins/rounded1/css.txt
+++ skins/rounded1/css.txt
@@ -7,10 +7,13 @@
7 padding: 0px;
8 background-color: white;
9 color: #333;
10 font-family: Verdana, sans-serif;
11 font-size: 0.8em;
 
 
 
12 }
13
14 /* The project logo in the upper left-hand corner of each page */
15 div.logo {
16 display: table-cell;
17
--- skins/rounded1/css.txt
+++ skins/rounded1/css.txt
@@ -7,10 +7,13 @@
7 padding: 0px;
8 background-color: white;
9 color: #333;
10 font-family: Verdana, sans-serif;
11 font-size: 0.8em;
12 -moz-text-size-adjust: none;
13 -webkit-text-size-adjust: none;
14 -mx-text-size-adjust: none;
15 }
16
17 /* The project logo in the upper left-hand corner of each page */
18 div.logo {
19 display: table-cell;
20
+17 -12
--- src/add.c
+++ src/add.c
@@ -237,16 +237,16 @@
237237
** be treated case sensitive or not. If the option is not given, the default
238238
** depends on the global setting, or the operating system default, if not set.
239239
**
240240
** Options:
241241
**
242
-** --case-sensitive <BOOL> override case-sensitive setting
242
+** --case-sensitive <BOOL> Override the case-sensitive setting.
243243
** --dotfiles include files beginning with a dot (".")
244244
** -f|--force Add files without prompting
245
-** --ignore <CSG> ignore files matching patterns from the
245
+** --ignore <CSG> Ignore files matching patterns from the
246246
** comma separated list of glob patterns.
247
-** --clean <CSG> also ignore files matching patterns from
247
+** --clean <CSG> Also ignore files matching patterns from
248248
** the comma separated list of glob patterns.
249249
**
250250
** See also: addremove, rm
251251
*/
252252
void add_cmd(void){
@@ -345,11 +345,11 @@
345345
** This command does NOT remove the files from disk. It just marks the
346346
** files as no longer being part of the project. In other words, future
347347
** changes to the named files will not be versioned.
348348
**
349349
** Options:
350
-** --case-sensitive <BOOL> override case-sensitive setting
350
+** --case-sensitive <BOOL> Override the case-sensitive setting.
351351
**
352352
** See also: addremove, add
353353
*/
354354
void delete_cmd(void){
355355
int i;
@@ -490,22 +490,23 @@
490490
** The --ignore option overrides the "ignore-glob" setting, as do the
491491
** --case-sensitive option with the "case-sensitive" setting and the
492492
** --clean option with the "clean-glob" setting. See the documentation
493493
** on the "settings" command for further information.
494494
**
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.
496497
**
497498
** This command can be used to track third party software.
498499
**
499500
** 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
503504
** comma separated list of glob patterns.
504
-** --clean <CSG> also ignore files matching patterns from
505
+** --clean <CSG> Also ignore files matching patterns from
505506
** 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.
507508
**
508509
** See also: add, rm
509510
*/
510511
void addremove_cmd(void){
511512
Blob path;
@@ -587,11 +588,15 @@
587588
/*
588589
** Rename a single file.
589590
**
590591
** The original name of the file is zOrig. The new filename is zNew.
591592
*/
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
+){
593598
int x = db_int(-1, "SELECT deleted FROM vfile WHERE pathname=%Q %s",
594599
zNew, filename_collation());
595600
if( x>=0 ){
596601
if( x==0 ){
597602
fossil_fatal("cannot rename '%s' to '%s' since another file named '%s'"
@@ -621,11 +626,11 @@
621626
** This command does NOT rename or move the files on disk. This command merely
622627
** records the fact that filenames have changed so that appropriate notations
623628
** can be made at the next commit/checkin.
624629
**
625630
** Options:
626
-** --case-sensitive <BOOL> override case-sensitive setting
631
+** --case-sensitive <BOOL> Override the case-sensitive setting.
627632
**
628633
** See also: changes, status
629634
*/
630635
void mv_cmd(void){
631636
int i;
632637
--- src/add.c
+++ src/add.c
@@ -237,16 +237,16 @@
237 ** be treated case sensitive or not. If the option is not given, the default
238 ** depends on the global setting, or the operating system default, if not set.
239 **
240 ** Options:
241 **
242 ** --case-sensitive <BOOL> override case-sensitive setting
243 ** --dotfiles include files beginning with a dot (".")
244 ** -f|--force Add files without prompting
245 ** --ignore <CSG> ignore files matching patterns from the
246 ** comma separated list of glob patterns.
247 ** --clean <CSG> also ignore files matching patterns from
248 ** the comma separated list of glob patterns.
249 **
250 ** See also: addremove, rm
251 */
252 void add_cmd(void){
@@ -345,11 +345,11 @@
345 ** This command does NOT remove the files from disk. It just marks the
346 ** files as no longer being part of the project. In other words, future
347 ** changes to the named files will not be versioned.
348 **
349 ** Options:
350 ** --case-sensitive <BOOL> override case-sensitive setting
351 **
352 ** See also: addremove, add
353 */
354 void delete_cmd(void){
355 int i;
@@ -490,22 +490,23 @@
490 ** The --ignore option overrides the "ignore-glob" setting, as do the
491 ** --case-sensitive option with the "case-sensitive" setting and the
492 ** --clean option with the "clean-glob" setting. See the documentation
493 ** on the "settings" command for further information.
494 **
495 ** The -n|--dry-run option shows what would happen without actually doing anything.
 
496 **
497 ** This command can be used to track third party software.
498 **
499 ** 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
503 ** comma separated list of glob patterns.
504 ** --clean <CSG> also ignore files matching patterns from
505 ** the comma separated list of glob patterns.
506 ** -n|--dry-run If given, display instead of run actions
507 **
508 ** See also: add, rm
509 */
510 void addremove_cmd(void){
511 Blob path;
@@ -587,11 +588,15 @@
587 /*
588 ** Rename a single file.
589 **
590 ** The original name of the file is zOrig. The new filename is zNew.
591 */
592 static void mv_one_file(int vid, const char *zOrig, const char *zNew){
 
 
 
 
593 int x = db_int(-1, "SELECT deleted FROM vfile WHERE pathname=%Q %s",
594 zNew, filename_collation());
595 if( x>=0 ){
596 if( x==0 ){
597 fossil_fatal("cannot rename '%s' to '%s' since another file named '%s'"
@@ -621,11 +626,11 @@
621 ** This command does NOT rename or move the files on disk. This command merely
622 ** records the fact that filenames have changed so that appropriate notations
623 ** can be made at the next commit/checkin.
624 **
625 ** Options:
626 ** --case-sensitive <BOOL> override case-sensitive setting
627 **
628 ** See also: changes, status
629 */
630 void mv_cmd(void){
631 int i;
632
--- src/add.c
+++ src/add.c
@@ -237,16 +237,16 @@
237 ** be treated case sensitive or not. If the option is not given, the default
238 ** depends on the global setting, or the operating system default, if not set.
239 **
240 ** Options:
241 **
242 ** --case-sensitive <BOOL> Override the case-sensitive setting.
243 ** --dotfiles include files beginning with a dot (".")
244 ** -f|--force Add files without prompting
245 ** --ignore <CSG> Ignore files matching patterns from the
246 ** comma separated list of glob patterns.
247 ** --clean <CSG> Also ignore files matching patterns from
248 ** the comma separated list of glob patterns.
249 **
250 ** See also: addremove, rm
251 */
252 void add_cmd(void){
@@ -345,11 +345,11 @@
345 ** This command does NOT remove the files from disk. It just marks the
346 ** files as no longer being part of the project. In other words, future
347 ** changes to the named files will not be versioned.
348 **
349 ** Options:
350 ** --case-sensitive <BOOL> Override the case-sensitive setting.
351 **
352 ** See also: addremove, add
353 */
354 void delete_cmd(void){
355 int i;
@@ -490,22 +490,23 @@
490 ** The --ignore option overrides the "ignore-glob" setting, as do the
491 ** --case-sensitive option with the "case-sensitive" setting and the
492 ** --clean option with the "clean-glob" setting. See the documentation
493 ** on the "settings" command for further information.
494 **
495 ** The -n|--dry-run option shows what would happen without actually doing
496 ** anything.
497 **
498 ** This command can be used to track third party software.
499 **
500 ** Options:
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
504 ** comma separated list of glob patterns.
505 ** --clean <CSG> Also ignore files matching patterns from
506 ** the comma separated list of glob patterns.
507 ** -n|--dry-run If given, display instead of run actions.
508 **
509 ** See also: add, rm
510 */
511 void addremove_cmd(void){
512 Blob path;
@@ -587,11 +588,15 @@
588 /*
589 ** Rename a single file.
590 **
591 ** The original name of the file is zOrig. The new filename is zNew.
592 */
593 static void mv_one_file(
594 int vid,
595 const char *zOrig,
596 const char *zNew
597 ){
598 int x = db_int(-1, "SELECT deleted FROM vfile WHERE pathname=%Q %s",
599 zNew, filename_collation());
600 if( x>=0 ){
601 if( x==0 ){
602 fossil_fatal("cannot rename '%s' to '%s' since another file named '%s'"
@@ -621,11 +626,11 @@
626 ** This command does NOT rename or move the files on disk. This command merely
627 ** records the fact that filenames have changed so that appropriate notations
628 ** can be made at the next commit/checkin.
629 **
630 ** Options:
631 ** --case-sensitive <BOOL> Override the case-sensitive setting.
632 **
633 ** See also: changes, status
634 */
635 void mv_cmd(void){
636 int i;
637
+1
--- src/cgi.c
+++ src/cgi.c
@@ -465,10 +465,11 @@
465465
if( g.fHttpTrace ){
466466
fprintf(stderr, "# cgi: %s = [%s]\n", zName, zValue);
467467
}
468468
aParamQP[nUsedQP].seq = seqQP++;
469469
aParamQP[nUsedQP].isQP = isQP;
470
+ aParamQP[nUsedQP].cTag = 0;
470471
nUsedQP++;
471472
sortQP = 1;
472473
}
473474
474475
/*
475476
--- src/cgi.c
+++ src/cgi.c
@@ -465,10 +465,11 @@
465 if( g.fHttpTrace ){
466 fprintf(stderr, "# cgi: %s = [%s]\n", zName, zValue);
467 }
468 aParamQP[nUsedQP].seq = seqQP++;
469 aParamQP[nUsedQP].isQP = isQP;
 
470 nUsedQP++;
471 sortQP = 1;
472 }
473
474 /*
475
--- src/cgi.c
+++ src/cgi.c
@@ -465,10 +465,11 @@
465 if( g.fHttpTrace ){
466 fprintf(stderr, "# cgi: %s = [%s]\n", zName, zValue);
467 }
468 aParamQP[nUsedQP].seq = seqQP++;
469 aParamQP[nUsedQP].isQP = isQP;
470 aParamQP[nUsedQP].cTag = 0;
471 nUsedQP++;
472 sortQP = 1;
473 }
474
475 /*
476
+4 -2
--- src/db.c
+++ src/db.c
@@ -159,14 +159,16 @@
159159
if( rollbackFlag ) db.doRollback = 1;
160160
db.nBegin--;
161161
if( db.nBegin==0 ){
162162
int i;
163163
if( db.doRollback==0 && db.nPriorChanges<sqlite3_total_changes(g.db) ){
164
+ i = 0;
164165
while( db.nBeforeCommit ){
165166
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++;
168170
}
169171
leaf_do_pending_checks();
170172
}
171173
for(i=0; db.doRollback==0 && i<db.nCommitHook; i++){
172174
db.doRollback |= db.aHook[i].xHook();
173175
--- src/db.c
+++ src/db.c
@@ -159,14 +159,16 @@
159 if( rollbackFlag ) db.doRollback = 1;
160 db.nBegin--;
161 if( db.nBegin==0 ){
162 int i;
163 if( db.doRollback==0 && db.nPriorChanges<sqlite3_total_changes(g.db) ){
 
164 while( db.nBeforeCommit ){
165 db.nBeforeCommit--;
166 sqlite3_exec(g.db, db.azBeforeCommit[db.nBeforeCommit], 0, 0, 0);
167 sqlite3_free(db.azBeforeCommit[db.nBeforeCommit]);
 
168 }
169 leaf_do_pending_checks();
170 }
171 for(i=0; db.doRollback==0 && i<db.nCommitHook; i++){
172 db.doRollback |= db.aHook[i].xHook();
173
--- src/db.c
+++ src/db.c
@@ -159,14 +159,16 @@
159 if( rollbackFlag ) db.doRollback = 1;
160 db.nBegin--;
161 if( db.nBegin==0 ){
162 int i;
163 if( db.doRollback==0 && db.nPriorChanges<sqlite3_total_changes(g.db) ){
164 i = 0;
165 while( db.nBeforeCommit ){
166 db.nBeforeCommit--;
167 sqlite3_exec(g.db, db.azBeforeCommit[i], 0, 0, 0);
168 sqlite3_free(db.azBeforeCommit[i]);
169 i++;
170 }
171 leaf_do_pending_checks();
172 }
173 for(i=0; db.doRollback==0 && i<db.nCommitHook; i++){
174 db.doRollback |= db.aHook[i].xHook();
175
+18 -13
--- src/timeline.c
+++ src/timeline.c
@@ -1198,10 +1198,11 @@
11981198
}
11991199
if( tagid>0
12001200
&& db_int(0,"SELECT count(*) FROM tagxref WHERE tagid=%d",tagid)<=nEntry
12011201
){
12021202
nEntry = -1;
1203
+ zCirca = 0;
12031204
}
12041205
if( zType[0]=='a' ){
12051206
tmFlags |= TIMELINE_BRIEF | TIMELINE_GRAPH;
12061207
}else{
12071208
tmFlags |= TIMELINE_GRAPH;
@@ -1250,11 +1251,11 @@
12501251
tmFlags |= TIMELINE_FCHANGES;
12511252
}
12521253
if( (tmFlags & TIMELINE_UNHIDE)==0 ){
12531254
blob_append_sql(&sql,
12541255
" 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",
12561257
TAG_HIDDEN
12571258
);
12581259
}
12591260
if( ((from_rid && to_rid) || (me_rid && you_rid)) && g.perm.Read ){
12601261
/* If from= and to= are present, display all nodes on a path connecting
@@ -1375,12 +1376,12 @@
13751376
blob_append_sql(&sql, " AND %Q=strftime('%%Y-%%W',event.mtime) ",
13761377
zYearWeek);
13771378
}
13781379
if( tagid>0 ){
13791380
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);
13821383
13831384
if( zBrName ){
13841385
/* The next two blob_appendf() calls add SQL that causes checkins that
13851386
** are not part of the branch which are parents or children of the
13861387
** branch to be included in the report. This related check-ins are
@@ -1387,30 +1388,30 @@
13871388
** useful in helping to visualize what has happened on a quiescent
13881389
** branch that is infrequently merged with a much more activate branch.
13891390
*/
13901391
blob_append_sql(&sql,
13911392
" 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",
13931394
tagid
13941395
);
13951396
if( (tmFlags & TIMELINE_UNHIDE)==0 ){
13961397
blob_append_sql(&sql,
13971398
" 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",
13991400
TAG_HIDDEN
14001401
);
14011402
}
14021403
if( P("mionly")==0 ){
14031404
blob_append_sql(&sql,
14041405
" 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",
14061407
tagid
14071408
);
14081409
if( (tmFlags & TIMELINE_UNHIDE)==0 ){
14091410
blob_append_sql(&sql,
14101411
" 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",
14121413
TAG_HIDDEN
14131414
);
14141415
}
14151416
}
14161417
}
@@ -1496,20 +1497,24 @@
14961497
url_add_parameter(&url, "c", 0);
14971498
}else if( rCirca>0.0 ){
14981499
Blob sql2;
14991500
blob_init(&sql2, blob_sql_text(&sql), -1);
15001501
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
+ }
15041510
db_multi_exec("%s", blob_sql_text(&sql2));
15051511
blob_reset(&sql2);
15061512
blob_append_sql(&sql,
15071513
" AND event.mtime>=%f ORDER BY event.mtime ASC",
15081514
rCirca
15091515
);
1510
- nEntry -= (nEntry+1)/2;
15111516
if( zMark==0 ) zMark = zCirca;
15121517
}else{
15131518
blob_append_sql(&sql, " ORDER BY event.mtime DESC");
15141519
}
15151520
if( nEntry>0 ) blob_append_sql(&sql, " LIMIT %d", nEntry);
@@ -1583,11 +1588,11 @@
15831588
style_submenu_binary("v","With Files","Without Files",
15841589
zType[0]!='a' && zType[0]!='c');
15851590
}
15861591
}
15871592
if( PB("showsql") ){
1588
- @ <blockquote>%h(blob_sql_text(&sql))</blockquote>
1593
+ @ <pre>%h(blob_sql_text(&sql))</pre>
15891594
}
15901595
if( search_restrict(SRCH_CKIN)!=0 ){
15911596
style_submenu_element("Search", 0, "%R/search?y=c");
15921597
}
15931598
if( PB("showid") ) tmFlags |= TIMELINE_SHOWRID;
@@ -1950,11 +1955,11 @@
19501955
}
19511956
19521957
if( mode==0 ) mode = 1;
19531958
blob_zero(&sql);
19541959
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",
19561961
(mode==1 || mode==4) ? "<=" : ">=",
19571962
zDate /*safe-for-%s*/
19581963
);
19591964
19601965
if( mode==3 || mode==4 ){
19611966
--- src/timeline.c
+++ src/timeline.c
@@ -1198,10 +1198,11 @@
1198 }
1199 if( tagid>0
1200 && db_int(0,"SELECT count(*) FROM tagxref WHERE tagid=%d",tagid)<=nEntry
1201 ){
1202 nEntry = -1;
 
1203 }
1204 if( zType[0]=='a' ){
1205 tmFlags |= TIMELINE_BRIEF | TIMELINE_GRAPH;
1206 }else{
1207 tmFlags |= TIMELINE_GRAPH;
@@ -1250,11 +1251,11 @@
1250 tmFlags |= TIMELINE_FCHANGES;
1251 }
1252 if( (tmFlags & TIMELINE_UNHIDE)==0 ){
1253 blob_append_sql(&sql,
1254 " AND NOT EXISTS(SELECT 1 FROM tagxref"
1255 " WHERE tagid=%d AND tagtype>0 AND rid=blob.rid)",
1256 TAG_HIDDEN
1257 );
1258 }
1259 if( ((from_rid && to_rid) || (me_rid && you_rid)) && g.perm.Read ){
1260 /* If from= and to= are present, display all nodes on a path connecting
@@ -1375,12 +1376,12 @@
1375 blob_append_sql(&sql, " AND %Q=strftime('%%Y-%%W',event.mtime) ",
1376 zYearWeek);
1377 }
1378 if( tagid>0 ){
1379 blob_append_sql(&sql,
1380 "AND (EXISTS(SELECT 1 FROM tagxref"
1381 " WHERE tagid=%d AND tagtype>0 AND rid=blob.rid)", tagid);
1382
1383 if( zBrName ){
1384 /* The next two blob_appendf() calls add SQL that causes checkins that
1385 ** are not part of the branch which are parents or children of the
1386 ** branch to be included in the report. This related check-ins are
@@ -1387,30 +1388,30 @@
1387 ** useful in helping to visualize what has happened on a quiescent
1388 ** branch that is infrequently merged with a much more activate branch.
1389 */
1390 blob_append_sql(&sql,
1391 " OR EXISTS(SELECT 1 FROM plink CROSS JOIN tagxref ON rid=cid"
1392 " WHERE tagid=%d AND tagtype>0 AND pid=blob.rid)",
1393 tagid
1394 );
1395 if( (tmFlags & TIMELINE_UNHIDE)==0 ){
1396 blob_append_sql(&sql,
1397 " AND NOT EXISTS(SELECT 1 FROM plink JOIN tagxref ON rid=cid"
1398 " WHERE tagid=%d AND tagtype>0 AND pid=blob.rid)",
1399 TAG_HIDDEN
1400 );
1401 }
1402 if( P("mionly")==0 ){
1403 blob_append_sql(&sql,
1404 " OR EXISTS(SELECT 1 FROM plink CROSS JOIN tagxref ON rid=pid"
1405 " WHERE tagid=%d AND tagtype>0 AND cid=blob.rid)",
1406 tagid
1407 );
1408 if( (tmFlags & TIMELINE_UNHIDE)==0 ){
1409 blob_append_sql(&sql,
1410 " AND NOT EXISTS(SELECT 1 FROM plink JOIN tagxref ON rid=pid"
1411 " WHERE tagid=%d AND tagtype>0 AND cid=blob.rid)",
1412 TAG_HIDDEN
1413 );
1414 }
1415 }
1416 }
@@ -1496,20 +1497,24 @@
1496 url_add_parameter(&url, "c", 0);
1497 }else if( rCirca>0.0 ){
1498 Blob sql2;
1499 blob_init(&sql2, blob_sql_text(&sql), -1);
1500 blob_append_sql(&sql2,
1501 " AND event.mtime<=%f ORDER BY event.mtime DESC LIMIT %d",
1502 rCirca, (nEntry+1)/2
1503 );
 
 
 
 
 
1504 db_multi_exec("%s", blob_sql_text(&sql2));
1505 blob_reset(&sql2);
1506 blob_append_sql(&sql,
1507 " AND event.mtime>=%f ORDER BY event.mtime ASC",
1508 rCirca
1509 );
1510 nEntry -= (nEntry+1)/2;
1511 if( zMark==0 ) zMark = zCirca;
1512 }else{
1513 blob_append_sql(&sql, " ORDER BY event.mtime DESC");
1514 }
1515 if( nEntry>0 ) blob_append_sql(&sql, " LIMIT %d", nEntry);
@@ -1583,11 +1588,11 @@
1583 style_submenu_binary("v","With Files","Without Files",
1584 zType[0]!='a' && zType[0]!='c');
1585 }
1586 }
1587 if( PB("showsql") ){
1588 @ <blockquote>%h(blob_sql_text(&sql))</blockquote>
1589 }
1590 if( search_restrict(SRCH_CKIN)!=0 ){
1591 style_submenu_element("Search", 0, "%R/search?y=c");
1592 }
1593 if( PB("showid") ) tmFlags |= TIMELINE_SHOWRID;
@@ -1950,11 +1955,11 @@
1950 }
1951
1952 if( mode==0 ) mode = 1;
1953 blob_zero(&sql);
1954 blob_append(&sql, timeline_query_for_tty(), -1);
1955 blob_append_sql(&sql, " AND event.mtime %s %s",
1956 (mode==1 || mode==4) ? "<=" : ">=",
1957 zDate /*safe-for-%s*/
1958 );
1959
1960 if( mode==3 || mode==4 ){
1961
--- src/timeline.c
+++ src/timeline.c
@@ -1198,10 +1198,11 @@
1198 }
1199 if( tagid>0
1200 && db_int(0,"SELECT count(*) FROM tagxref WHERE tagid=%d",tagid)<=nEntry
1201 ){
1202 nEntry = -1;
1203 zCirca = 0;
1204 }
1205 if( zType[0]=='a' ){
1206 tmFlags |= TIMELINE_BRIEF | TIMELINE_GRAPH;
1207 }else{
1208 tmFlags |= TIMELINE_GRAPH;
@@ -1250,11 +1251,11 @@
1251 tmFlags |= TIMELINE_FCHANGES;
1252 }
1253 if( (tmFlags & TIMELINE_UNHIDE)==0 ){
1254 blob_append_sql(&sql,
1255 " AND NOT EXISTS(SELECT 1 FROM tagxref"
1256 " WHERE tagid=%d AND tagtype>0 AND rid=blob.rid)\n",
1257 TAG_HIDDEN
1258 );
1259 }
1260 if( ((from_rid && to_rid) || (me_rid && you_rid)) && g.perm.Read ){
1261 /* If from= and to= are present, display all nodes on a path connecting
@@ -1375,12 +1376,12 @@
1376 blob_append_sql(&sql, " AND %Q=strftime('%%Y-%%W',event.mtime) ",
1377 zYearWeek);
1378 }
1379 if( tagid>0 ){
1380 blob_append_sql(&sql,
1381 " AND (EXISTS(SELECT 1 FROM tagxref"
1382 " WHERE tagid=%d AND tagtype>0 AND rid=blob.rid)\n", tagid);
1383
1384 if( zBrName ){
1385 /* The next two blob_appendf() calls add SQL that causes checkins that
1386 ** are not part of the branch which are parents or children of the
1387 ** branch to be included in the report. This related check-ins are
@@ -1387,30 +1388,30 @@
1388 ** useful in helping to visualize what has happened on a quiescent
1389 ** branch that is infrequently merged with a much more activate branch.
1390 */
1391 blob_append_sql(&sql,
1392 " OR EXISTS(SELECT 1 FROM plink CROSS JOIN tagxref ON rid=cid"
1393 " WHERE tagid=%d AND tagtype>0 AND pid=blob.rid)\n",
1394 tagid
1395 );
1396 if( (tmFlags & TIMELINE_UNHIDE)==0 ){
1397 blob_append_sql(&sql,
1398 " AND NOT EXISTS(SELECT 1 FROM plink JOIN tagxref ON rid=cid"
1399 " WHERE tagid=%d AND tagtype>0 AND pid=blob.rid)\n",
1400 TAG_HIDDEN
1401 );
1402 }
1403 if( P("mionly")==0 ){
1404 blob_append_sql(&sql,
1405 " OR EXISTS(SELECT 1 FROM plink CROSS JOIN tagxref ON rid=pid"
1406 " WHERE tagid=%d AND tagtype>0 AND cid=blob.rid)\n",
1407 tagid
1408 );
1409 if( (tmFlags & TIMELINE_UNHIDE)==0 ){
1410 blob_append_sql(&sql,
1411 " AND NOT EXISTS(SELECT 1 FROM plink JOIN tagxref ON rid=pid"
1412 " WHERE tagid=%d AND tagtype>0 AND cid=blob.rid)\n",
1413 TAG_HIDDEN
1414 );
1415 }
1416 }
1417 }
@@ -1496,20 +1497,24 @@
1497 url_add_parameter(&url, "c", 0);
1498 }else if( rCirca>0.0 ){
1499 Blob sql2;
1500 blob_init(&sql2, blob_sql_text(&sql), -1);
1501 blob_append_sql(&sql2,
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 }
1510 db_multi_exec("%s", blob_sql_text(&sql2));
1511 blob_reset(&sql2);
1512 blob_append_sql(&sql,
1513 " AND event.mtime>=%f ORDER BY event.mtime ASC",
1514 rCirca
1515 );
 
1516 if( zMark==0 ) zMark = zCirca;
1517 }else{
1518 blob_append_sql(&sql, " ORDER BY event.mtime DESC");
1519 }
1520 if( nEntry>0 ) blob_append_sql(&sql, " LIMIT %d", nEntry);
@@ -1583,11 +1588,11 @@
1588 style_submenu_binary("v","With Files","Without Files",
1589 zType[0]!='a' && zType[0]!='c');
1590 }
1591 }
1592 if( PB("showsql") ){
1593 @ <pre>%h(blob_sql_text(&sql))</pre>
1594 }
1595 if( search_restrict(SRCH_CKIN)!=0 ){
1596 style_submenu_element("Search", 0, "%R/search?y=c");
1597 }
1598 if( PB("showid") ) tmFlags |= TIMELINE_SHOWRID;
@@ -1950,11 +1955,11 @@
1955 }
1956
1957 if( mode==0 ) mode = 1;
1958 blob_zero(&sql);
1959 blob_append(&sql, timeline_query_for_tty(), -1);
1960 blob_append_sql(&sql, "\n AND event.mtime %s %s",
1961 (mode==1 || mode==4) ? "<=" : ">=",
1962 zDate /*safe-for-%s*/
1963 );
1964
1965 if( mode==3 || mode==4 ){
1966
--- www/changes.wiki
+++ www/changes.wiki
@@ -1,8 +1,8 @@
11
<title>Change Log</title>
22
3
-<h2>Changes For Version 1.31 (2015-02-??)</h2>
3
+<h2>Changes For Version 1.31 (2015-02-23)</h2>
44
* Change the auxiliary schema by adding columns MLINK.ISAUX and MLINK.PMID
55
columns to the schema, to support better drawing of file change graphs.
66
A [/help?cmd=rebuild|fossil rebuild] is recommended but is not required.
77
so that the new graph drawing logic can work effectively.
88
* Added [/search|search] over Check-in comments, Documents, Tickets and
@@ -20,15 +20,19 @@
2020
[/help?cmd=ui|ui], or
2121
[/help?cmd=http|http] commands.
2222
* Embedded html documents that begin with
2323
&lt;doc class="fossil-doc"&gt; are displayed with standard
2424
headers and footers added.
25
+ * Allow &lt;div style='...'&gt; markup in [/wiki_rules|wiki].
2526
* Renamed "Events" to "Technical Notes", while updating the technote
2627
display and control pages. Add support for technotes as plain text
2728
or as Markdown.
2829
* Added the [/md_rules] pages containing summary instructions on the
2930
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".
3034
* Improvements to the /login page. Some hyperlinks to pages that require
3135
"anonymous" privileges are displayed even if the current user is "nobody"
3236
but automatically redirect to /login.
3337
* The [/help?cmd=/doc|/doc] web-page will now try to deliver the file
3438
"404.md" from the top-level directory (if such a file exists) in
3539
--- www/changes.wiki
+++ www/changes.wiki
@@ -1,8 +1,8 @@
1 <title>Change Log</title>
2
3 <h2>Changes For Version 1.31 (2015-02-??)</h2>
4 * Change the auxiliary schema by adding columns MLINK.ISAUX and MLINK.PMID
5 columns to the schema, to support better drawing of file change graphs.
6 A [/help?cmd=rebuild|fossil rebuild] is recommended but is not required.
7 so that the new graph drawing logic can work effectively.
8 * Added [/search|search] over Check-in comments, Documents, Tickets and
@@ -20,15 +20,19 @@
20 [/help?cmd=ui|ui], or
21 [/help?cmd=http|http] commands.
22 * Embedded html documents that begin with
23 &lt;doc class="fossil-doc"&gt; are displayed with standard
24 headers and footers added.
 
25 * Renamed "Events" to "Technical Notes", while updating the technote
26 display and control pages. Add support for technotes as plain text
27 or as Markdown.
28 * Added the [/md_rules] pages containing summary instructions on the
29 Markdown format.
 
 
 
30 * Improvements to the /login page. Some hyperlinks to pages that require
31 "anonymous" privileges are displayed even if the current user is "nobody"
32 but automatically redirect to /login.
33 * The [/help?cmd=/doc|/doc] web-page will now try to deliver the file
34 "404.md" from the top-level directory (if such a file exists) in
35
--- www/changes.wiki
+++ www/changes.wiki
@@ -1,8 +1,8 @@
1 <title>Change Log</title>
2
3 <h2>Changes For Version 1.31 (2015-02-23)</h2>
4 * Change the auxiliary schema by adding columns MLINK.ISAUX and MLINK.PMID
5 columns to the schema, to support better drawing of file change graphs.
6 A [/help?cmd=rebuild|fossil rebuild] is recommended but is not required.
7 so that the new graph drawing logic can work effectively.
8 * Added [/search|search] over Check-in comments, Documents, Tickets and
@@ -20,15 +20,19 @@
20 [/help?cmd=ui|ui], or
21 [/help?cmd=http|http] commands.
22 * Embedded html documents that begin with
23 &lt;doc class="fossil-doc"&gt; are displayed with standard
24 headers and footers added.
25 * Allow &lt;div style='...'&gt; markup in [/wiki_rules|wiki].
26 * Renamed "Events" to "Technical Notes", while updating the technote
27 display and control pages. Add support for technotes as plain text
28 or as Markdown.
29 * Added the [/md_rules] pages containing summary instructions on the
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".
34 * Improvements to the /login page. Some hyperlinks to pages that require
35 "anonymous" privileges are displayed even if the current user is "nobody"
36 but automatically redirect to /login.
37 * The [/help?cmd=/doc|/doc] web-page will now try to deliver the file
38 "404.md" from the top-level directory (if such a file exists) in
39
--- www/concepts.wiki
+++ www/concepts.wiki
@@ -373,11 +373,11 @@
373373
local repository.
374374
</li>
375375
376376
<li>
377377
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.
379379
If you merge in some changes and find that the changes do not work out
380380
or are not to your liking, you can back out the changes using the
381381
<b>undo</b> command.
382382
</li>
383383
384384
--- www/concepts.wiki
+++ www/concepts.wiki
@@ -373,11 +373,11 @@
373 local repository.
374 </li>
375
376 <li>
377 Once changes are in your local repository, use
378 use the <b>update</b> command to merge them to your local source tree.
379 If you merge in some changes and find that the changes do not work out
380 or are not to your liking, you can back out the changes using the
381 <b>undo</b> command.
382 </li>
383
384
--- www/concepts.wiki
+++ www/concepts.wiki
@@ -373,11 +373,11 @@
373 local repository.
374 </li>
375
376 <li>
377 Once changes are in your local repository, use
378 the <b>update</b> command to merge them to your local source tree.
379 If you merge in some changes and find that the changes do not work out
380 or are not to your liking, you can back out the changes using the
381 <b>undo</b> command.
382 </li>
383
384
+9 -2
--- www/quotes.wiki
+++ www/quotes.wiki
@@ -71,16 +71,23 @@
7171
<blockquote>
7272
<i>Stephen Beal on the [http://www.mail-archive.com/[email protected]/msg17181.html|Fossil mailing list]
7373
2014-09-01.</i>
7474
</blockquote>
7575
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
+
7683
</ol>
7784
7885
<h2>On The Usability Of Fossil:</h2>
7986
8087
<ol>
81
-<li value=9>
88
+<li value=10>
8289
Fossil mesmerizes me with simplicity especially after I struggled to
8390
get a bug-tracking system to work with mercurial.
8491
8592
<blockquote>
8693
<i>rawjeev at [http://stackoverflow.com/questions/156322/what-do-people-think-of-the-fossil-dvcs]</i>
@@ -108,11 +115,11 @@
108115
109116
110117
<h2>On Git Versus Fossil</h2>
111118
112119
<ol>
113
-<li value=12>
120
+<li value=13>
114121
Just want to say thanks for fossil making my life easier....
115122
Also <nowiki>[for]</nowiki> not having a misanthropic command line interface.
116123
117124
<blockquote>
118125
<i>Joshua Paine at [http://www.mail-archive.com/[email protected]/msg02736.html]</i>
119126
--- www/quotes.wiki
+++ www/quotes.wiki
@@ -71,16 +71,23 @@
71 <blockquote>
72 <i>Stephen Beal on the [http://www.mail-archive.com/[email protected]/msg17181.html|Fossil mailing list]
73 2014-09-01.</i>
74 </blockquote>
75
 
 
 
 
 
 
 
76 </ol>
77
78 <h2>On The Usability Of Fossil:</h2>
79
80 <ol>
81 <li value=9>
82 Fossil mesmerizes me with simplicity especially after I struggled to
83 get a bug-tracking system to work with mercurial.
84
85 <blockquote>
86 <i>rawjeev at [http://stackoverflow.com/questions/156322/what-do-people-think-of-the-fossil-dvcs]</i>
@@ -108,11 +115,11 @@
108
109
110 <h2>On Git Versus Fossil</h2>
111
112 <ol>
113 <li value=12>
114 Just want to say thanks for fossil making my life easier....
115 Also <nowiki>[for]</nowiki> not having a misanthropic command line interface.
116
117 <blockquote>
118 <i>Joshua Paine at [http://www.mail-archive.com/[email protected]/msg02736.html]</i>
119
--- www/quotes.wiki
+++ www/quotes.wiki
@@ -71,16 +71,23 @@
71 <blockquote>
72 <i>Stephen Beal on the [http://www.mail-archive.com/[email protected]/msg17181.html|Fossil mailing list]
73 2014-09-01.</i>
74 </blockquote>
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
83 </ol>
84
85 <h2>On The Usability Of Fossil:</h2>
86
87 <ol>
88 <li value=10>
89 Fossil mesmerizes me with simplicity especially after I struggled to
90 get a bug-tracking system to work with mercurial.
91
92 <blockquote>
93 <i>rawjeev at [http://stackoverflow.com/questions/156322/what-do-people-think-of-the-fossil-dvcs]</i>
@@ -108,11 +115,11 @@
115
116
117 <h2>On Git Versus Fossil</h2>
118
119 <ol>
120 <li value=13>
121 Just want to say thanks for fossil making my life easier....
122 Also <nowiki>[for]</nowiki> not having a misanthropic command line interface.
123
124 <blockquote>
125 <i>Joshua Paine at [http://www.mail-archive.com/[email protected]/msg02736.html]</i>
126

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button