Fossil SCM

Merged all trunk changes in except for the underlined link change to default.css.

wyoung 2024-01-28 22:52 inskinerator-modern-backport merge
Commit 6301f6ce761e79b66798de7e6d65014d4f97cb85603b23463e9a78ebe7a99d03
+3
--- src/db.c
+++ src/db.c
@@ -4484,10 +4484,13 @@
44844484
** forks.
44854485
**
44864486
** The syntax is a comma-separated list of VALUE and COMMAND=VALUE entries.
44874487
** A plain VALUE entry is the default that is used if no COMMAND matches.
44884488
** Otherwise, the VALUE of the matching command is used.
4489
+**
4490
+** The "all" value is special in that it applies to the "sync" command in
4491
+** addition to "commit", "merge", "open", and "update".
44894492
*/
44904493
/*
44914494
** SETTING: autosync-tries width=16 default=1
44924495
** If autosync is enabled setting this to a value greater
44934496
** than zero will cause autosync to try no more than this
44944497
--- src/db.c
+++ src/db.c
@@ -4484,10 +4484,13 @@
4484 ** forks.
4485 **
4486 ** The syntax is a comma-separated list of VALUE and COMMAND=VALUE entries.
4487 ** A plain VALUE entry is the default that is used if no COMMAND matches.
4488 ** Otherwise, the VALUE of the matching command is used.
 
 
 
4489 */
4490 /*
4491 ** SETTING: autosync-tries width=16 default=1
4492 ** If autosync is enabled setting this to a value greater
4493 ** than zero will cause autosync to try no more than this
4494
--- src/db.c
+++ src/db.c
@@ -4484,10 +4484,13 @@
4484 ** forks.
4485 **
4486 ** The syntax is a comma-separated list of VALUE and COMMAND=VALUE entries.
4487 ** A plain VALUE entry is the default that is used if no COMMAND matches.
4488 ** Otherwise, the VALUE of the matching command is used.
4489 **
4490 ** The "all" value is special in that it applies to the "sync" command in
4491 ** addition to "commit", "merge", "open", and "update".
4492 */
4493 /*
4494 ** SETTING: autosync-tries width=16 default=1
4495 ** If autosync is enabled setting this to a value greater
4496 ** than zero will cause autosync to try no more than this
4497
--- src/http_transport.c
+++ src/http_transport.c
@@ -135,10 +135,11 @@
135135
}
136136
if( !is_safe_fossil_command(pUrlData->fossil) ){
137137
fossil_fatal("the ssh:// URL is asking to run an unsafe command [%s] on "
138138
"the server.", pUrlData->fossil);
139139
}
140
+ blob_append_escaped_arg(&zCmd, "PATH=$HOME/bin:$PATH", 1);
140141
blob_append_escaped_arg(&zCmd, pUrlData->fossil, 1);
141142
blob_append(&zCmd, " test-http", 10);
142143
if( pUrlData->path && pUrlData->path[0] ){
143144
blob_append_escaped_arg(&zCmd, pUrlData->path, 1);
144145
}else{
145146
--- src/http_transport.c
+++ src/http_transport.c
@@ -135,10 +135,11 @@
135 }
136 if( !is_safe_fossil_command(pUrlData->fossil) ){
137 fossil_fatal("the ssh:// URL is asking to run an unsafe command [%s] on "
138 "the server.", pUrlData->fossil);
139 }
 
140 blob_append_escaped_arg(&zCmd, pUrlData->fossil, 1);
141 blob_append(&zCmd, " test-http", 10);
142 if( pUrlData->path && pUrlData->path[0] ){
143 blob_append_escaped_arg(&zCmd, pUrlData->path, 1);
144 }else{
145
--- src/http_transport.c
+++ src/http_transport.c
@@ -135,10 +135,11 @@
135 }
136 if( !is_safe_fossil_command(pUrlData->fossil) ){
137 fossil_fatal("the ssh:// URL is asking to run an unsafe command [%s] on "
138 "the server.", pUrlData->fossil);
139 }
140 blob_append_escaped_arg(&zCmd, "PATH=$HOME/bin:$PATH", 1);
141 blob_append_escaped_arg(&zCmd, pUrlData->fossil, 1);
142 blob_append(&zCmd, " test-http", 10);
143 if( pUrlData->path && pUrlData->path[0] ){
144 blob_append_escaped_arg(&zCmd, pUrlData->path, 1);
145 }else{
146
+27 -2
--- src/markdown.c
+++ src/markdown.c
@@ -1617,23 +1617,48 @@
16171617
struct Blob *ob,
16181618
struct render *rndr,
16191619
char *data,
16201620
size_t size
16211621
){
1622
- size_t beg, end = 0, pre, work_size = 0;
1622
+ size_t beg, end = 0, pre, work_size = 0, nb, endFence = 0;
16231623
char *work_data = 0;
16241624
struct Blob *out = new_work_buffer(rndr);
1625
+
1626
+ /* Check to see if this is a quote of a fenced code block, because
1627
+ ** if it is, then blank lines do not terminated the quoted text. Ex:
1628
+ **
1629
+ ** > ~~~~
1630
+ ** First line
1631
+ **
1632
+ ** Line after blank
1633
+ ** ~~~~
1634
+ **
1635
+ ** If this is a quoted fenced block, then set endFence to be the
1636
+ ** offset of the end of the fenced block.
1637
+ */
1638
+ pre = prefix_quote(data,size);
1639
+ pre += is_empty(data+pre,size-pre);
1640
+ nb = prefix_fencedcode(data+pre,size-pre);
1641
+ if( nb ){
1642
+ size_t i = 0;
1643
+ char delim = data[pre];
1644
+ for(end=pre+nb; end<size && i<nb; end++){
1645
+ if( data[end]==delim ) i++; else i = 0;
1646
+ }
1647
+ if( i>=nb ) endFence = end;
1648
+ }
16251649
16261650
beg = 0;
16271651
while( beg<size ){
16281652
for(end=beg+1; end<size && data[end-1]!='\n'; end++);
16291653
pre = prefix_quote(data+beg, end-beg);
16301654
if( pre ){
16311655
beg += pre; /* skipping prefix */
16321656
}else if( is_empty(data+beg, end-beg)
16331657
&& (end>=size
1634
- || (prefix_quote(data+end, size-end)==0
1658
+ || (end>endFence
1659
+ && prefix_quote(data+end, size-end)==0
16351660
&& !is_empty(data+end, size-end)))
16361661
){
16371662
/* empty line followed by non-quote line */
16381663
break;
16391664
}
16401665
--- src/markdown.c
+++ src/markdown.c
@@ -1617,23 +1617,48 @@
1617 struct Blob *ob,
1618 struct render *rndr,
1619 char *data,
1620 size_t size
1621 ){
1622 size_t beg, end = 0, pre, work_size = 0;
1623 char *work_data = 0;
1624 struct Blob *out = new_work_buffer(rndr);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1625
1626 beg = 0;
1627 while( beg<size ){
1628 for(end=beg+1; end<size && data[end-1]!='\n'; end++);
1629 pre = prefix_quote(data+beg, end-beg);
1630 if( pre ){
1631 beg += pre; /* skipping prefix */
1632 }else if( is_empty(data+beg, end-beg)
1633 && (end>=size
1634 || (prefix_quote(data+end, size-end)==0
 
1635 && !is_empty(data+end, size-end)))
1636 ){
1637 /* empty line followed by non-quote line */
1638 break;
1639 }
1640
--- src/markdown.c
+++ src/markdown.c
@@ -1617,23 +1617,48 @@
1617 struct Blob *ob,
1618 struct render *rndr,
1619 char *data,
1620 size_t size
1621 ){
1622 size_t beg, end = 0, pre, work_size = 0, nb, endFence = 0;
1623 char *work_data = 0;
1624 struct Blob *out = new_work_buffer(rndr);
1625
1626 /* Check to see if this is a quote of a fenced code block, because
1627 ** if it is, then blank lines do not terminated the quoted text. Ex:
1628 **
1629 ** > ~~~~
1630 ** First line
1631 **
1632 ** Line after blank
1633 ** ~~~~
1634 **
1635 ** If this is a quoted fenced block, then set endFence to be the
1636 ** offset of the end of the fenced block.
1637 */
1638 pre = prefix_quote(data,size);
1639 pre += is_empty(data+pre,size-pre);
1640 nb = prefix_fencedcode(data+pre,size-pre);
1641 if( nb ){
1642 size_t i = 0;
1643 char delim = data[pre];
1644 for(end=pre+nb; end<size && i<nb; end++){
1645 if( data[end]==delim ) i++; else i = 0;
1646 }
1647 if( i>=nb ) endFence = end;
1648 }
1649
1650 beg = 0;
1651 while( beg<size ){
1652 for(end=beg+1; end<size && data[end-1]!='\n'; end++);
1653 pre = prefix_quote(data+beg, end-beg);
1654 if( pre ){
1655 beg += pre; /* skipping prefix */
1656 }else if( is_empty(data+beg, end-beg)
1657 && (end>=size
1658 || (end>endFence
1659 && prefix_quote(data+end, size-end)==0
1660 && !is_empty(data+end, size-end)))
1661 ){
1662 /* empty line followed by non-quote line */
1663 break;
1664 }
1665
+6
--- src/sync.c
+++ src/sync.c
@@ -303,10 +303,16 @@
303303
usage("URL");
304304
}
305305
user_select();
306306
url_enable_proxy("via proxy: ");
307307
*pConfigFlags |= configSync;
308
+ if( (*pSyncFlags & SYNC_ALLURL)==0 && zUrl==0 ){
309
+ const char *zAutosync = db_get_for_subsystem("autosync", "sync");
310
+ if( sqlite3_strglob("*all*", zAutosync)==0 ){
311
+ *pSyncFlags |= SYNC_ALLURL;
312
+ }
313
+ }
308314
}
309315
310316
311317
/*
312318
** COMMAND: pull
313319
--- src/sync.c
+++ src/sync.c
@@ -303,10 +303,16 @@
303 usage("URL");
304 }
305 user_select();
306 url_enable_proxy("via proxy: ");
307 *pConfigFlags |= configSync;
 
 
 
 
 
 
308 }
309
310
311 /*
312 ** COMMAND: pull
313
--- src/sync.c
+++ src/sync.c
@@ -303,10 +303,16 @@
303 usage("URL");
304 }
305 user_select();
306 url_enable_proxy("via proxy: ");
307 *pConfigFlags |= configSync;
308 if( (*pSyncFlags & SYNC_ALLURL)==0 && zUrl==0 ){
309 const char *zAutosync = db_get_for_subsystem("autosync", "sync");
310 if( sqlite3_strglob("*all*", zAutosync)==0 ){
311 *pSyncFlags |= SYNC_ALLURL;
312 }
313 }
314 }
315
316
317 /*
318 ** COMMAND: pull
319
--- www/tech_overview.wiki
+++ www/tech_overview.wiki
@@ -53,11 +53,11 @@
5353
checkout for a project and contains state information that is unique
5454
to that working checkout.
5555
5656
Fossil does not always use all three database files. The web interface,
5757
for example, typically only uses the repository database. And the
58
-[/help/all | fossil settings] command only opens the configuration database
58
+[/help/settings | fossil settings] command only opens the configuration database
5959
when the --global option is used. But other commands use all three
6060
databases at once. For example, the [/help/status | fossil status]
6161
command will first locate the checkout database, then use the checkout
6262
database to find the repository database, then open the configuration
6363
database. Whenever multiple databases are used at the same time,
@@ -159,11 +159,11 @@
159159
* %LOCALAPPDATA%/_fossil
160160
* %APPDATA%/_fossil
161161
* %USERPROFILES%/_fossil
162162
* %HOMEDRIVE%%HOMEPATH%/_fossil
163163
164
-The second case is the one that usually determines the name Note that the
164
+The second case is the one that usually determines the name. Note that the
165165
FOSSIL_HOME environment variable can always be set to determine the
166166
location of the configuration database. Note also that the configuration
167167
database file itself is called ".fossil" or "fossil.db" on unix but
168168
"_fossil" on windows.
169169
170170
--- www/tech_overview.wiki
+++ www/tech_overview.wiki
@@ -53,11 +53,11 @@
53 checkout for a project and contains state information that is unique
54 to that working checkout.
55
56 Fossil does not always use all three database files. The web interface,
57 for example, typically only uses the repository database. And the
58 [/help/all | fossil settings] command only opens the configuration database
59 when the --global option is used. But other commands use all three
60 databases at once. For example, the [/help/status | fossil status]
61 command will first locate the checkout database, then use the checkout
62 database to find the repository database, then open the configuration
63 database. Whenever multiple databases are used at the same time,
@@ -159,11 +159,11 @@
159 * %LOCALAPPDATA%/_fossil
160 * %APPDATA%/_fossil
161 * %USERPROFILES%/_fossil
162 * %HOMEDRIVE%%HOMEPATH%/_fossil
163
164 The second case is the one that usually determines the name Note that the
165 FOSSIL_HOME environment variable can always be set to determine the
166 location of the configuration database. Note also that the configuration
167 database file itself is called ".fossil" or "fossil.db" on unix but
168 "_fossil" on windows.
169
170
--- www/tech_overview.wiki
+++ www/tech_overview.wiki
@@ -53,11 +53,11 @@
53 checkout for a project and contains state information that is unique
54 to that working checkout.
55
56 Fossil does not always use all three database files. The web interface,
57 for example, typically only uses the repository database. And the
58 [/help/settings | fossil settings] command only opens the configuration database
59 when the --global option is used. But other commands use all three
60 databases at once. For example, the [/help/status | fossil status]
61 command will first locate the checkout database, then use the checkout
62 database to find the repository database, then open the configuration
63 database. Whenever multiple databases are used at the same time,
@@ -159,11 +159,11 @@
159 * %LOCALAPPDATA%/_fossil
160 * %APPDATA%/_fossil
161 * %USERPROFILES%/_fossil
162 * %HOMEDRIVE%%HOMEPATH%/_fossil
163
164 The second case is the one that usually determines the name. Note that the
165 FOSSIL_HOME environment variable can always be set to determine the
166 location of the configuration database. Note also that the configuration
167 database file itself is called ".fossil" or "fossil.db" on unix but
168 "_fossil" on windows.
169
170
--- www/tech_overview.wiki
+++ www/tech_overview.wiki
@@ -53,11 +53,11 @@
5353
checkout for a project and contains state information that is unique
5454
to that working checkout.
5555
5656
Fossil does not always use all three database files. The web interface,
5757
for example, typically only uses the repository database. And the
58
-[/help/all | fossil settings] command only opens the configuration database
58
+[/help/settings | fossil settings] command only opens the configuration database
5959
when the --global option is used. But other commands use all three
6060
databases at once. For example, the [/help/status | fossil status]
6161
command will first locate the checkout database, then use the checkout
6262
database to find the repository database, then open the configuration
6363
database. Whenever multiple databases are used at the same time,
@@ -159,11 +159,11 @@
159159
* %LOCALAPPDATA%/_fossil
160160
* %APPDATA%/_fossil
161161
* %USERPROFILES%/_fossil
162162
* %HOMEDRIVE%%HOMEPATH%/_fossil
163163
164
-The second case is the one that usually determines the name Note that the
164
+The second case is the one that usually determines the name. Note that the
165165
FOSSIL_HOME environment variable can always be set to determine the
166166
location of the configuration database. Note also that the configuration
167167
database file itself is called ".fossil" or "fossil.db" on unix but
168168
"_fossil" on windows.
169169
170170
--- www/tech_overview.wiki
+++ www/tech_overview.wiki
@@ -53,11 +53,11 @@
53 checkout for a project and contains state information that is unique
54 to that working checkout.
55
56 Fossil does not always use all three database files. The web interface,
57 for example, typically only uses the repository database. And the
58 [/help/all | fossil settings] command only opens the configuration database
59 when the --global option is used. But other commands use all three
60 databases at once. For example, the [/help/status | fossil status]
61 command will first locate the checkout database, then use the checkout
62 database to find the repository database, then open the configuration
63 database. Whenever multiple databases are used at the same time,
@@ -159,11 +159,11 @@
159 * %LOCALAPPDATA%/_fossil
160 * %APPDATA%/_fossil
161 * %USERPROFILES%/_fossil
162 * %HOMEDRIVE%%HOMEPATH%/_fossil
163
164 The second case is the one that usually determines the name Note that the
165 FOSSIL_HOME environment variable can always be set to determine the
166 location of the configuration database. Note also that the configuration
167 database file itself is called ".fossil" or "fossil.db" on unix but
168 "_fossil" on windows.
169
170
--- www/tech_overview.wiki
+++ www/tech_overview.wiki
@@ -53,11 +53,11 @@
53 checkout for a project and contains state information that is unique
54 to that working checkout.
55
56 Fossil does not always use all three database files. The web interface,
57 for example, typically only uses the repository database. And the
58 [/help/settings | fossil settings] command only opens the configuration database
59 when the --global option is used. But other commands use all three
60 databases at once. For example, the [/help/status | fossil status]
61 command will first locate the checkout database, then use the checkout
62 database to find the repository database, then open the configuration
63 database. Whenever multiple databases are used at the same time,
@@ -159,11 +159,11 @@
159 * %LOCALAPPDATA%/_fossil
160 * %APPDATA%/_fossil
161 * %USERPROFILES%/_fossil
162 * %HOMEDRIVE%%HOMEPATH%/_fossil
163
164 The second case is the one that usually determines the name. Note that the
165 FOSSIL_HOME environment variable can always be set to determine the
166 location of the configuration database. Note also that the configuration
167 database file itself is called ".fossil" or "fossil.db" on unix but
168 "_fossil" on windows.
169
170

Keyboard Shortcuts

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