Fossil SCM
Merge trunk..
Commit
7d0ce2b0671e06c0ae481b1c56b467109a2fc8b3
Parent
16923b5c599218b…
15 files changed
+3
+3
+7
+3
+4
+3
+3
+3
+17
-12
+1
+4
-2
+18
-13
+5
-1
+1
-1
+9
-2
~
skins/black_and_white/css.txt
~
skins/default/css.txt
~
skins/eagle/css.txt
~
skins/enhanced1/css.txt
~
skins/etienne1/css.txt
~
skins/khaki/css.txt
~
skins/plain_gray/css.txt
~
skins/rounded1/css.txt
~
src/add.c
~
src/cgi.c
~
src/db.c
~
src/timeline.c
~
www/changes.wiki
~
www/concepts.wiki
~
www/quotes.wiki
| --- skins/black_and_white/css.txt | ||
| +++ skins/black_and_white/css.txt | ||
| @@ -3,10 +3,13 @@ | ||
| 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 |
| --- 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 @@ | ||
| 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 |
| --- 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 |
+7
| --- skins/eagle/css.txt | ||
| +++ skins/eagle/css.txt | ||
| @@ -3,10 +3,13 @@ | ||
| 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; |
| @@ -161,10 +164,14 @@ | ||
| 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 |
| --- 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 @@ | ||
| 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 |
| --- 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 @@ | ||
| 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 |
| --- 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 |
+3
| --- skins/khaki/css.txt | ||
| +++ skins/khaki/css.txt | ||
| @@ -2,10 +2,13 @@ | ||
| 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 |
| --- 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 @@ | ||
| 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 |
| --- 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 @@ | ||
| 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 |
| --- 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 @@ | ||
| 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){ |
| @@ -345,11 +345,11 @@ | ||
| 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; |
| @@ -490,22 +490,23 @@ | ||
| 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; |
| @@ -587,11 +588,15 @@ | ||
| 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'" |
| @@ -621,11 +626,11 @@ | ||
| 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 |
| --- 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 @@ | ||
| 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 |
| --- 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 |
M
src/db.c
+4
-2
| --- src/db.c | ||
| +++ src/db.c | ||
| @@ -159,14 +159,16 @@ | ||
| 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 |
| --- 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 @@ | ||
| 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; |
| @@ -1250,11 +1251,11 @@ | ||
| 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 |
| @@ -1375,12 +1376,12 @@ | ||
| 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,30 +1388,30 @@ | ||
| 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 | } |
| @@ -1496,20 +1497,24 @@ | ||
| 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); |
| @@ -1583,11 +1588,11 @@ | ||
| 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; |
| @@ -1950,11 +1955,11 @@ | ||
| 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 |
| --- 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 |
+5
-1
| --- www/changes.wiki | ||
| +++ www/changes.wiki | ||
| @@ -1,8 +1,8 @@ | ||
| 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 |
| @@ -20,15 +20,19 @@ | ||
| 20 | 20 | [/help?cmd=ui|ui], or |
| 21 | 21 | [/help?cmd=http|http] commands. |
| 22 | 22 | * Embedded html documents that begin with |
| 23 | 23 | <doc class="fossil-doc"> are displayed with standard |
| 24 | 24 | headers and footers added. |
| 25 | + * Allow <div style='...'> 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 |
| --- 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 | <doc class="fossil-doc"> 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 | <doc class="fossil-doc"> are displayed with standard |
| 24 | headers and footers added. |
| 25 | * Allow <div style='...'> 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 |
+1
-1
| --- www/concepts.wiki | ||
| +++ www/concepts.wiki | ||
| @@ -373,11 +373,11 @@ | ||
| 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 |
| --- 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 @@ | ||
| 71 | 71 | <blockquote> |
| 72 | 72 | <i>Stephen Beal on the [http://www.mail-archive.com/[email protected]/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> |
| @@ -108,11 +115,11 @@ | ||
| 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/[email protected]/msg02736.html]</i> |
| 119 | 126 |
| --- 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 |