Fossil SCM
merge trunk. Update references to OpenSSL 1.1.0b
Commit
66c4efe765c3566be1bbac142a4bca8e9ed71e44
Parent
85f8133ce72d295…
18 files changed
+1
-1
+1
-1
+1
-1
+1
-1
+89
-18
+56
-23
+2
-2
+2
-2
+1
-1
+69
+1
-1
+1
-1
+1
-1
+1
-1
+1
-1
+1
-1
+1
-1
+1
-1
~
skins/blitz/footer.txt
~
skins/blitz_no_logo/footer.txt
~
skins/eagle/footer.txt
~
skins/enhanced1/footer.txt
~
src/checkin.c
~
src/dispatch.c
~
src/makemake.tcl
~
src/makemake.tcl
~
test/amend.test
~
test/commit-warning.test
~
win/Makefile.mingw
~
win/Makefile.mingw
~
win/Makefile.mingw.mistachkin
~
win/Makefile.mingw.mistachkin
~
win/Makefile.msc
~
win/Makefile.msc
~
www/build.wiki
~
www/build.wiki
+1
-1
| --- skins/blitz/footer.txt | ||
| +++ skins/blitz/footer.txt | ||
| @@ -1,11 +1,11 @@ | ||
| 1 | 1 | </div> <!-- end div container --> |
| 2 | 2 | </div> <!-- end div middle max-full-width --> |
| 3 | 3 | <div class="footer"> |
| 4 | 4 | <div class="container"> |
| 5 | 5 | <div class="pull-right"> |
| 6 | - <a href="http://fossil-scm.org">Fossil $release_version $manifest_version $manifest_date</a> | |
| 6 | + <a href="https://www.fossil-scm.org/">Fossil $release_version $manifest_version $manifest_date</a> | |
| 7 | 7 | </div> |
| 8 | 8 | This page was generated in about <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s |
| 9 | 9 | </div> |
| 10 | 10 | </div> |
| 11 | 11 | </body> |
| 12 | 12 |
| --- skins/blitz/footer.txt | |
| +++ skins/blitz/footer.txt | |
| @@ -1,11 +1,11 @@ | |
| 1 | </div> <!-- end div container --> |
| 2 | </div> <!-- end div middle max-full-width --> |
| 3 | <div class="footer"> |
| 4 | <div class="container"> |
| 5 | <div class="pull-right"> |
| 6 | <a href="http://fossil-scm.org">Fossil $release_version $manifest_version $manifest_date</a> |
| 7 | </div> |
| 8 | This page was generated in about <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s |
| 9 | </div> |
| 10 | </div> |
| 11 | </body> |
| 12 |
| --- skins/blitz/footer.txt | |
| +++ skins/blitz/footer.txt | |
| @@ -1,11 +1,11 @@ | |
| 1 | </div> <!-- end div container --> |
| 2 | </div> <!-- end div middle max-full-width --> |
| 3 | <div class="footer"> |
| 4 | <div class="container"> |
| 5 | <div class="pull-right"> |
| 6 | <a href="https://www.fossil-scm.org/">Fossil $release_version $manifest_version $manifest_date</a> |
| 7 | </div> |
| 8 | This page was generated in about <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s |
| 9 | </div> |
| 10 | </div> |
| 11 | </body> |
| 12 |
+1
-1
| --- skins/blitz_no_logo/footer.txt | ||
| +++ skins/blitz_no_logo/footer.txt | ||
| @@ -1,11 +1,11 @@ | ||
| 1 | 1 | </div> <!-- end div container --> |
| 2 | 2 | </div> <!-- end div middle max-full-width --> |
| 3 | 3 | <div class="footer"> |
| 4 | 4 | <div class="container"> |
| 5 | 5 | <div class="pull-right"> |
| 6 | - <a href="http://fossil-scm.org">Fossil $release_version $manifest_version $manifest_date</a> | |
| 6 | + <a href="https://www.fossil-scm.org/">Fossil $release_version $manifest_version $manifest_date</a> | |
| 7 | 7 | </div> |
| 8 | 8 | This page was generated in about <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s |
| 9 | 9 | </div> |
| 10 | 10 | </div> |
| 11 | 11 | </body> |
| 12 | 12 |
| --- skins/blitz_no_logo/footer.txt | |
| +++ skins/blitz_no_logo/footer.txt | |
| @@ -1,11 +1,11 @@ | |
| 1 | </div> <!-- end div container --> |
| 2 | </div> <!-- end div middle max-full-width --> |
| 3 | <div class="footer"> |
| 4 | <div class="container"> |
| 5 | <div class="pull-right"> |
| 6 | <a href="http://fossil-scm.org">Fossil $release_version $manifest_version $manifest_date</a> |
| 7 | </div> |
| 8 | This page was generated in about <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s |
| 9 | </div> |
| 10 | </div> |
| 11 | </body> |
| 12 |
| --- skins/blitz_no_logo/footer.txt | |
| +++ skins/blitz_no_logo/footer.txt | |
| @@ -1,11 +1,11 @@ | |
| 1 | </div> <!-- end div container --> |
| 2 | </div> <!-- end div middle max-full-width --> |
| 3 | <div class="footer"> |
| 4 | <div class="container"> |
| 5 | <div class="pull-right"> |
| 6 | <a href="https://www.fossil-scm.org/">Fossil $release_version $manifest_version $manifest_date</a> |
| 7 | </div> |
| 8 | This page was generated in about <th1>puts [expr {([utime]+[stime]+1000)/1000*0.001}]</th1>s |
| 9 | </div> |
| 10 | </div> |
| 11 | </body> |
| 12 |
+1
-1
| --- skins/eagle/footer.txt | ||
| +++ skins/eagle/footer.txt | ||
| @@ -1,10 +1,10 @@ | ||
| 1 | 1 | <div class="footer"> |
| 2 | 2 | <th1> |
| 3 | 3 | proc getTclVersion {} { |
| 4 | 4 | if {[catch {tclEval info patchlevel} tclVersion] == 0} { |
| 5 | - return "<a href=\"http://www.tcl.tk/\">Tcl</a> version $tclVersion" | |
| 5 | + return "<a href=\"https://www.tcl.tk/\">Tcl</a> version $tclVersion" | |
| 6 | 6 | } |
| 7 | 7 | return "" |
| 8 | 8 | } |
| 9 | 9 | proc getVersion { version } { |
| 10 | 10 | set length [string length $version] |
| 11 | 11 |
| --- skins/eagle/footer.txt | |
| +++ skins/eagle/footer.txt | |
| @@ -1,10 +1,10 @@ | |
| 1 | <div class="footer"> |
| 2 | <th1> |
| 3 | proc getTclVersion {} { |
| 4 | if {[catch {tclEval info patchlevel} tclVersion] == 0} { |
| 5 | return "<a href=\"http://www.tcl.tk/\">Tcl</a> version $tclVersion" |
| 6 | } |
| 7 | return "" |
| 8 | } |
| 9 | proc getVersion { version } { |
| 10 | set length [string length $version] |
| 11 |
| --- skins/eagle/footer.txt | |
| +++ skins/eagle/footer.txt | |
| @@ -1,10 +1,10 @@ | |
| 1 | <div class="footer"> |
| 2 | <th1> |
| 3 | proc getTclVersion {} { |
| 4 | if {[catch {tclEval info patchlevel} tclVersion] == 0} { |
| 5 | return "<a href=\"https://www.tcl.tk/\">Tcl</a> version $tclVersion" |
| 6 | } |
| 7 | return "" |
| 8 | } |
| 9 | proc getVersion { version } { |
| 10 | set length [string length $version] |
| 11 |
+1
-1
| --- skins/enhanced1/footer.txt | ||
| +++ skins/enhanced1/footer.txt | ||
| @@ -1,10 +1,10 @@ | ||
| 1 | 1 | <div class="footer"> |
| 2 | 2 | <th1> |
| 3 | 3 | proc getTclVersion {} { |
| 4 | 4 | if {[catch {tclEval info patchlevel} tclVersion] == 0} { |
| 5 | - return "<a href=\"http://www.tcl.tk/\">Tcl</a> version $tclVersion" | |
| 5 | + return "<a href=\"https://www.tcl.tk/\">Tcl</a> version $tclVersion" | |
| 6 | 6 | } |
| 7 | 7 | return "" |
| 8 | 8 | } |
| 9 | 9 | proc getVersion { version } { |
| 10 | 10 | set length [string length $version] |
| 11 | 11 |
| --- skins/enhanced1/footer.txt | |
| +++ skins/enhanced1/footer.txt | |
| @@ -1,10 +1,10 @@ | |
| 1 | <div class="footer"> |
| 2 | <th1> |
| 3 | proc getTclVersion {} { |
| 4 | if {[catch {tclEval info patchlevel} tclVersion] == 0} { |
| 5 | return "<a href=\"http://www.tcl.tk/\">Tcl</a> version $tclVersion" |
| 6 | } |
| 7 | return "" |
| 8 | } |
| 9 | proc getVersion { version } { |
| 10 | set length [string length $version] |
| 11 |
| --- skins/enhanced1/footer.txt | |
| +++ skins/enhanced1/footer.txt | |
| @@ -1,10 +1,10 @@ | |
| 1 | <div class="footer"> |
| 2 | <th1> |
| 3 | proc getTclVersion {} { |
| 4 | if {[catch {tclEval info patchlevel} tclVersion] == 0} { |
| 5 | return "<a href=\"https://www.tcl.tk/\">Tcl</a> version $tclVersion" |
| 6 | } |
| 7 | return "" |
| 8 | } |
| 9 | proc getVersion { version } { |
| 10 | set length [string length $version] |
| 11 |
+89
-18
| --- src/checkin.c | ||
| +++ src/checkin.c | ||
| @@ -1466,16 +1466,17 @@ | ||
| 1466 | 1466 | ** Return 1 if the user pressed 'c'. In that case, the file will have |
| 1467 | 1467 | ** been converted to UTF-8 (if it was UTF-16) with NL line-endings, |
| 1468 | 1468 | ** and the original file will have been renamed to "<filename>-original". |
| 1469 | 1469 | */ |
| 1470 | 1470 | static int commit_warning( |
| 1471 | - Blob *p, /* The content of the file being committed. */ | |
| 1472 | - int crnlOk, /* Non-zero if CR/NL warnings should be disabled. */ | |
| 1473 | - int binOk, /* Non-zero if binary warnings should be disabled. */ | |
| 1474 | - int encodingOk, /* Non-zero if encoding warnings should be disabled. */ | |
| 1475 | - int noPrompt, /* Non-zero to disable prompts and assume 'No'. */ | |
| 1476 | - const char *zFilename /* The full name of the file being committed. */ | |
| 1471 | + Blob *pContent, /* The content of the file being committed. */ | |
| 1472 | + int crnlOk, /* Non-zero if CR/NL warnings should be disabled. */ | |
| 1473 | + int binOk, /* Non-zero if binary warnings should be disabled. */ | |
| 1474 | + int encodingOk, /* Non-zero if encoding warnings should be disabled. */ | |
| 1475 | + int noPrompt, /* 0 to always prompt, 1 for 'N', 2 for 'Y'. */ | |
| 1476 | + const char *zFilename, /* The full name of the file being committed. */ | |
| 1477 | + Blob *pReason /* Reason for warning, if any (non-fatal only). */ | |
| 1477 | 1478 | ){ |
| 1478 | 1479 | int bReverse; /* UTF-16 byte order is reversed? */ |
| 1479 | 1480 | int fUnicode; /* return value of could_be_utf16() */ |
| 1480 | 1481 | int fBinary; /* does the blob content appear to be binary? */ |
| 1481 | 1482 | int lookFlags; /* output flags from looks_like_utf8/utf16() */ |
| @@ -1486,24 +1487,24 @@ | ||
| 1486 | 1487 | char *zMsg; /* Warning message */ |
| 1487 | 1488 | Blob fname; /* Relative pathname of the file */ |
| 1488 | 1489 | static int allOk = 0; /* Set to true to disable this routine */ |
| 1489 | 1490 | |
| 1490 | 1491 | if( allOk ) return 0; |
| 1491 | - fUnicode = could_be_utf16(p, &bReverse); | |
| 1492 | + fUnicode = could_be_utf16(pContent, &bReverse); | |
| 1492 | 1493 | if( fUnicode ){ |
| 1493 | - lookFlags = looks_like_utf16(p, bReverse, LOOK_NUL); | |
| 1494 | + lookFlags = looks_like_utf16(pContent, bReverse, LOOK_NUL); | |
| 1494 | 1495 | }else{ |
| 1495 | - lookFlags = looks_like_utf8(p, LOOK_NUL); | |
| 1496 | - if( !(lookFlags & LOOK_BINARY) && invalid_utf8(p) ){ | |
| 1496 | + lookFlags = looks_like_utf8(pContent, LOOK_NUL); | |
| 1497 | + if( !(lookFlags & LOOK_BINARY) && invalid_utf8(pContent) ){ | |
| 1497 | 1498 | fHasInvalidUtf8 = 1; |
| 1498 | 1499 | } |
| 1499 | 1500 | } |
| 1500 | 1501 | fHasAnyCr = (lookFlags & LOOK_CR); |
| 1501 | 1502 | fBinary = (lookFlags & LOOK_BINARY); |
| 1502 | 1503 | fHasLoneCrOnly = ((lookFlags & LOOK_EOL) == LOOK_LONE_CR); |
| 1503 | 1504 | fHasCrLfOnly = ((lookFlags & LOOK_EOL) == LOOK_CRLF); |
| 1504 | - if( fUnicode || fHasAnyCr || fBinary || fHasInvalidUtf8){ | |
| 1505 | + if( fUnicode || fHasAnyCr || fBinary || fHasInvalidUtf8 ){ | |
| 1505 | 1506 | const char *zWarning; |
| 1506 | 1507 | const char *zDisable; |
| 1507 | 1508 | const char *zConvert = "c=convert/"; |
| 1508 | 1509 | Blob ans; |
| 1509 | 1510 | char cReply; |
| @@ -1563,52 +1564,122 @@ | ||
| 1563 | 1564 | zMsg = mprintf( |
| 1564 | 1565 | "%s contains %s. Use --no-warnings or the %s to" |
| 1565 | 1566 | " disable this warning.\n" |
| 1566 | 1567 | "Commit anyhow (a=all/%sy/N)? ", |
| 1567 | 1568 | blob_str(&fname), zWarning, zDisable, zConvert); |
| 1568 | - if( !noPrompt ){ | |
| 1569 | + if( noPrompt==0 ){ | |
| 1569 | 1570 | prompt_user(zMsg, &ans); |
| 1570 | 1571 | cReply = blob_str(&ans)[0]; |
| 1571 | 1572 | blob_reset(&ans); |
| 1573 | + }else if( noPrompt==2 ){ | |
| 1574 | + cReply = 'Y'; | |
| 1572 | 1575 | }else{ |
| 1573 | 1576 | cReply = 'N'; |
| 1574 | 1577 | } |
| 1575 | 1578 | fossil_free(zMsg); |
| 1576 | 1579 | if( cReply=='a' || cReply=='A' ){ |
| 1577 | 1580 | allOk = 1; |
| 1578 | 1581 | }else if( *zConvert && (cReply=='c' || cReply=='C') ){ |
| 1579 | 1582 | char *zOrig = file_newname(zFilename, "original", 1); |
| 1580 | 1583 | FILE *f; |
| 1581 | - blob_write_to_file(p, zOrig); | |
| 1584 | + blob_write_to_file(pContent, zOrig); | |
| 1582 | 1585 | fossil_free(zOrig); |
| 1583 | 1586 | f = fossil_fopen(zFilename, "wb"); |
| 1584 | 1587 | if( f==0 ){ |
| 1585 | 1588 | fossil_warning("cannot open %s for writing", zFilename); |
| 1586 | 1589 | }else{ |
| 1587 | 1590 | if( fUnicode ){ |
| 1588 | 1591 | int bomSize; |
| 1589 | 1592 | const unsigned char *bom = get_utf8_bom(&bomSize); |
| 1590 | 1593 | fwrite(bom, 1, bomSize, f); |
| 1591 | - blob_to_utf8_no_bom(p, 0); | |
| 1594 | + blob_to_utf8_no_bom(pContent, 0); | |
| 1592 | 1595 | }else if( fHasInvalidUtf8 ){ |
| 1593 | - blob_cp1252_to_utf8(p); | |
| 1596 | + blob_cp1252_to_utf8(pContent); | |
| 1594 | 1597 | } |
| 1595 | 1598 | if( fHasAnyCr ){ |
| 1596 | - blob_to_lf_only(p); | |
| 1599 | + blob_to_lf_only(pContent); | |
| 1597 | 1600 | } |
| 1598 | - fwrite(blob_buffer(p), 1, blob_size(p), f); | |
| 1601 | + fwrite(blob_buffer(pContent), 1, blob_size(pContent), f); | |
| 1599 | 1602 | fclose(f); |
| 1600 | 1603 | } |
| 1601 | 1604 | return 1; |
| 1602 | 1605 | }else if( cReply!='y' && cReply!='Y' ){ |
| 1603 | 1606 | fossil_fatal("Abandoning commit due to %s in %s", |
| 1604 | 1607 | zWarning, blob_str(&fname)); |
| 1608 | + }else if( noPrompt==2 ){ | |
| 1609 | + if( pReason ){ | |
| 1610 | + blob_append(pReason, zWarning, -1); | |
| 1611 | + } | |
| 1612 | + return 1; | |
| 1605 | 1613 | } |
| 1606 | 1614 | blob_reset(&fname); |
| 1607 | 1615 | } |
| 1608 | 1616 | return 0; |
| 1609 | 1617 | } |
| 1618 | + | |
| 1619 | +/* | |
| 1620 | +** COMMAND: test-commit-warning | |
| 1621 | +** | |
| 1622 | +** Usage: %fossil test-commit-warning ?OPTIONS? | |
| 1623 | +** | |
| 1624 | +** Check each file in the checkout, including unmodified ones, using all | |
| 1625 | +** the pre-commit checks. | |
| 1626 | +** | |
| 1627 | +** Options: | |
| 1628 | +** --no-settings Do not consider any glob settings. | |
| 1629 | +** -v|--verbose Show per-file results for all pre-commit checks. | |
| 1630 | +** | |
| 1631 | +** See also: commit, extras | |
| 1632 | +*/ | |
| 1633 | +void test_commit_warning(void){ | |
| 1634 | + int rc = 0; | |
| 1635 | + int noSettings; | |
| 1636 | + int verboseFlag; | |
| 1637 | + Stmt q; | |
| 1638 | + noSettings = find_option("no-settings",0,0)!=0; | |
| 1639 | + verboseFlag = find_option("verbose","v",0)!=0; | |
| 1640 | + verify_all_options(); | |
| 1641 | + db_must_be_within_tree(); | |
| 1642 | + db_prepare(&q, | |
| 1643 | + "SELECT %Q || pathname, pathname, %s, %s, %s FROM vfile" | |
| 1644 | + " WHERE NOT deleted", | |
| 1645 | + g.zLocalRoot, | |
| 1646 | + glob_expr("pathname", noSettings ? 0 : db_get("crnl-glob","")), | |
| 1647 | + glob_expr("pathname", noSettings ? 0 : db_get("binary-glob","")), | |
| 1648 | + glob_expr("pathname", noSettings ? 0 : db_get("encoding-glob","")) | |
| 1649 | + ); | |
| 1650 | + while( db_step(&q)==SQLITE_ROW ){ | |
| 1651 | + const char *zFullname; | |
| 1652 | + const char *zName; | |
| 1653 | + Blob content; | |
| 1654 | + Blob reason; | |
| 1655 | + int crnlOk, binOk, encodingOk; | |
| 1656 | + int fileRc; | |
| 1657 | + | |
| 1658 | + zFullname = db_column_text(&q, 0); | |
| 1659 | + zName = db_column_text(&q, 1); | |
| 1660 | + crnlOk = db_column_int(&q, 2); | |
| 1661 | + binOk = db_column_int(&q, 3); | |
| 1662 | + encodingOk = db_column_int(&q, 4); | |
| 1663 | + blob_zero(&content); | |
| 1664 | + if( file_wd_islink(zFullname) ){ | |
| 1665 | + blob_read_link(&content, zFullname); | |
| 1666 | + }else{ | |
| 1667 | + blob_read_from_file(&content, zFullname); | |
| 1668 | + } | |
| 1669 | + blob_zero(&reason); | |
| 1670 | + fileRc = commit_warning(&content, crnlOk, binOk, encodingOk, 2, | |
| 1671 | + zFullname, &reason); | |
| 1672 | + if( fileRc || verboseFlag ){ | |
| 1673 | + fossil_print("%d\t%s\t%s\n", fileRc, zName, blob_str(&reason)); | |
| 1674 | + } | |
| 1675 | + blob_reset(&reason); | |
| 1676 | + rc |= fileRc; | |
| 1677 | + } | |
| 1678 | + db_finalize(&q); | |
| 1679 | + fossil_print("%d\n", rc); | |
| 1680 | +} | |
| 1610 | 1681 | |
| 1611 | 1682 | /* |
| 1612 | 1683 | ** qsort() comparison routine for an array of pointers to strings. |
| 1613 | 1684 | */ |
| 1614 | 1685 | static int tagCmp(const void *a, const void *b){ |
| @@ -2056,11 +2127,11 @@ | ||
| 2056 | 2127 | } |
| 2057 | 2128 | /* Do not emit any warnings when they are disabled. */ |
| 2058 | 2129 | if( !noWarningFlag ){ |
| 2059 | 2130 | abortCommit |= commit_warning(&content, crnlOk, binOk, |
| 2060 | 2131 | encodingOk, noPrompt, |
| 2061 | - zFullname); | |
| 2132 | + zFullname, 0); | |
| 2062 | 2133 | } |
| 2063 | 2134 | if( contains_merge_marker(&content) ){ |
| 2064 | 2135 | Blob fname; /* Relative pathname of the file */ |
| 2065 | 2136 | |
| 2066 | 2137 | nConflict++; |
| 2067 | 2138 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -1466,16 +1466,17 @@ | |
| 1466 | ** Return 1 if the user pressed 'c'. In that case, the file will have |
| 1467 | ** been converted to UTF-8 (if it was UTF-16) with NL line-endings, |
| 1468 | ** and the original file will have been renamed to "<filename>-original". |
| 1469 | */ |
| 1470 | static int commit_warning( |
| 1471 | Blob *p, /* The content of the file being committed. */ |
| 1472 | int crnlOk, /* Non-zero if CR/NL warnings should be disabled. */ |
| 1473 | int binOk, /* Non-zero if binary warnings should be disabled. */ |
| 1474 | int encodingOk, /* Non-zero if encoding warnings should be disabled. */ |
| 1475 | int noPrompt, /* Non-zero to disable prompts and assume 'No'. */ |
| 1476 | const char *zFilename /* The full name of the file being committed. */ |
| 1477 | ){ |
| 1478 | int bReverse; /* UTF-16 byte order is reversed? */ |
| 1479 | int fUnicode; /* return value of could_be_utf16() */ |
| 1480 | int fBinary; /* does the blob content appear to be binary? */ |
| 1481 | int lookFlags; /* output flags from looks_like_utf8/utf16() */ |
| @@ -1486,24 +1487,24 @@ | |
| 1486 | char *zMsg; /* Warning message */ |
| 1487 | Blob fname; /* Relative pathname of the file */ |
| 1488 | static int allOk = 0; /* Set to true to disable this routine */ |
| 1489 | |
| 1490 | if( allOk ) return 0; |
| 1491 | fUnicode = could_be_utf16(p, &bReverse); |
| 1492 | if( fUnicode ){ |
| 1493 | lookFlags = looks_like_utf16(p, bReverse, LOOK_NUL); |
| 1494 | }else{ |
| 1495 | lookFlags = looks_like_utf8(p, LOOK_NUL); |
| 1496 | if( !(lookFlags & LOOK_BINARY) && invalid_utf8(p) ){ |
| 1497 | fHasInvalidUtf8 = 1; |
| 1498 | } |
| 1499 | } |
| 1500 | fHasAnyCr = (lookFlags & LOOK_CR); |
| 1501 | fBinary = (lookFlags & LOOK_BINARY); |
| 1502 | fHasLoneCrOnly = ((lookFlags & LOOK_EOL) == LOOK_LONE_CR); |
| 1503 | fHasCrLfOnly = ((lookFlags & LOOK_EOL) == LOOK_CRLF); |
| 1504 | if( fUnicode || fHasAnyCr || fBinary || fHasInvalidUtf8){ |
| 1505 | const char *zWarning; |
| 1506 | const char *zDisable; |
| 1507 | const char *zConvert = "c=convert/"; |
| 1508 | Blob ans; |
| 1509 | char cReply; |
| @@ -1563,52 +1564,122 @@ | |
| 1563 | zMsg = mprintf( |
| 1564 | "%s contains %s. Use --no-warnings or the %s to" |
| 1565 | " disable this warning.\n" |
| 1566 | "Commit anyhow (a=all/%sy/N)? ", |
| 1567 | blob_str(&fname), zWarning, zDisable, zConvert); |
| 1568 | if( !noPrompt ){ |
| 1569 | prompt_user(zMsg, &ans); |
| 1570 | cReply = blob_str(&ans)[0]; |
| 1571 | blob_reset(&ans); |
| 1572 | }else{ |
| 1573 | cReply = 'N'; |
| 1574 | } |
| 1575 | fossil_free(zMsg); |
| 1576 | if( cReply=='a' || cReply=='A' ){ |
| 1577 | allOk = 1; |
| 1578 | }else if( *zConvert && (cReply=='c' || cReply=='C') ){ |
| 1579 | char *zOrig = file_newname(zFilename, "original", 1); |
| 1580 | FILE *f; |
| 1581 | blob_write_to_file(p, zOrig); |
| 1582 | fossil_free(zOrig); |
| 1583 | f = fossil_fopen(zFilename, "wb"); |
| 1584 | if( f==0 ){ |
| 1585 | fossil_warning("cannot open %s for writing", zFilename); |
| 1586 | }else{ |
| 1587 | if( fUnicode ){ |
| 1588 | int bomSize; |
| 1589 | const unsigned char *bom = get_utf8_bom(&bomSize); |
| 1590 | fwrite(bom, 1, bomSize, f); |
| 1591 | blob_to_utf8_no_bom(p, 0); |
| 1592 | }else if( fHasInvalidUtf8 ){ |
| 1593 | blob_cp1252_to_utf8(p); |
| 1594 | } |
| 1595 | if( fHasAnyCr ){ |
| 1596 | blob_to_lf_only(p); |
| 1597 | } |
| 1598 | fwrite(blob_buffer(p), 1, blob_size(p), f); |
| 1599 | fclose(f); |
| 1600 | } |
| 1601 | return 1; |
| 1602 | }else if( cReply!='y' && cReply!='Y' ){ |
| 1603 | fossil_fatal("Abandoning commit due to %s in %s", |
| 1604 | zWarning, blob_str(&fname)); |
| 1605 | } |
| 1606 | blob_reset(&fname); |
| 1607 | } |
| 1608 | return 0; |
| 1609 | } |
| 1610 | |
| 1611 | /* |
| 1612 | ** qsort() comparison routine for an array of pointers to strings. |
| 1613 | */ |
| 1614 | static int tagCmp(const void *a, const void *b){ |
| @@ -2056,11 +2127,11 @@ | |
| 2056 | } |
| 2057 | /* Do not emit any warnings when they are disabled. */ |
| 2058 | if( !noWarningFlag ){ |
| 2059 | abortCommit |= commit_warning(&content, crnlOk, binOk, |
| 2060 | encodingOk, noPrompt, |
| 2061 | zFullname); |
| 2062 | } |
| 2063 | if( contains_merge_marker(&content) ){ |
| 2064 | Blob fname; /* Relative pathname of the file */ |
| 2065 | |
| 2066 | nConflict++; |
| 2067 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -1466,16 +1466,17 @@ | |
| 1466 | ** Return 1 if the user pressed 'c'. In that case, the file will have |
| 1467 | ** been converted to UTF-8 (if it was UTF-16) with NL line-endings, |
| 1468 | ** and the original file will have been renamed to "<filename>-original". |
| 1469 | */ |
| 1470 | static int commit_warning( |
| 1471 | Blob *pContent, /* The content of the file being committed. */ |
| 1472 | int crnlOk, /* Non-zero if CR/NL warnings should be disabled. */ |
| 1473 | int binOk, /* Non-zero if binary warnings should be disabled. */ |
| 1474 | int encodingOk, /* Non-zero if encoding warnings should be disabled. */ |
| 1475 | int noPrompt, /* 0 to always prompt, 1 for 'N', 2 for 'Y'. */ |
| 1476 | const char *zFilename, /* The full name of the file being committed. */ |
| 1477 | Blob *pReason /* Reason for warning, if any (non-fatal only). */ |
| 1478 | ){ |
| 1479 | int bReverse; /* UTF-16 byte order is reversed? */ |
| 1480 | int fUnicode; /* return value of could_be_utf16() */ |
| 1481 | int fBinary; /* does the blob content appear to be binary? */ |
| 1482 | int lookFlags; /* output flags from looks_like_utf8/utf16() */ |
| @@ -1486,24 +1487,24 @@ | |
| 1487 | char *zMsg; /* Warning message */ |
| 1488 | Blob fname; /* Relative pathname of the file */ |
| 1489 | static int allOk = 0; /* Set to true to disable this routine */ |
| 1490 | |
| 1491 | if( allOk ) return 0; |
| 1492 | fUnicode = could_be_utf16(pContent, &bReverse); |
| 1493 | if( fUnicode ){ |
| 1494 | lookFlags = looks_like_utf16(pContent, bReverse, LOOK_NUL); |
| 1495 | }else{ |
| 1496 | lookFlags = looks_like_utf8(pContent, LOOK_NUL); |
| 1497 | if( !(lookFlags & LOOK_BINARY) && invalid_utf8(pContent) ){ |
| 1498 | fHasInvalidUtf8 = 1; |
| 1499 | } |
| 1500 | } |
| 1501 | fHasAnyCr = (lookFlags & LOOK_CR); |
| 1502 | fBinary = (lookFlags & LOOK_BINARY); |
| 1503 | fHasLoneCrOnly = ((lookFlags & LOOK_EOL) == LOOK_LONE_CR); |
| 1504 | fHasCrLfOnly = ((lookFlags & LOOK_EOL) == LOOK_CRLF); |
| 1505 | if( fUnicode || fHasAnyCr || fBinary || fHasInvalidUtf8 ){ |
| 1506 | const char *zWarning; |
| 1507 | const char *zDisable; |
| 1508 | const char *zConvert = "c=convert/"; |
| 1509 | Blob ans; |
| 1510 | char cReply; |
| @@ -1563,52 +1564,122 @@ | |
| 1564 | zMsg = mprintf( |
| 1565 | "%s contains %s. Use --no-warnings or the %s to" |
| 1566 | " disable this warning.\n" |
| 1567 | "Commit anyhow (a=all/%sy/N)? ", |
| 1568 | blob_str(&fname), zWarning, zDisable, zConvert); |
| 1569 | if( noPrompt==0 ){ |
| 1570 | prompt_user(zMsg, &ans); |
| 1571 | cReply = blob_str(&ans)[0]; |
| 1572 | blob_reset(&ans); |
| 1573 | }else if( noPrompt==2 ){ |
| 1574 | cReply = 'Y'; |
| 1575 | }else{ |
| 1576 | cReply = 'N'; |
| 1577 | } |
| 1578 | fossil_free(zMsg); |
| 1579 | if( cReply=='a' || cReply=='A' ){ |
| 1580 | allOk = 1; |
| 1581 | }else if( *zConvert && (cReply=='c' || cReply=='C') ){ |
| 1582 | char *zOrig = file_newname(zFilename, "original", 1); |
| 1583 | FILE *f; |
| 1584 | blob_write_to_file(pContent, zOrig); |
| 1585 | fossil_free(zOrig); |
| 1586 | f = fossil_fopen(zFilename, "wb"); |
| 1587 | if( f==0 ){ |
| 1588 | fossil_warning("cannot open %s for writing", zFilename); |
| 1589 | }else{ |
| 1590 | if( fUnicode ){ |
| 1591 | int bomSize; |
| 1592 | const unsigned char *bom = get_utf8_bom(&bomSize); |
| 1593 | fwrite(bom, 1, bomSize, f); |
| 1594 | blob_to_utf8_no_bom(pContent, 0); |
| 1595 | }else if( fHasInvalidUtf8 ){ |
| 1596 | blob_cp1252_to_utf8(pContent); |
| 1597 | } |
| 1598 | if( fHasAnyCr ){ |
| 1599 | blob_to_lf_only(pContent); |
| 1600 | } |
| 1601 | fwrite(blob_buffer(pContent), 1, blob_size(pContent), f); |
| 1602 | fclose(f); |
| 1603 | } |
| 1604 | return 1; |
| 1605 | }else if( cReply!='y' && cReply!='Y' ){ |
| 1606 | fossil_fatal("Abandoning commit due to %s in %s", |
| 1607 | zWarning, blob_str(&fname)); |
| 1608 | }else if( noPrompt==2 ){ |
| 1609 | if( pReason ){ |
| 1610 | blob_append(pReason, zWarning, -1); |
| 1611 | } |
| 1612 | return 1; |
| 1613 | } |
| 1614 | blob_reset(&fname); |
| 1615 | } |
| 1616 | return 0; |
| 1617 | } |
| 1618 | |
| 1619 | /* |
| 1620 | ** COMMAND: test-commit-warning |
| 1621 | ** |
| 1622 | ** Usage: %fossil test-commit-warning ?OPTIONS? |
| 1623 | ** |
| 1624 | ** Check each file in the checkout, including unmodified ones, using all |
| 1625 | ** the pre-commit checks. |
| 1626 | ** |
| 1627 | ** Options: |
| 1628 | ** --no-settings Do not consider any glob settings. |
| 1629 | ** -v|--verbose Show per-file results for all pre-commit checks. |
| 1630 | ** |
| 1631 | ** See also: commit, extras |
| 1632 | */ |
| 1633 | void test_commit_warning(void){ |
| 1634 | int rc = 0; |
| 1635 | int noSettings; |
| 1636 | int verboseFlag; |
| 1637 | Stmt q; |
| 1638 | noSettings = find_option("no-settings",0,0)!=0; |
| 1639 | verboseFlag = find_option("verbose","v",0)!=0; |
| 1640 | verify_all_options(); |
| 1641 | db_must_be_within_tree(); |
| 1642 | db_prepare(&q, |
| 1643 | "SELECT %Q || pathname, pathname, %s, %s, %s FROM vfile" |
| 1644 | " WHERE NOT deleted", |
| 1645 | g.zLocalRoot, |
| 1646 | glob_expr("pathname", noSettings ? 0 : db_get("crnl-glob","")), |
| 1647 | glob_expr("pathname", noSettings ? 0 : db_get("binary-glob","")), |
| 1648 | glob_expr("pathname", noSettings ? 0 : db_get("encoding-glob","")) |
| 1649 | ); |
| 1650 | while( db_step(&q)==SQLITE_ROW ){ |
| 1651 | const char *zFullname; |
| 1652 | const char *zName; |
| 1653 | Blob content; |
| 1654 | Blob reason; |
| 1655 | int crnlOk, binOk, encodingOk; |
| 1656 | int fileRc; |
| 1657 | |
| 1658 | zFullname = db_column_text(&q, 0); |
| 1659 | zName = db_column_text(&q, 1); |
| 1660 | crnlOk = db_column_int(&q, 2); |
| 1661 | binOk = db_column_int(&q, 3); |
| 1662 | encodingOk = db_column_int(&q, 4); |
| 1663 | blob_zero(&content); |
| 1664 | if( file_wd_islink(zFullname) ){ |
| 1665 | blob_read_link(&content, zFullname); |
| 1666 | }else{ |
| 1667 | blob_read_from_file(&content, zFullname); |
| 1668 | } |
| 1669 | blob_zero(&reason); |
| 1670 | fileRc = commit_warning(&content, crnlOk, binOk, encodingOk, 2, |
| 1671 | zFullname, &reason); |
| 1672 | if( fileRc || verboseFlag ){ |
| 1673 | fossil_print("%d\t%s\t%s\n", fileRc, zName, blob_str(&reason)); |
| 1674 | } |
| 1675 | blob_reset(&reason); |
| 1676 | rc |= fileRc; |
| 1677 | } |
| 1678 | db_finalize(&q); |
| 1679 | fossil_print("%d\n", rc); |
| 1680 | } |
| 1681 | |
| 1682 | /* |
| 1683 | ** qsort() comparison routine for an array of pointers to strings. |
| 1684 | */ |
| 1685 | static int tagCmp(const void *a, const void *b){ |
| @@ -2056,11 +2127,11 @@ | |
| 2127 | } |
| 2128 | /* Do not emit any warnings when they are disabled. */ |
| 2129 | if( !noWarningFlag ){ |
| 2130 | abortCommit |= commit_warning(&content, crnlOk, binOk, |
| 2131 | encodingOk, noPrompt, |
| 2132 | zFullname, 0); |
| 2133 | } |
| 2134 | if( contains_merge_marker(&content) ){ |
| 2135 | Blob fname; /* Relative pathname of the file */ |
| 2136 | |
| 2137 | nConflict++; |
| 2138 |
+56
-23
| --- src/dispatch.c | ||
| +++ src/dispatch.c | ||
| @@ -59,11 +59,11 @@ | ||
| 59 | 59 | ** of CmdOrPage objects that defines all available commands and webpages |
| 60 | 60 | ** known to Fossil. |
| 61 | 61 | ** |
| 62 | 62 | ** The entries in aCommand[] are in sorted order by name. Since webpage names |
| 63 | 63 | ** always begin with "/", all webpage names occur first. The page_index.h file |
| 64 | -** also sets the FOSSIL_FIRST_CMD macro to be the *approximate* index | |
| 64 | +** also sets the FOSSIL_FIRST_CMD macro to be the *approximate* index | |
| 65 | 65 | ** in aCommand[] of the first command entry. FOSSIL_FIRST_CMD might be |
| 66 | 66 | ** slightly too low, and so the range FOSSIL_FIRST_CMD...MX_COMMAND might |
| 67 | 67 | ** contain a few webpage entries at the beginning. |
| 68 | 68 | ** |
| 69 | 69 | ** The page_index.h file is generated by the mkindex program which scans all |
| @@ -134,10 +134,35 @@ | ||
| 134 | 134 | blob_appendf(pList, " %s", aCommand[i].zName); |
| 135 | 135 | } |
| 136 | 136 | } |
| 137 | 137 | } |
| 138 | 138 | |
| 139 | +/* | |
| 140 | +** Attempt to reformat plain-text help into HTML for display on a webpage. | |
| 141 | +** | |
| 142 | +** The HTML output is appended to Blob pHtml, which should already be | |
| 143 | +** initialized. | |
| 144 | +*/ | |
| 145 | +static void help_to_html(const char *zHelp, Blob *pHtml){ | |
| 146 | + char *s; | |
| 147 | + char *d; | |
| 148 | + char *z; | |
| 149 | + | |
| 150 | + /* Transform "%fossil" into just "fossil" */ | |
| 151 | + z = s = d = mprintf("%s", zHelp); | |
| 152 | + while( *s ){ | |
| 153 | + if( *s=='%' && strncmp(s, "%fossil", 7)==0 ){ | |
| 154 | + s++; | |
| 155 | + }else{ | |
| 156 | + *d++ = *s++; | |
| 157 | + } | |
| 158 | + } | |
| 159 | + *d = 0; | |
| 160 | + | |
| 161 | + blob_appendf(pHtml, "<pre>\n%h\n</pre>\n", z); | |
| 162 | + fossil_free(z); | |
| 163 | +} | |
| 139 | 164 | |
| 140 | 165 | /* |
| 141 | 166 | ** COMMAND: test-all-help |
| 142 | 167 | ** |
| 143 | 168 | ** Usage: %fossil test-all-help ?OPTIONS? |
| @@ -148,14 +173,16 @@ | ||
| 148 | 173 | ** |
| 149 | 174 | ** Options: |
| 150 | 175 | ** -e|--everything Show all commands and pages. |
| 151 | 176 | ** -t|--test Include test- commands |
| 152 | 177 | ** -w|--www Show WWW pages. |
| 178 | +** -h|--html Transform output to HTML. | |
| 153 | 179 | */ |
| 154 | 180 | void test_all_help_cmd(void){ |
| 155 | 181 | int i; |
| 156 | 182 | int mask = CMDFLAG_1ST_TIER | CMDFLAG_2ND_TIER; |
| 183 | + int useHtml = find_option("html","h",0)!=0; | |
| 157 | 184 | |
| 158 | 185 | if( find_option("www","w",0) ){ |
| 159 | 186 | mask = CMDFLAG_WEBPAGE; |
| 160 | 187 | } |
| 161 | 188 | if( find_option("everything","e",0) ){ |
| @@ -162,22 +189,40 @@ | ||
| 162 | 189 | mask = CMDFLAG_1ST_TIER | CMDFLAG_2ND_TIER | CMDFLAG_WEBPAGE; |
| 163 | 190 | } |
| 164 | 191 | if( find_option("test","t",0) ){ |
| 165 | 192 | mask |= CMDFLAG_TEST; |
| 166 | 193 | } |
| 194 | + if( useHtml ) fossil_print("<!--\n"); | |
| 167 | 195 | fossil_print("Help text for:\n"); |
| 168 | 196 | if( mask & CMDFLAG_1ST_TIER ) fossil_print(" * Commands\n"); |
| 169 | 197 | if( mask & CMDFLAG_2ND_TIER ) fossil_print(" * Auxiliary commands\n"); |
| 170 | 198 | if( mask & CMDFLAG_TEST ) fossil_print(" * Test commands\n"); |
| 171 | 199 | if( mask & CMDFLAG_WEBPAGE ) fossil_print(" * Web pages\n"); |
| 172 | - fossil_print("---\n"); | |
| 200 | + if( useHtml ){ | |
| 201 | + fossil_print("-->\n"); | |
| 202 | + fossil_print("<!-- start_all_help -->\n"); | |
| 203 | + }else{ | |
| 204 | + fossil_print("---\n"); | |
| 205 | + } | |
| 173 | 206 | for(i=0; i<MX_COMMAND; i++){ |
| 174 | 207 | if( (aCommand[i].eCmdFlags & mask)==0 ) continue; |
| 175 | 208 | fossil_print("# %s\n", aCommand[i].zName); |
| 176 | - fossil_print("%s\n\n", aCommand[i].zHelp); | |
| 209 | + if( useHtml ){ | |
| 210 | + Blob html; | |
| 211 | + blob_zero(&html); | |
| 212 | + help_to_html(aCommand[i].zHelp, &html); | |
| 213 | + fossil_print("%s\n\n", blob_str(&html)); | |
| 214 | + blob_reset(&html); | |
| 215 | + }else{ | |
| 216 | + fossil_print("%s\n\n", aCommand[i].zHelp); | |
| 217 | + } | |
| 177 | 218 | } |
| 178 | - fossil_print("---\n"); | |
| 219 | + if( useHtml ){ | |
| 220 | + fossil_print("<!-- end_all_help -->\n"); | |
| 221 | + }else{ | |
| 222 | + fossil_print("---\n"); | |
| 223 | + } | |
| 179 | 224 | version_cmd(); |
| 180 | 225 | } |
| 181 | 226 | |
| 182 | 227 | /* |
| 183 | 228 | ** WEBPAGE: help |
| @@ -191,11 +236,10 @@ | ||
| 191 | 236 | |
| 192 | 237 | if( zCmd==0 ) zCmd = P("name"); |
| 193 | 238 | style_header("Command-line Help"); |
| 194 | 239 | if( zCmd ){ |
| 195 | 240 | int rc; |
| 196 | - char *z, *s, *d; | |
| 197 | 241 | const CmdOrPage *pCmd = 0; |
| 198 | 242 | |
| 199 | 243 | style_submenu_element("Command-List", "Command-List", "%s/help", g.zTop); |
| 200 | 244 | if( *zCmd=='/' ){ |
| 201 | 245 | /* Some of the webpages require query parameters in order to work. |
| @@ -208,27 +252,16 @@ | ||
| 208 | 252 | if( rc==1 ){ |
| 209 | 253 | @ unknown command: %s(zCmd) |
| 210 | 254 | }else if( rc==2 ){ |
| 211 | 255 | @ ambiguous command prefix: %s(zCmd) |
| 212 | 256 | }else{ |
| 213 | - z = (char*)pCmd->zHelp; | |
| 214 | - if( z[0]==0 ){ | |
| 257 | + if( pCmd->zHelp[0]==0 ){ | |
| 215 | 258 | @ no help available for the %s(pCmd->zName) command |
| 216 | 259 | }else{ |
| 217 | - z=s=d=mprintf("%s",z); | |
| 218 | - while( *s ){ | |
| 219 | - if( *s=='%' && strncmp(s, "%fossil", 7)==0 ){ | |
| 220 | - s++; | |
| 221 | - }else{ | |
| 222 | - *d++ = *s++; | |
| 223 | - } | |
| 224 | - } | |
| 225 | - *d = 0; | |
| 226 | - @ <blockquote><pre> | |
| 227 | - @ %h(z) | |
| 228 | - @ </pre></blockquote> | |
| 229 | - fossil_free(z); | |
| 260 | + @ <blockquote> | |
| 261 | + help_to_html(pCmd->zHelp, cgi_output_blob()); | |
| 262 | + @ </blockquote> | |
| 230 | 263 | } |
| 231 | 264 | } |
| 232 | 265 | }else{ |
| 233 | 266 | int i, j, n; |
| 234 | 267 | |
| @@ -331,13 +364,13 @@ | ||
| 331 | 364 | int i; |
| 332 | 365 | style_header("Testpage: All Help Text"); |
| 333 | 366 | for(i=0; i<MX_COMMAND; i++){ |
| 334 | 367 | if( memcmp(aCommand[i].zName, "test", 4)==0 ) continue; |
| 335 | 368 | @ <h2>%s(aCommand[i].zName):</h2> |
| 336 | - @ <blockquote><pre> | |
| 337 | - @ %h(aCommand[i].zHelp) | |
| 338 | - @ </pre></blockquote> | |
| 369 | + @ <blockquote> | |
| 370 | + help_to_html(aCommand[i].zHelp, cgi_output_blob()); | |
| 371 | + @ </blockquote> | |
| 339 | 372 | } |
| 340 | 373 | style_footer(); |
| 341 | 374 | } |
| 342 | 375 | |
| 343 | 376 | static void multi_column_list(const char **azWord, int nWord){ |
| 344 | 377 |
| --- src/dispatch.c | |
| +++ src/dispatch.c | |
| @@ -59,11 +59,11 @@ | |
| 59 | ** of CmdOrPage objects that defines all available commands and webpages |
| 60 | ** known to Fossil. |
| 61 | ** |
| 62 | ** The entries in aCommand[] are in sorted order by name. Since webpage names |
| 63 | ** always begin with "/", all webpage names occur first. The page_index.h file |
| 64 | ** also sets the FOSSIL_FIRST_CMD macro to be the *approximate* index |
| 65 | ** in aCommand[] of the first command entry. FOSSIL_FIRST_CMD might be |
| 66 | ** slightly too low, and so the range FOSSIL_FIRST_CMD...MX_COMMAND might |
| 67 | ** contain a few webpage entries at the beginning. |
| 68 | ** |
| 69 | ** The page_index.h file is generated by the mkindex program which scans all |
| @@ -134,10 +134,35 @@ | |
| 134 | blob_appendf(pList, " %s", aCommand[i].zName); |
| 135 | } |
| 136 | } |
| 137 | } |
| 138 | |
| 139 | |
| 140 | /* |
| 141 | ** COMMAND: test-all-help |
| 142 | ** |
| 143 | ** Usage: %fossil test-all-help ?OPTIONS? |
| @@ -148,14 +173,16 @@ | |
| 148 | ** |
| 149 | ** Options: |
| 150 | ** -e|--everything Show all commands and pages. |
| 151 | ** -t|--test Include test- commands |
| 152 | ** -w|--www Show WWW pages. |
| 153 | */ |
| 154 | void test_all_help_cmd(void){ |
| 155 | int i; |
| 156 | int mask = CMDFLAG_1ST_TIER | CMDFLAG_2ND_TIER; |
| 157 | |
| 158 | if( find_option("www","w",0) ){ |
| 159 | mask = CMDFLAG_WEBPAGE; |
| 160 | } |
| 161 | if( find_option("everything","e",0) ){ |
| @@ -162,22 +189,40 @@ | |
| 162 | mask = CMDFLAG_1ST_TIER | CMDFLAG_2ND_TIER | CMDFLAG_WEBPAGE; |
| 163 | } |
| 164 | if( find_option("test","t",0) ){ |
| 165 | mask |= CMDFLAG_TEST; |
| 166 | } |
| 167 | fossil_print("Help text for:\n"); |
| 168 | if( mask & CMDFLAG_1ST_TIER ) fossil_print(" * Commands\n"); |
| 169 | if( mask & CMDFLAG_2ND_TIER ) fossil_print(" * Auxiliary commands\n"); |
| 170 | if( mask & CMDFLAG_TEST ) fossil_print(" * Test commands\n"); |
| 171 | if( mask & CMDFLAG_WEBPAGE ) fossil_print(" * Web pages\n"); |
| 172 | fossil_print("---\n"); |
| 173 | for(i=0; i<MX_COMMAND; i++){ |
| 174 | if( (aCommand[i].eCmdFlags & mask)==0 ) continue; |
| 175 | fossil_print("# %s\n", aCommand[i].zName); |
| 176 | fossil_print("%s\n\n", aCommand[i].zHelp); |
| 177 | } |
| 178 | fossil_print("---\n"); |
| 179 | version_cmd(); |
| 180 | } |
| 181 | |
| 182 | /* |
| 183 | ** WEBPAGE: help |
| @@ -191,11 +236,10 @@ | |
| 191 | |
| 192 | if( zCmd==0 ) zCmd = P("name"); |
| 193 | style_header("Command-line Help"); |
| 194 | if( zCmd ){ |
| 195 | int rc; |
| 196 | char *z, *s, *d; |
| 197 | const CmdOrPage *pCmd = 0; |
| 198 | |
| 199 | style_submenu_element("Command-List", "Command-List", "%s/help", g.zTop); |
| 200 | if( *zCmd=='/' ){ |
| 201 | /* Some of the webpages require query parameters in order to work. |
| @@ -208,27 +252,16 @@ | |
| 208 | if( rc==1 ){ |
| 209 | @ unknown command: %s(zCmd) |
| 210 | }else if( rc==2 ){ |
| 211 | @ ambiguous command prefix: %s(zCmd) |
| 212 | }else{ |
| 213 | z = (char*)pCmd->zHelp; |
| 214 | if( z[0]==0 ){ |
| 215 | @ no help available for the %s(pCmd->zName) command |
| 216 | }else{ |
| 217 | z=s=d=mprintf("%s",z); |
| 218 | while( *s ){ |
| 219 | if( *s=='%' && strncmp(s, "%fossil", 7)==0 ){ |
| 220 | s++; |
| 221 | }else{ |
| 222 | *d++ = *s++; |
| 223 | } |
| 224 | } |
| 225 | *d = 0; |
| 226 | @ <blockquote><pre> |
| 227 | @ %h(z) |
| 228 | @ </pre></blockquote> |
| 229 | fossil_free(z); |
| 230 | } |
| 231 | } |
| 232 | }else{ |
| 233 | int i, j, n; |
| 234 | |
| @@ -331,13 +364,13 @@ | |
| 331 | int i; |
| 332 | style_header("Testpage: All Help Text"); |
| 333 | for(i=0; i<MX_COMMAND; i++){ |
| 334 | if( memcmp(aCommand[i].zName, "test", 4)==0 ) continue; |
| 335 | @ <h2>%s(aCommand[i].zName):</h2> |
| 336 | @ <blockquote><pre> |
| 337 | @ %h(aCommand[i].zHelp) |
| 338 | @ </pre></blockquote> |
| 339 | } |
| 340 | style_footer(); |
| 341 | } |
| 342 | |
| 343 | static void multi_column_list(const char **azWord, int nWord){ |
| 344 |
| --- src/dispatch.c | |
| +++ src/dispatch.c | |
| @@ -59,11 +59,11 @@ | |
| 59 | ** of CmdOrPage objects that defines all available commands and webpages |
| 60 | ** known to Fossil. |
| 61 | ** |
| 62 | ** The entries in aCommand[] are in sorted order by name. Since webpage names |
| 63 | ** always begin with "/", all webpage names occur first. The page_index.h file |
| 64 | ** also sets the FOSSIL_FIRST_CMD macro to be the *approximate* index |
| 65 | ** in aCommand[] of the first command entry. FOSSIL_FIRST_CMD might be |
| 66 | ** slightly too low, and so the range FOSSIL_FIRST_CMD...MX_COMMAND might |
| 67 | ** contain a few webpage entries at the beginning. |
| 68 | ** |
| 69 | ** The page_index.h file is generated by the mkindex program which scans all |
| @@ -134,10 +134,35 @@ | |
| 134 | blob_appendf(pList, " %s", aCommand[i].zName); |
| 135 | } |
| 136 | } |
| 137 | } |
| 138 | |
| 139 | /* |
| 140 | ** Attempt to reformat plain-text help into HTML for display on a webpage. |
| 141 | ** |
| 142 | ** The HTML output is appended to Blob pHtml, which should already be |
| 143 | ** initialized. |
| 144 | */ |
| 145 | static void help_to_html(const char *zHelp, Blob *pHtml){ |
| 146 | char *s; |
| 147 | char *d; |
| 148 | char *z; |
| 149 | |
| 150 | /* Transform "%fossil" into just "fossil" */ |
| 151 | z = s = d = mprintf("%s", zHelp); |
| 152 | while( *s ){ |
| 153 | if( *s=='%' && strncmp(s, "%fossil", 7)==0 ){ |
| 154 | s++; |
| 155 | }else{ |
| 156 | *d++ = *s++; |
| 157 | } |
| 158 | } |
| 159 | *d = 0; |
| 160 | |
| 161 | blob_appendf(pHtml, "<pre>\n%h\n</pre>\n", z); |
| 162 | fossil_free(z); |
| 163 | } |
| 164 | |
| 165 | /* |
| 166 | ** COMMAND: test-all-help |
| 167 | ** |
| 168 | ** Usage: %fossil test-all-help ?OPTIONS? |
| @@ -148,14 +173,16 @@ | |
| 173 | ** |
| 174 | ** Options: |
| 175 | ** -e|--everything Show all commands and pages. |
| 176 | ** -t|--test Include test- commands |
| 177 | ** -w|--www Show WWW pages. |
| 178 | ** -h|--html Transform output to HTML. |
| 179 | */ |
| 180 | void test_all_help_cmd(void){ |
| 181 | int i; |
| 182 | int mask = CMDFLAG_1ST_TIER | CMDFLAG_2ND_TIER; |
| 183 | int useHtml = find_option("html","h",0)!=0; |
| 184 | |
| 185 | if( find_option("www","w",0) ){ |
| 186 | mask = CMDFLAG_WEBPAGE; |
| 187 | } |
| 188 | if( find_option("everything","e",0) ){ |
| @@ -162,22 +189,40 @@ | |
| 189 | mask = CMDFLAG_1ST_TIER | CMDFLAG_2ND_TIER | CMDFLAG_WEBPAGE; |
| 190 | } |
| 191 | if( find_option("test","t",0) ){ |
| 192 | mask |= CMDFLAG_TEST; |
| 193 | } |
| 194 | if( useHtml ) fossil_print("<!--\n"); |
| 195 | fossil_print("Help text for:\n"); |
| 196 | if( mask & CMDFLAG_1ST_TIER ) fossil_print(" * Commands\n"); |
| 197 | if( mask & CMDFLAG_2ND_TIER ) fossil_print(" * Auxiliary commands\n"); |
| 198 | if( mask & CMDFLAG_TEST ) fossil_print(" * Test commands\n"); |
| 199 | if( mask & CMDFLAG_WEBPAGE ) fossil_print(" * Web pages\n"); |
| 200 | if( useHtml ){ |
| 201 | fossil_print("-->\n"); |
| 202 | fossil_print("<!-- start_all_help -->\n"); |
| 203 | }else{ |
| 204 | fossil_print("---\n"); |
| 205 | } |
| 206 | for(i=0; i<MX_COMMAND; i++){ |
| 207 | if( (aCommand[i].eCmdFlags & mask)==0 ) continue; |
| 208 | fossil_print("# %s\n", aCommand[i].zName); |
| 209 | if( useHtml ){ |
| 210 | Blob html; |
| 211 | blob_zero(&html); |
| 212 | help_to_html(aCommand[i].zHelp, &html); |
| 213 | fossil_print("%s\n\n", blob_str(&html)); |
| 214 | blob_reset(&html); |
| 215 | }else{ |
| 216 | fossil_print("%s\n\n", aCommand[i].zHelp); |
| 217 | } |
| 218 | } |
| 219 | if( useHtml ){ |
| 220 | fossil_print("<!-- end_all_help -->\n"); |
| 221 | }else{ |
| 222 | fossil_print("---\n"); |
| 223 | } |
| 224 | version_cmd(); |
| 225 | } |
| 226 | |
| 227 | /* |
| 228 | ** WEBPAGE: help |
| @@ -191,11 +236,10 @@ | |
| 236 | |
| 237 | if( zCmd==0 ) zCmd = P("name"); |
| 238 | style_header("Command-line Help"); |
| 239 | if( zCmd ){ |
| 240 | int rc; |
| 241 | const CmdOrPage *pCmd = 0; |
| 242 | |
| 243 | style_submenu_element("Command-List", "Command-List", "%s/help", g.zTop); |
| 244 | if( *zCmd=='/' ){ |
| 245 | /* Some of the webpages require query parameters in order to work. |
| @@ -208,27 +252,16 @@ | |
| 252 | if( rc==1 ){ |
| 253 | @ unknown command: %s(zCmd) |
| 254 | }else if( rc==2 ){ |
| 255 | @ ambiguous command prefix: %s(zCmd) |
| 256 | }else{ |
| 257 | if( pCmd->zHelp[0]==0 ){ |
| 258 | @ no help available for the %s(pCmd->zName) command |
| 259 | }else{ |
| 260 | @ <blockquote> |
| 261 | help_to_html(pCmd->zHelp, cgi_output_blob()); |
| 262 | @ </blockquote> |
| 263 | } |
| 264 | } |
| 265 | }else{ |
| 266 | int i, j, n; |
| 267 | |
| @@ -331,13 +364,13 @@ | |
| 364 | int i; |
| 365 | style_header("Testpage: All Help Text"); |
| 366 | for(i=0; i<MX_COMMAND; i++){ |
| 367 | if( memcmp(aCommand[i].zName, "test", 4)==0 ) continue; |
| 368 | @ <h2>%s(aCommand[i].zName):</h2> |
| 369 | @ <blockquote> |
| 370 | help_to_html(aCommand[i].zHelp, cgi_output_blob()); |
| 371 | @ </blockquote> |
| 372 | } |
| 373 | style_footer(); |
| 374 | } |
| 375 | |
| 376 | static void multi_column_list(const char **azWord, int nWord){ |
| 377 |
+2
-2
| --- src/makemake.tcl | ||
| +++ src/makemake.tcl | ||
| @@ -667,11 +667,11 @@ | ||
| 667 | 667 | #### The directories where the OpenSSL include and library files are located. |
| 668 | 668 | # The recommended usage here is to use the Sysinternals junction tool |
| 669 | 669 | # to create a hard link between an "openssl-1.x" sub-directory of the |
| 670 | 670 | # Fossil source code directory and the target OpenSSL source directory. |
| 671 | 671 | # |
| 672 | -OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0a | |
| 672 | +OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0b | |
| 673 | 673 | OPENSSLINCDIR = $(OPENSSLDIR)/include |
| 674 | 674 | OPENSSLLIBDIR = $(OPENSSLDIR) |
| 675 | 675 | |
| 676 | 676 | #### Either the directory where the Tcl library is installed or the Tcl |
| 677 | 677 | # source code directory resides (depending on the value of the macro |
| @@ -1497,11 +1497,11 @@ | ||
| 1497 | 1497 | !ifndef USE_SEE |
| 1498 | 1498 | USE_SEE = 0 |
| 1499 | 1499 | !endif |
| 1500 | 1500 | |
| 1501 | 1501 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1502 | -SSLDIR = $(B)\compat\openssl-1.1.0a | |
| 1502 | +SSLDIR = $(B)\compat\openssl-1.1.0b | |
| 1503 | 1503 | SSLINCDIR = $(SSLDIR)\inc32 |
| 1504 | 1504 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 1505 | 1505 | SSLLIBDIR = $(SSLDIR)\out32dll |
| 1506 | 1506 | !else |
| 1507 | 1507 | SSLLIBDIR = $(SSLDIR)\out32 |
| 1508 | 1508 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -667,11 +667,11 @@ | |
| 667 | #### The directories where the OpenSSL include and library files are located. |
| 668 | # The recommended usage here is to use the Sysinternals junction tool |
| 669 | # to create a hard link between an "openssl-1.x" sub-directory of the |
| 670 | # Fossil source code directory and the target OpenSSL source directory. |
| 671 | # |
| 672 | OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0a |
| 673 | OPENSSLINCDIR = $(OPENSSLDIR)/include |
| 674 | OPENSSLLIBDIR = $(OPENSSLDIR) |
| 675 | |
| 676 | #### Either the directory where the Tcl library is installed or the Tcl |
| 677 | # source code directory resides (depending on the value of the macro |
| @@ -1497,11 +1497,11 @@ | |
| 1497 | !ifndef USE_SEE |
| 1498 | USE_SEE = 0 |
| 1499 | !endif |
| 1500 | |
| 1501 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1502 | SSLDIR = $(B)\compat\openssl-1.1.0a |
| 1503 | SSLINCDIR = $(SSLDIR)\inc32 |
| 1504 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 1505 | SSLLIBDIR = $(SSLDIR)\out32dll |
| 1506 | !else |
| 1507 | SSLLIBDIR = $(SSLDIR)\out32 |
| 1508 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -667,11 +667,11 @@ | |
| 667 | #### The directories where the OpenSSL include and library files are located. |
| 668 | # The recommended usage here is to use the Sysinternals junction tool |
| 669 | # to create a hard link between an "openssl-1.x" sub-directory of the |
| 670 | # Fossil source code directory and the target OpenSSL source directory. |
| 671 | # |
| 672 | OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0b |
| 673 | OPENSSLINCDIR = $(OPENSSLDIR)/include |
| 674 | OPENSSLLIBDIR = $(OPENSSLDIR) |
| 675 | |
| 676 | #### Either the directory where the Tcl library is installed or the Tcl |
| 677 | # source code directory resides (depending on the value of the macro |
| @@ -1497,11 +1497,11 @@ | |
| 1497 | !ifndef USE_SEE |
| 1498 | USE_SEE = 0 |
| 1499 | !endif |
| 1500 | |
| 1501 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1502 | SSLDIR = $(B)\compat\openssl-1.1.0b |
| 1503 | SSLINCDIR = $(SSLDIR)\inc32 |
| 1504 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 1505 | SSLLIBDIR = $(SSLDIR)\out32dll |
| 1506 | !else |
| 1507 | SSLLIBDIR = $(SSLDIR)\out32 |
| 1508 |
+2
-2
| --- src/makemake.tcl | ||
| +++ src/makemake.tcl | ||
| @@ -667,11 +667,11 @@ | ||
| 667 | 667 | #### The directories where the OpenSSL include and library files are located. |
| 668 | 668 | # The recommended usage here is to use the Sysinternals junction tool |
| 669 | 669 | # to create a hard link between an "openssl-1.x" sub-directory of the |
| 670 | 670 | # Fossil source code directory and the target OpenSSL source directory. |
| 671 | 671 | # |
| 672 | -OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0a | |
| 672 | +OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0b | |
| 673 | 673 | OPENSSLINCDIR = $(OPENSSLDIR)/include |
| 674 | 674 | OPENSSLLIBDIR = $(OPENSSLDIR) |
| 675 | 675 | |
| 676 | 676 | #### Either the directory where the Tcl library is installed or the Tcl |
| 677 | 677 | # source code directory resides (depending on the value of the macro |
| @@ -1497,11 +1497,11 @@ | ||
| 1497 | 1497 | !ifndef USE_SEE |
| 1498 | 1498 | USE_SEE = 0 |
| 1499 | 1499 | !endif |
| 1500 | 1500 | |
| 1501 | 1501 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1502 | -SSLDIR = $(B)\compat\openssl-1.1.0a | |
| 1502 | +SSLDIR = $(B)\compat\openssl-1.1.0b | |
| 1503 | 1503 | SSLINCDIR = $(SSLDIR)\inc32 |
| 1504 | 1504 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 1505 | 1505 | SSLLIBDIR = $(SSLDIR)\out32dll |
| 1506 | 1506 | !else |
| 1507 | 1507 | SSLLIBDIR = $(SSLDIR)\out32 |
| 1508 | 1508 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -667,11 +667,11 @@ | |
| 667 | #### The directories where the OpenSSL include and library files are located. |
| 668 | # The recommended usage here is to use the Sysinternals junction tool |
| 669 | # to create a hard link between an "openssl-1.x" sub-directory of the |
| 670 | # Fossil source code directory and the target OpenSSL source directory. |
| 671 | # |
| 672 | OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0a |
| 673 | OPENSSLINCDIR = $(OPENSSLDIR)/include |
| 674 | OPENSSLLIBDIR = $(OPENSSLDIR) |
| 675 | |
| 676 | #### Either the directory where the Tcl library is installed or the Tcl |
| 677 | # source code directory resides (depending on the value of the macro |
| @@ -1497,11 +1497,11 @@ | |
| 1497 | !ifndef USE_SEE |
| 1498 | USE_SEE = 0 |
| 1499 | !endif |
| 1500 | |
| 1501 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1502 | SSLDIR = $(B)\compat\openssl-1.1.0a |
| 1503 | SSLINCDIR = $(SSLDIR)\inc32 |
| 1504 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 1505 | SSLLIBDIR = $(SSLDIR)\out32dll |
| 1506 | !else |
| 1507 | SSLLIBDIR = $(SSLDIR)\out32 |
| 1508 |
| --- src/makemake.tcl | |
| +++ src/makemake.tcl | |
| @@ -667,11 +667,11 @@ | |
| 667 | #### The directories where the OpenSSL include and library files are located. |
| 668 | # The recommended usage here is to use the Sysinternals junction tool |
| 669 | # to create a hard link between an "openssl-1.x" sub-directory of the |
| 670 | # Fossil source code directory and the target OpenSSL source directory. |
| 671 | # |
| 672 | OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0b |
| 673 | OPENSSLINCDIR = $(OPENSSLDIR)/include |
| 674 | OPENSSLLIBDIR = $(OPENSSLDIR) |
| 675 | |
| 676 | #### Either the directory where the Tcl library is installed or the Tcl |
| 677 | # source code directory resides (depending on the value of the macro |
| @@ -1497,11 +1497,11 @@ | |
| 1497 | !ifndef USE_SEE |
| 1498 | USE_SEE = 0 |
| 1499 | !endif |
| 1500 | |
| 1501 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 1502 | SSLDIR = $(B)\compat\openssl-1.1.0b |
| 1503 | SSLINCDIR = $(SSLDIR)\inc32 |
| 1504 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 1505 | SSLLIBDIR = $(SSLDIR)\out32dll |
| 1506 | !else |
| 1507 | SSLLIBDIR = $(SSLDIR)\out32 |
| 1508 |
+1
-1
| --- test/amend.test | ||
| +++ test/amend.test | ||
| @@ -259,11 +259,11 @@ | ||
| 259 | 259 | [string match "*comment:*Create*new*branch*named*\"cllf\"*" $RESULT] |
| 260 | 260 | } |
| 261 | 261 | fossil tag ls --raw $UUIDC |
| 262 | 262 | test amend-close-1.2 {[string first "closed" $RESULT] != -1} |
| 263 | 263 | fossil timeline -n 1 |
| 264 | -test amend-close-1.3 {[string match {*Marked*"Closed".*} $RESULT]} | |
| 264 | +test amend-close-1.3 {[string match {*Mark*"Closed".*} $RESULT]} | |
| 265 | 265 | write_file datafile "cllf" |
| 266 | 266 | fossil commit -m "should fail" -expectError |
| 267 | 267 | test amend-close-2 {[string first "closed leaf" $RESULT] != -1} |
| 268 | 268 | |
| 269 | 269 | set UUID3 UUID3 |
| 270 | 270 | |
| 271 | 271 | ADDED test/commit-warning.test |
| --- test/amend.test | |
| +++ test/amend.test | |
| @@ -259,11 +259,11 @@ | |
| 259 | [string match "*comment:*Create*new*branch*named*\"cllf\"*" $RESULT] |
| 260 | } |
| 261 | fossil tag ls --raw $UUIDC |
| 262 | test amend-close-1.2 {[string first "closed" $RESULT] != -1} |
| 263 | fossil timeline -n 1 |
| 264 | test amend-close-1.3 {[string match {*Marked*"Closed".*} $RESULT]} |
| 265 | write_file datafile "cllf" |
| 266 | fossil commit -m "should fail" -expectError |
| 267 | test amend-close-2 {[string first "closed leaf" $RESULT] != -1} |
| 268 | |
| 269 | set UUID3 UUID3 |
| 270 | |
| 271 | DDED test/commit-warning.test |
| --- test/amend.test | |
| +++ test/amend.test | |
| @@ -259,11 +259,11 @@ | |
| 259 | [string match "*comment:*Create*new*branch*named*\"cllf\"*" $RESULT] |
| 260 | } |
| 261 | fossil tag ls --raw $UUIDC |
| 262 | test amend-close-1.2 {[string first "closed" $RESULT] != -1} |
| 263 | fossil timeline -n 1 |
| 264 | test amend-close-1.3 {[string match {*Mark*"Closed".*} $RESULT]} |
| 265 | write_file datafile "cllf" |
| 266 | fossil commit -m "should fail" -expectError |
| 267 | test amend-close-2 {[string first "closed leaf" $RESULT] != -1} |
| 268 | |
| 269 | set UUID3 UUID3 |
| 270 | |
| 271 | DDED test/commit-warning.test |
+69
| --- a/test/commit-warning.test | ||
| +++ b/test/commit-warning.test | ||
| @@ -0,0 +1,69 @@ | ||
| 1 | +# | |
| 2 | +# Copyright (c) 2016 D. Richard Hipp | |
| 3 | +# | |
| 4 | +# This program is free software; you can redistribute it and/or | |
| 5 | +# modify it under the terms of the Simplified BSD License (also | |
| 6 | +# known as the "2-Clause License" or "FreeBSD License".) | |
| 7 | +# | |
| 8 | +# This program is distributed in the hope that it will be useful, | |
| 9 | +# but without any warranty; without even the implied warranty of | |
| 10 | +# merchantability or fitness for a particular purpose. | |
| 11 | +# | |
| 12 | +# Author contact information: | |
| 13 | +# [email protected] | |
| 14 | +# http://www.hwaci.com/drh/ | |
| 15 | +# | |
| 16 | +############################################################################ | |
| 17 | +# | |
| 18 | +# The focus of this file is to test pre-commit warnings. | |
| 19 | +# | |
| 20 | + | |
| 21 | +test_setup "" | |
| 22 | +http://www.hwaci.com/drh/ | |
| 23 | +# | |
| 24 | +#################################################ta2de2016 D. Richard ippp_text1\twww/branch0(also | |
| 25 | +# kght (c) 2016 D. RichardHipp | |
| 26 | +# | |
| 27 | +# This p1\twww/delta11\twww/delta# Copyright (c) 2016 D. Richard71}]] | |
| 28 | +http://www.hwaci.com/drh/ | |
| 29 | +# | |
| 30 | +#################################################### | |
| 31 | + | |
| 32 | +test_cleanChangeLog\tUnicode | |
| 33 | +1\tutf-16README.contrib\tUnicode | |
| 34 | +1\tutf-1611 bit NUL:\xC0\x80U+10FFFF only, | |
| 35 | +# with U+D\x00 plain.txt { | |
| 36 | +Lorechard HippNLog# | |
| 37 | +# Copyright (c) 2016 D. bombe-hello "$bomBEU+10FFFF only, | |
| 38 | +# with U+D\x00 plNL\x80\x80\x80\x80AssemblyInfo.cs\tCR/NL\x80\x80\x80\x80DotZLib.csproj\tCR/NL\x80\x80\x80\x80UnitTests.cs\tCR/NLgate U+D800:\xED\xA0\x80 is NLl "trail surrogate U+DCNL | |
| 39 | +1\tline-64K\tlong lines | |
| 40 | +1NL1\tutf-16be-bombe-hello\tNLtutf-bad-f4-90-bom-16le-NLan redistribute i# | |
| 41 | +# CopyNL program is free software;NLy it under the terms ofNLwn as the "2-Clause LicenNLgram is distributed in thNLthout any warranty; withoNLantability or fitness fNLtact information: | |
| 42 | +# [email protected] | |
| 43 | +# http://www.hwaci.com/drh/ | |
| 44 | +# | |
| 45 | +#######NLThis prog# | |
| 46 | +# Copyright (c)NLreadme.txt\tCR/NL0/miniunz.vcxproj\tCR/NL bit NUL:\xF8\x80\x80\x80\x80 NL0/miniunz.vcxproj.user\tCR/NL bit NUL:\xFC\x80\x80\NLC\x80\x80\x80\x80\x80 is bad\nNL0/minizip.vcxproj.user\tCR/NL0/testzlib.vcxproj\tCR/NL_file utf-bad-c1-bf "overlong DNL_file utf-bad-c1-bfuser\tCR/NLrite_file utf-bad-f4-90-80NLrite_file utf-bad-f4-.filters\tCR/NLrite_file utf-bad-f4-.user\tCR/NL0/zlib.rc\tCR/NLogate U+D800:\xED\xA0\xNLogate U+D800:\xED\.filters\tCR/NLogate U+D800:\xED\.user\tCR/NL0NL0/zlibvc.sln\tCR/NLtf-bad-f4-90-bom-16leNLibute i# | |
| 47 | +# Copyright (c) 2016NL0/zlibvc.vcxproj.user\tCR/NL1/miniunz.vcxproj\tCR/NLknown as the "2-ClauseNL1/testzlib.vcxproj\tCR/NL1ite_file utf-bad-f4-90-80NL1/zlib.rc\tCR/NL1gate U+D800:\xED\xA0\xNL1NL1/zlibvc.sln\tCR/NL1f-bad-f4-90-bom-16leNL9/miniunz.vcproj\tCR/NL9/minizip.vcproj\tCR/NLNLNL9/zlib.rc\tCR/NLNL9NL9/zlibvc.sln\tCR/NL9/zlibvc.vcproj\tCR/NLsetup/fossil.iss\tCR/NLlified BSD License (also | |
| 48 | +# known as the "2-Clause License" or "FreeBSD License".) | |
| 49 | +# | |
| 50 | +# This program is distributed in the hope that it will be useful, | |
| 51 | +# but without any warranty; without even the implied warranty of | |
| 52 | +# merchantability or fitness for a particular purpose. | |
| 53 | +# | |
| 54 | +# Author contact information: | |
| 55 | +# [email protected] | |
| 56 | +# http://www.hwaci.com/drh/ | |
| 57 | +# | |
| 58 | +### | |
| 59 | +NLBSD License (also | |
| 60 | +# known as the "2-Clause License" or "FreeBSD License".) | |
| 61 | +# | |
| 62 | +# T# | |
| 63 | +knownBug | |
| 64 | +http://www.hwaci.com/drh/ | |
| 65 | +# | |
| 66 | +################################################# | |
| 67 | +http://www.hwaci.com/drh/ | |
| 68 | +# | |
| 69 | +################################################# |
| --- a/test/commit-warning.test | |
| +++ b/test/commit-warning.test | |
| @@ -0,0 +1,69 @@ | |
| --- a/test/commit-warning.test | |
| +++ b/test/commit-warning.test | |
| @@ -0,0 +1,69 @@ | |
| 1 | # |
| 2 | # Copyright (c) 2016 D. Richard Hipp |
| 3 | # |
| 4 | # This program is free software; you can redistribute it and/or |
| 5 | # modify it under the terms of the Simplified BSD License (also |
| 6 | # known as the "2-Clause License" or "FreeBSD License".) |
| 7 | # |
| 8 | # This program is distributed in the hope that it will be useful, |
| 9 | # but without any warranty; without even the implied warranty of |
| 10 | # merchantability or fitness for a particular purpose. |
| 11 | # |
| 12 | # Author contact information: |
| 13 | # [email protected] |
| 14 | # http://www.hwaci.com/drh/ |
| 15 | # |
| 16 | ############################################################################ |
| 17 | # |
| 18 | # The focus of this file is to test pre-commit warnings. |
| 19 | # |
| 20 | |
| 21 | test_setup "" |
| 22 | http://www.hwaci.com/drh/ |
| 23 | # |
| 24 | #################################################ta2de2016 D. Richard ippp_text1\twww/branch0(also |
| 25 | # kght (c) 2016 D. RichardHipp |
| 26 | # |
| 27 | # This p1\twww/delta11\twww/delta# Copyright (c) 2016 D. Richard71}]] |
| 28 | http://www.hwaci.com/drh/ |
| 29 | # |
| 30 | #################################################### |
| 31 | |
| 32 | test_cleanChangeLog\tUnicode |
| 33 | 1\tutf-16README.contrib\tUnicode |
| 34 | 1\tutf-1611 bit NUL:\xC0\x80U+10FFFF only, |
| 35 | # with U+D\x00 plain.txt { |
| 36 | Lorechard HippNLog# |
| 37 | # Copyright (c) 2016 D. bombe-hello "$bomBEU+10FFFF only, |
| 38 | # with U+D\x00 plNL\x80\x80\x80\x80AssemblyInfo.cs\tCR/NL\x80\x80\x80\x80DotZLib.csproj\tCR/NL\x80\x80\x80\x80UnitTests.cs\tCR/NLgate U+D800:\xED\xA0\x80 is NLl "trail surrogate U+DCNL |
| 39 | 1\tline-64K\tlong lines |
| 40 | 1NL1\tutf-16be-bombe-hello\tNLtutf-bad-f4-90-bom-16le-NLan redistribute i# |
| 41 | # CopyNL program is free software;NLy it under the terms ofNLwn as the "2-Clause LicenNLgram is distributed in thNLthout any warranty; withoNLantability or fitness fNLtact information: |
| 42 | # [email protected] |
| 43 | # http://www.hwaci.com/drh/ |
| 44 | # |
| 45 | #######NLThis prog# |
| 46 | # Copyright (c)NLreadme.txt\tCR/NL0/miniunz.vcxproj\tCR/NL bit NUL:\xF8\x80\x80\x80\x80 NL0/miniunz.vcxproj.user\tCR/NL bit NUL:\xFC\x80\x80\NLC\x80\x80\x80\x80\x80 is bad\nNL0/minizip.vcxproj.user\tCR/NL0/testzlib.vcxproj\tCR/NL_file utf-bad-c1-bf "overlong DNL_file utf-bad-c1-bfuser\tCR/NLrite_file utf-bad-f4-90-80NLrite_file utf-bad-f4-.filters\tCR/NLrite_file utf-bad-f4-.user\tCR/NL0/zlib.rc\tCR/NLogate U+D800:\xED\xA0\xNLogate U+D800:\xED\.filters\tCR/NLogate U+D800:\xED\.user\tCR/NL0NL0/zlibvc.sln\tCR/NLtf-bad-f4-90-bom-16leNLibute i# |
| 47 | # Copyright (c) 2016NL0/zlibvc.vcxproj.user\tCR/NL1/miniunz.vcxproj\tCR/NLknown as the "2-ClauseNL1/testzlib.vcxproj\tCR/NL1ite_file utf-bad-f4-90-80NL1/zlib.rc\tCR/NL1gate U+D800:\xED\xA0\xNL1NL1/zlibvc.sln\tCR/NL1f-bad-f4-90-bom-16leNL9/miniunz.vcproj\tCR/NL9/minizip.vcproj\tCR/NLNLNL9/zlib.rc\tCR/NLNL9NL9/zlibvc.sln\tCR/NL9/zlibvc.vcproj\tCR/NLsetup/fossil.iss\tCR/NLlified BSD License (also |
| 48 | # known as the "2-Clause License" or "FreeBSD License".) |
| 49 | # |
| 50 | # This program is distributed in the hope that it will be useful, |
| 51 | # but without any warranty; without even the implied warranty of |
| 52 | # merchantability or fitness for a particular purpose. |
| 53 | # |
| 54 | # Author contact information: |
| 55 | # [email protected] |
| 56 | # http://www.hwaci.com/drh/ |
| 57 | # |
| 58 | ### |
| 59 | NLBSD License (also |
| 60 | # known as the "2-Clause License" or "FreeBSD License".) |
| 61 | # |
| 62 | # T# |
| 63 | knownBug |
| 64 | http://www.hwaci.com/drh/ |
| 65 | # |
| 66 | ################################################# |
| 67 | http://www.hwaci.com/drh/ |
| 68 | # |
| 69 | ################################################# |
+1
-1
| --- win/Makefile.mingw | ||
| +++ win/Makefile.mingw | ||
| @@ -170,11 +170,11 @@ | ||
| 170 | 170 | #### The directories where the OpenSSL include and library files are located. |
| 171 | 171 | # The recommended usage here is to use the Sysinternals junction tool |
| 172 | 172 | # to create a hard link between an "openssl-1.x" sub-directory of the |
| 173 | 173 | # Fossil source code directory and the target OpenSSL source directory. |
| 174 | 174 | # |
| 175 | -OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0a | |
| 175 | +OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0b | |
| 176 | 176 | OPENSSLINCDIR = $(OPENSSLDIR)/include |
| 177 | 177 | OPENSSLLIBDIR = $(OPENSSLDIR) |
| 178 | 178 | |
| 179 | 179 | #### Either the directory where the Tcl library is installed or the Tcl |
| 180 | 180 | # source code directory resides (depending on the value of the macro |
| 181 | 181 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -170,11 +170,11 @@ | |
| 170 | #### The directories where the OpenSSL include and library files are located. |
| 171 | # The recommended usage here is to use the Sysinternals junction tool |
| 172 | # to create a hard link between an "openssl-1.x" sub-directory of the |
| 173 | # Fossil source code directory and the target OpenSSL source directory. |
| 174 | # |
| 175 | OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0a |
| 176 | OPENSSLINCDIR = $(OPENSSLDIR)/include |
| 177 | OPENSSLLIBDIR = $(OPENSSLDIR) |
| 178 | |
| 179 | #### Either the directory where the Tcl library is installed or the Tcl |
| 180 | # source code directory resides (depending on the value of the macro |
| 181 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -170,11 +170,11 @@ | |
| 170 | #### The directories where the OpenSSL include and library files are located. |
| 171 | # The recommended usage here is to use the Sysinternals junction tool |
| 172 | # to create a hard link between an "openssl-1.x" sub-directory of the |
| 173 | # Fossil source code directory and the target OpenSSL source directory. |
| 174 | # |
| 175 | OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0b |
| 176 | OPENSSLINCDIR = $(OPENSSLDIR)/include |
| 177 | OPENSSLLIBDIR = $(OPENSSLDIR) |
| 178 | |
| 179 | #### Either the directory where the Tcl library is installed or the Tcl |
| 180 | # source code directory resides (depending on the value of the macro |
| 181 |
+1
-1
| --- win/Makefile.mingw | ||
| +++ win/Makefile.mingw | ||
| @@ -170,11 +170,11 @@ | ||
| 170 | 170 | #### The directories where the OpenSSL include and library files are located. |
| 171 | 171 | # The recommended usage here is to use the Sysinternals junction tool |
| 172 | 172 | # to create a hard link between an "openssl-1.x" sub-directory of the |
| 173 | 173 | # Fossil source code directory and the target OpenSSL source directory. |
| 174 | 174 | # |
| 175 | -OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0a | |
| 175 | +OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0b | |
| 176 | 176 | OPENSSLINCDIR = $(OPENSSLDIR)/include |
| 177 | 177 | OPENSSLLIBDIR = $(OPENSSLDIR) |
| 178 | 178 | |
| 179 | 179 | #### Either the directory where the Tcl library is installed or the Tcl |
| 180 | 180 | # source code directory resides (depending on the value of the macro |
| 181 | 181 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -170,11 +170,11 @@ | |
| 170 | #### The directories where the OpenSSL include and library files are located. |
| 171 | # The recommended usage here is to use the Sysinternals junction tool |
| 172 | # to create a hard link between an "openssl-1.x" sub-directory of the |
| 173 | # Fossil source code directory and the target OpenSSL source directory. |
| 174 | # |
| 175 | OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0a |
| 176 | OPENSSLINCDIR = $(OPENSSLDIR)/include |
| 177 | OPENSSLLIBDIR = $(OPENSSLDIR) |
| 178 | |
| 179 | #### Either the directory where the Tcl library is installed or the Tcl |
| 180 | # source code directory resides (depending on the value of the macro |
| 181 |
| --- win/Makefile.mingw | |
| +++ win/Makefile.mingw | |
| @@ -170,11 +170,11 @@ | |
| 170 | #### The directories where the OpenSSL include and library files are located. |
| 171 | # The recommended usage here is to use the Sysinternals junction tool |
| 172 | # to create a hard link between an "openssl-1.x" sub-directory of the |
| 173 | # Fossil source code directory and the target OpenSSL source directory. |
| 174 | # |
| 175 | OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0b |
| 176 | OPENSSLINCDIR = $(OPENSSLDIR)/include |
| 177 | OPENSSLLIBDIR = $(OPENSSLDIR) |
| 178 | |
| 179 | #### Either the directory where the Tcl library is installed or the Tcl |
| 180 | # source code directory resides (depending on the value of the macro |
| 181 |
+1
-1
| --- win/Makefile.mingw.mistachkin | ||
| +++ win/Makefile.mingw.mistachkin | ||
| @@ -170,11 +170,11 @@ | ||
| 170 | 170 | #### The directories where the OpenSSL include and library files are located. |
| 171 | 171 | # The recommended usage here is to use the Sysinternals junction tool |
| 172 | 172 | # to create a hard link between an "openssl-1.x" sub-directory of the |
| 173 | 173 | # Fossil source code directory and the target OpenSSL source directory. |
| 174 | 174 | # |
| 175 | -OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0a | |
| 175 | +OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0b | |
| 176 | 176 | OPENSSLINCDIR = $(OPENSSLDIR)/include |
| 177 | 177 | OPENSSLLIBDIR = $(OPENSSLDIR) |
| 178 | 178 | |
| 179 | 179 | #### Either the directory where the Tcl library is installed or the Tcl |
| 180 | 180 | # source code directory resides (depending on the value of the macro |
| 181 | 181 |
| --- win/Makefile.mingw.mistachkin | |
| +++ win/Makefile.mingw.mistachkin | |
| @@ -170,11 +170,11 @@ | |
| 170 | #### The directories where the OpenSSL include and library files are located. |
| 171 | # The recommended usage here is to use the Sysinternals junction tool |
| 172 | # to create a hard link between an "openssl-1.x" sub-directory of the |
| 173 | # Fossil source code directory and the target OpenSSL source directory. |
| 174 | # |
| 175 | OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0a |
| 176 | OPENSSLINCDIR = $(OPENSSLDIR)/include |
| 177 | OPENSSLLIBDIR = $(OPENSSLDIR) |
| 178 | |
| 179 | #### Either the directory where the Tcl library is installed or the Tcl |
| 180 | # source code directory resides (depending on the value of the macro |
| 181 |
| --- win/Makefile.mingw.mistachkin | |
| +++ win/Makefile.mingw.mistachkin | |
| @@ -170,11 +170,11 @@ | |
| 170 | #### The directories where the OpenSSL include and library files are located. |
| 171 | # The recommended usage here is to use the Sysinternals junction tool |
| 172 | # to create a hard link between an "openssl-1.x" sub-directory of the |
| 173 | # Fossil source code directory and the target OpenSSL source directory. |
| 174 | # |
| 175 | OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0b |
| 176 | OPENSSLINCDIR = $(OPENSSLDIR)/include |
| 177 | OPENSSLLIBDIR = $(OPENSSLDIR) |
| 178 | |
| 179 | #### Either the directory where the Tcl library is installed or the Tcl |
| 180 | # source code directory resides (depending on the value of the macro |
| 181 |
+1
-1
| --- win/Makefile.mingw.mistachkin | ||
| +++ win/Makefile.mingw.mistachkin | ||
| @@ -170,11 +170,11 @@ | ||
| 170 | 170 | #### The directories where the OpenSSL include and library files are located. |
| 171 | 171 | # The recommended usage here is to use the Sysinternals junction tool |
| 172 | 172 | # to create a hard link between an "openssl-1.x" sub-directory of the |
| 173 | 173 | # Fossil source code directory and the target OpenSSL source directory. |
| 174 | 174 | # |
| 175 | -OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0a | |
| 175 | +OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0b | |
| 176 | 176 | OPENSSLINCDIR = $(OPENSSLDIR)/include |
| 177 | 177 | OPENSSLLIBDIR = $(OPENSSLDIR) |
| 178 | 178 | |
| 179 | 179 | #### Either the directory where the Tcl library is installed or the Tcl |
| 180 | 180 | # source code directory resides (depending on the value of the macro |
| 181 | 181 |
| --- win/Makefile.mingw.mistachkin | |
| +++ win/Makefile.mingw.mistachkin | |
| @@ -170,11 +170,11 @@ | |
| 170 | #### The directories where the OpenSSL include and library files are located. |
| 171 | # The recommended usage here is to use the Sysinternals junction tool |
| 172 | # to create a hard link between an "openssl-1.x" sub-directory of the |
| 173 | # Fossil source code directory and the target OpenSSL source directory. |
| 174 | # |
| 175 | OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0a |
| 176 | OPENSSLINCDIR = $(OPENSSLDIR)/include |
| 177 | OPENSSLLIBDIR = $(OPENSSLDIR) |
| 178 | |
| 179 | #### Either the directory where the Tcl library is installed or the Tcl |
| 180 | # source code directory resides (depending on the value of the macro |
| 181 |
| --- win/Makefile.mingw.mistachkin | |
| +++ win/Makefile.mingw.mistachkin | |
| @@ -170,11 +170,11 @@ | |
| 170 | #### The directories where the OpenSSL include and library files are located. |
| 171 | # The recommended usage here is to use the Sysinternals junction tool |
| 172 | # to create a hard link between an "openssl-1.x" sub-directory of the |
| 173 | # Fossil source code directory and the target OpenSSL source directory. |
| 174 | # |
| 175 | OPENSSLDIR = $(SRCDIR)/../compat/openssl-1.1.0b |
| 176 | OPENSSLINCDIR = $(OPENSSLDIR)/include |
| 177 | OPENSSLLIBDIR = $(OPENSSLDIR) |
| 178 | |
| 179 | #### Either the directory where the Tcl library is installed or the Tcl |
| 180 | # source code directory resides (depending on the value of the macro |
| 181 |
+1
-1
| --- win/Makefile.msc | ||
| +++ win/Makefile.msc | ||
| @@ -98,11 +98,11 @@ | ||
| 98 | 98 | !ifndef USE_SEE |
| 99 | 99 | USE_SEE = 0 |
| 100 | 100 | !endif |
| 101 | 101 | |
| 102 | 102 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 103 | -SSLDIR = $(B)\compat\openssl-1.1.0a | |
| 103 | +SSLDIR = $(B)\compat\openssl-1.1.0b | |
| 104 | 104 | SSLINCDIR = $(SSLDIR)\inc32 |
| 105 | 105 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 106 | 106 | SSLLIBDIR = $(SSLDIR)\out32dll |
| 107 | 107 | !else |
| 108 | 108 | SSLLIBDIR = $(SSLDIR)\out32 |
| 109 | 109 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -98,11 +98,11 @@ | |
| 98 | !ifndef USE_SEE |
| 99 | USE_SEE = 0 |
| 100 | !endif |
| 101 | |
| 102 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 103 | SSLDIR = $(B)\compat\openssl-1.1.0a |
| 104 | SSLINCDIR = $(SSLDIR)\inc32 |
| 105 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 106 | SSLLIBDIR = $(SSLDIR)\out32dll |
| 107 | !else |
| 108 | SSLLIBDIR = $(SSLDIR)\out32 |
| 109 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -98,11 +98,11 @@ | |
| 98 | !ifndef USE_SEE |
| 99 | USE_SEE = 0 |
| 100 | !endif |
| 101 | |
| 102 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 103 | SSLDIR = $(B)\compat\openssl-1.1.0b |
| 104 | SSLINCDIR = $(SSLDIR)\inc32 |
| 105 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 106 | SSLLIBDIR = $(SSLDIR)\out32dll |
| 107 | !else |
| 108 | SSLLIBDIR = $(SSLDIR)\out32 |
| 109 |
+1
-1
| --- win/Makefile.msc | ||
| +++ win/Makefile.msc | ||
| @@ -98,11 +98,11 @@ | ||
| 98 | 98 | !ifndef USE_SEE |
| 99 | 99 | USE_SEE = 0 |
| 100 | 100 | !endif |
| 101 | 101 | |
| 102 | 102 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 103 | -SSLDIR = $(B)\compat\openssl-1.1.0a | |
| 103 | +SSLDIR = $(B)\compat\openssl-1.1.0b | |
| 104 | 104 | SSLINCDIR = $(SSLDIR)\inc32 |
| 105 | 105 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 106 | 106 | SSLLIBDIR = $(SSLDIR)\out32dll |
| 107 | 107 | !else |
| 108 | 108 | SSLLIBDIR = $(SSLDIR)\out32 |
| 109 | 109 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -98,11 +98,11 @@ | |
| 98 | !ifndef USE_SEE |
| 99 | USE_SEE = 0 |
| 100 | !endif |
| 101 | |
| 102 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 103 | SSLDIR = $(B)\compat\openssl-1.1.0a |
| 104 | SSLINCDIR = $(SSLDIR)\inc32 |
| 105 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 106 | SSLLIBDIR = $(SSLDIR)\out32dll |
| 107 | !else |
| 108 | SSLLIBDIR = $(SSLDIR)\out32 |
| 109 |
| --- win/Makefile.msc | |
| +++ win/Makefile.msc | |
| @@ -98,11 +98,11 @@ | |
| 98 | !ifndef USE_SEE |
| 99 | USE_SEE = 0 |
| 100 | !endif |
| 101 | |
| 102 | !if $(FOSSIL_ENABLE_SSL)!=0 |
| 103 | SSLDIR = $(B)\compat\openssl-1.1.0b |
| 104 | SSLINCDIR = $(SSLDIR)\inc32 |
| 105 | !if $(FOSSIL_DYNAMIC_BUILD)!=0 |
| 106 | SSLLIBDIR = $(SSLDIR)\out32dll |
| 107 | !else |
| 108 | SSLLIBDIR = $(SSLDIR)\out32 |
| 109 |
+1
-1
| --- www/build.wiki | ||
| +++ www/build.wiki | ||
| @@ -141,11 +141,11 @@ | ||
| 141 | 141 | the optional <a href="https://www.openssl.org/">OpenSSL</a> support, |
| 142 | 142 | first <a href="https://www.openssl.org/source/">download the official |
| 143 | 143 | source code for OpenSSL</a> and extract it to an appropriately named |
| 144 | 144 | "<b>openssl-X.Y.ZA</b>" subdirectory within the local |
| 145 | 145 | [/tree?ci=trunk&name=compat | compat] directory (e.g. |
| 146 | -"<b>compat/openssl-1.1.0a</b>"), then make sure that some recent | |
| 146 | +"<b>compat/openssl-1.1.0b</b>"), then make sure that some recent | |
| 147 | 147 | <a href="http://www.perl.org/">Perl</a> binaries are installed locally, |
| 148 | 148 | and finally run one of the following commands: |
| 149 | 149 | <blockquote><pre> |
| 150 | 150 | nmake /f Makefile.msc FOSSIL_ENABLE_SSL=1 FOSSIL_BUILD_SSL=1 PERLDIR=C:\full\path\to\Perl\bin |
| 151 | 151 | </pre></blockquote> |
| 152 | 152 |
| --- www/build.wiki | |
| +++ www/build.wiki | |
| @@ -141,11 +141,11 @@ | |
| 141 | the optional <a href="https://www.openssl.org/">OpenSSL</a> support, |
| 142 | first <a href="https://www.openssl.org/source/">download the official |
| 143 | source code for OpenSSL</a> and extract it to an appropriately named |
| 144 | "<b>openssl-X.Y.ZA</b>" subdirectory within the local |
| 145 | [/tree?ci=trunk&name=compat | compat] directory (e.g. |
| 146 | "<b>compat/openssl-1.1.0a</b>"), then make sure that some recent |
| 147 | <a href="http://www.perl.org/">Perl</a> binaries are installed locally, |
| 148 | and finally run one of the following commands: |
| 149 | <blockquote><pre> |
| 150 | nmake /f Makefile.msc FOSSIL_ENABLE_SSL=1 FOSSIL_BUILD_SSL=1 PERLDIR=C:\full\path\to\Perl\bin |
| 151 | </pre></blockquote> |
| 152 |
| --- www/build.wiki | |
| +++ www/build.wiki | |
| @@ -141,11 +141,11 @@ | |
| 141 | the optional <a href="https://www.openssl.org/">OpenSSL</a> support, |
| 142 | first <a href="https://www.openssl.org/source/">download the official |
| 143 | source code for OpenSSL</a> and extract it to an appropriately named |
| 144 | "<b>openssl-X.Y.ZA</b>" subdirectory within the local |
| 145 | [/tree?ci=trunk&name=compat | compat] directory (e.g. |
| 146 | "<b>compat/openssl-1.1.0b</b>"), then make sure that some recent |
| 147 | <a href="http://www.perl.org/">Perl</a> binaries are installed locally, |
| 148 | and finally run one of the following commands: |
| 149 | <blockquote><pre> |
| 150 | nmake /f Makefile.msc FOSSIL_ENABLE_SSL=1 FOSSIL_BUILD_SSL=1 PERLDIR=C:\full\path\to\Perl\bin |
| 151 | </pre></blockquote> |
| 152 |
+1
-1
| --- www/build.wiki | ||
| +++ www/build.wiki | ||
| @@ -141,11 +141,11 @@ | ||
| 141 | 141 | the optional <a href="https://www.openssl.org/">OpenSSL</a> support, |
| 142 | 142 | first <a href="https://www.openssl.org/source/">download the official |
| 143 | 143 | source code for OpenSSL</a> and extract it to an appropriately named |
| 144 | 144 | "<b>openssl-X.Y.ZA</b>" subdirectory within the local |
| 145 | 145 | [/tree?ci=trunk&name=compat | compat] directory (e.g. |
| 146 | -"<b>compat/openssl-1.1.0a</b>"), then make sure that some recent | |
| 146 | +"<b>compat/openssl-1.1.0b</b>"), then make sure that some recent | |
| 147 | 147 | <a href="http://www.perl.org/">Perl</a> binaries are installed locally, |
| 148 | 148 | and finally run one of the following commands: |
| 149 | 149 | <blockquote><pre> |
| 150 | 150 | nmake /f Makefile.msc FOSSIL_ENABLE_SSL=1 FOSSIL_BUILD_SSL=1 PERLDIR=C:\full\path\to\Perl\bin |
| 151 | 151 | </pre></blockquote> |
| 152 | 152 |
| --- www/build.wiki | |
| +++ www/build.wiki | |
| @@ -141,11 +141,11 @@ | |
| 141 | the optional <a href="https://www.openssl.org/">OpenSSL</a> support, |
| 142 | first <a href="https://www.openssl.org/source/">download the official |
| 143 | source code for OpenSSL</a> and extract it to an appropriately named |
| 144 | "<b>openssl-X.Y.ZA</b>" subdirectory within the local |
| 145 | [/tree?ci=trunk&name=compat | compat] directory (e.g. |
| 146 | "<b>compat/openssl-1.1.0a</b>"), then make sure that some recent |
| 147 | <a href="http://www.perl.org/">Perl</a> binaries are installed locally, |
| 148 | and finally run one of the following commands: |
| 149 | <blockquote><pre> |
| 150 | nmake /f Makefile.msc FOSSIL_ENABLE_SSL=1 FOSSIL_BUILD_SSL=1 PERLDIR=C:\full\path\to\Perl\bin |
| 151 | </pre></blockquote> |
| 152 |
| --- www/build.wiki | |
| +++ www/build.wiki | |
| @@ -141,11 +141,11 @@ | |
| 141 | the optional <a href="https://www.openssl.org/">OpenSSL</a> support, |
| 142 | first <a href="https://www.openssl.org/source/">download the official |
| 143 | source code for OpenSSL</a> and extract it to an appropriately named |
| 144 | "<b>openssl-X.Y.ZA</b>" subdirectory within the local |
| 145 | [/tree?ci=trunk&name=compat | compat] directory (e.g. |
| 146 | "<b>compat/openssl-1.1.0b</b>"), then make sure that some recent |
| 147 | <a href="http://www.perl.org/">Perl</a> binaries are installed locally, |
| 148 | and finally run one of the following commands: |
| 149 | <blockquote><pre> |
| 150 | nmake /f Makefile.msc FOSSIL_ENABLE_SSL=1 FOSSIL_BUILD_SSL=1 PERLDIR=C:\full\path\to\Perl\bin |
| 151 | </pre></blockquote> |
| 152 |