Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Add new fossil test-all-help command. Spell checked and proof read all help text. Fixed typos. Reworded for clarity in a few places. Cleaned up a few inconsistencies of formatting. No code changes other than the new command. Passes all tests. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
26eef7f84add7a31a117727fb4e3f4b6 |
User & Date: | rberteig 2016-04-02 00:56:29.802 |
Context
2016-04-02
| ||
03:47 | Coding style tweaks for the new 'test-all-help' command. ... (check-in: 651f7084 user: mistachkin tags: trunk) | |
00:56 | Add new fossil test-all-help command. Spell checked and proof read all help text. Fixed typos. Reworded for clarity in a few places. Cleaned up a few inconsistencies of formatting. No code changes other than the new command. Passes all tests. ... (check-in: 26eef7f8 user: rberteig tags: trunk) | |
00:35 | Add some options to the test-all-help command. ... (Closed-Leaf check-in: 1b0a3cf3 user: rberteig tags: ross-spellcheck) | |
2016-04-01
| ||
13:37 | Fix typos in comments. No changes to code. ... (check-in: b6b50b12 user: mistachkin tags: trunk) | |
Changes
Changes to src/attach.c.
︙ | ︙ | |||
28 29 30 31 32 33 34 | ** tkt=TICKETUUID ** page=WIKIPAGE ** ** At most one of technote=, tkt= or page= are supplied. ** If none is given, all attachments are listed. If one is given, ** only attachments for the designated technote, ticket or wiki page ** are shown. TECHNOTEUUID and TICKETUUID may be just a prefix of the | | | | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | ** tkt=TICKETUUID ** page=WIKIPAGE ** ** At most one of technote=, tkt= or page= are supplied. ** If none is given, all attachments are listed. If one is given, ** only attachments for the designated technote, ticket or wiki page ** are shown. TECHNOTEUUID and TICKETUUID may be just a prefix of the ** relevant technical note or ticket, in which case all attachments ** of all technical notes or tickets with the prefix will be listed. */ void attachlist_page(void){ const char *zPage = P("page"); const char *zTkt = P("tkt"); const char *zTechNote = P("technote"); Blob sql; Stmt q; |
︙ | ︙ |
Changes to src/browse.c.
︙ | ︙ | |||
997 998 999 1000 1001 1002 1003 | db_column_text(&q,3)); fossil_free(zAge); } db_finalize(&q); } /* | | | 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 | db_column_text(&q,3)); fossil_free(zAge); } db_finalize(&q); } /* ** WEBPAGE: fileage ** ** Show all files in a single check-in (identified by the name= query ** parameter) in order of increasing age. ** ** Parameters: ** name=VERSION Selects the check-in version (default=tip). ** glob=STRING Only shows files matching this glob pattern |
︙ | ︙ |
Changes to src/content.c.
︙ | ︙ | |||
332 333 334 335 336 337 338 | fossil_fatal("%s",g.zErrMsg); } content_get(rid, &content); blob_write_to_file(&content, zFile); } /* | | | 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 | fossil_fatal("%s",g.zErrMsg); } content_get(rid, &content); blob_write_to_file(&content, zFile); } /* ** COMMAND: test-content-rawget ** ** Extract a blob from the database and write it into a file. This ** version does not expand the delta. */ void test_content_rawget_cmd(void){ int rid; Blob content; |
︙ | ︙ | |||
661 662 663 664 665 666 667 | bag_insert(&contentCache.missing, rid); db_end_transaction(0); return rid; } /* | | | 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 | bag_insert(&contentCache.missing, rid); db_end_transaction(0); return rid; } /* ** COMMAND: test-content-put ** ** Usage: %fossil test-content-put FILE ** ** Read the content of FILE and add it to the Blob table as a new ** artifact using a direct call to content_put(). */ void test_content_put_cmd(void){ |
︙ | ︙ | |||
701 702 703 704 705 706 707 | blob_reset(&x); db_multi_exec("DELETE FROM delta WHERE rid=%d", rid); } } } /* | | | 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 | blob_reset(&x); db_multi_exec("DELETE FROM delta WHERE rid=%d", rid); } } } /* ** COMMAND: test-content-undelta ** ** Make sure the content at RECORDID is not a delta */ void test_content_undelta_cmd(void){ int rid; if( g.argc!=3 ) usage("RECORDID"); db_must_be_within_tree(); |
︙ | ︙ | |||
812 813 814 815 816 817 818 | blob_reset(&src); blob_reset(&data); blob_reset(&delta); return rc; } /* | | | 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 | blob_reset(&src); blob_reset(&data); blob_reset(&delta); return rc; } /* ** COMMAND: test-content-deltify ** ** Convert the content at RID into a delta from SRCID. */ void test_content_deltify_cmd(void){ if( g.argc!=5 ) usage("RID SRCID FORCE"); db_must_be_within_tree(); content_deltify(atoi(g.argv[2]), atoi(g.argv[3]), atoi(g.argv[4])); |
︙ | ︙ |
Changes to src/deltacmd.c.
︙ | ︙ | |||
39 40 41 42 43 44 45 | zRes = blob_buffer(pDelta); len = delta_create(zOrig, lenOrig, zTarg, lenTarg, zRes); blob_resize(pDelta, len); return 0; } /* | | | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | zRes = blob_buffer(pDelta); len = delta_create(zOrig, lenOrig, zTarg, lenTarg, zRes); blob_resize(pDelta, len); return 0; } /* ** COMMAND: test-delta-create ** ** Usage: %fossil test-delta-create FILE1 FILE2 DELTA ** ** Create and output a delta that carries FILE1 into FILE2. ** Store the result in DELTA. */ void delta_create_cmd(void){ |
︙ | ︙ | |||
67 68 69 70 71 72 73 | } blob_reset(&orig); blob_reset(&target); blob_reset(&delta); } /* | | | 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | } blob_reset(&orig); blob_reset(&target); blob_reset(&delta); } /* ** COMMAND: test-delta-analyze ** ** Usage: %fossil test-delta-analyze FILE1 FILE2 ** ** Create and a delta that carries FILE1 into FILE2. Print the ** number bytes copied and the number of bytes inserted. */ void delta_analyze_cmd(void){ |
︙ | ︙ | |||
139 140 141 142 143 144 145 | blob_reset(pOriginal); } *pTarget = out; return len; } /* | | | 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 | blob_reset(pOriginal); } *pTarget = out; return len; } /* ** COMMAND: test-delta-apply ** ** Usage: %fossil test-delta-apply FILE1 DELTA ** ** Apply DELTA to FILE1 and output the result. */ void delta_apply_cmd(void){ Blob orig, target, delta; |
︙ | ︙ | |||
167 168 169 170 171 172 173 | blob_reset(&orig); blob_reset(&target); blob_reset(&delta); } /* | | | 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | blob_reset(&orig); blob_reset(&target); blob_reset(&delta); } /* ** COMMAND: test-delta ** ** Usage: %fossil test-delta FILE1 FILE2 ** ** Read two files named on the command-line. Create and apply deltas ** going in both directions. Verify that the original files are ** correctly recovered. */ |
︙ | ︙ |
Changes to src/descendants.c.
︙ | ︙ | |||
429 430 431 432 433 434 435 | fossil_free(z); } fossil_free(zLastBr); db_finalize(&q); } /* | | | 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 | fossil_free(z); } fossil_free(zLastBr); db_finalize(&q); } /* ** WEBPAGE: leaves ** ** Show leaf check-ins in a timeline. By default only open leaves ** are listed. ** ** A "leaf" is a check-in with no children in the same branch. A ** "closed leaf" is a leaf that has a "closed" tag. An "open leaf" ** is a leaf without a "closed" tag. |
︙ | ︙ |
Changes to src/diffcmd.c.
︙ | ︙ | |||
795 796 797 798 799 800 801 | ** --binary PATTERN Treat files that match the glob PATTERN as binary ** --branch BRANCH Show diff of all changes on BRANCH ** --brief Show filenames only ** --context|-c N Use N lines of context ** --diff-binary BOOL Include binary files when using external commands ** --exec-abs-paths Force absolute path names with external commands. ** --exec-rel-paths Force relative path names with external commands. | | | | | | | | 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 | ** --binary PATTERN Treat files that match the glob PATTERN as binary ** --branch BRANCH Show diff of all changes on BRANCH ** --brief Show filenames only ** --context|-c N Use N lines of context ** --diff-binary BOOL Include binary files when using external commands ** --exec-abs-paths Force absolute path names with external commands. ** --exec-rel-paths Force relative path names with external commands. ** --from|-r VERSION Select VERSION as source for the diff ** --internal|-i Use internal diff logic ** --side-by-side|-y Side-by-side diff ** --strip-trailing-cr Strip trailing CR ** --tk Launch a Tcl/Tk GUI for display ** --to VERSION Select VERSION as target for the diff ** --undo Diff against the "undo" buffer ** --unified Unified diff ** -v|--verbose Output complete text of added or deleted files ** -w|--ignore-all-space Ignore white space when comparing lines ** -W|--width <num> Width of lines in side-by-side diff ** -Z|--ignore-trailing-space Ignore changes to end-of-line whitespace */ void diff_cmd(void){ int isGDiff; /* True for gdiff. False for normal diff */ int isInternDiff; /* True for internal diff */ |
︙ | ︙ |
Changes to src/doc.c.
︙ | ︙ | |||
344 345 346 347 348 349 350 | } } } return "application/x-fossil-artifact"; } /* | | | 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 | } } } return "application/x-fossil-artifact"; } /* ** COMMAND: test-mimetype ** ** Usage: %fossil test-mimetype FILENAME... ** ** Return the deduced mimetype for each file listed. ** ** If Fossil is compiled with -DFOSSIL_DEBUG then the "mimetype-test" ** filename is special and verifies the integrity of the mimetype table. |
︙ | ︙ | |||
549 550 551 552 553 554 555 | ** If FILE ends in "/" then the names "FILE/index.html", "FILE/index.wiki", ** and "FILE/index.md" are tried in that order. If the binary was compiled ** with TH1 embedded documentation support and the "th1-docs" setting is ** enabled, the name "FILE/index.th1" is also tried. If none of those are ** found, then FILE is completely replaced by "404.md" and tried. If that ** is not found, then a default 404 screen is generated. ** | > | | | < | 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 | ** If FILE ends in "/" then the names "FILE/index.html", "FILE/index.wiki", ** and "FILE/index.md" are tried in that order. If the binary was compiled ** with TH1 embedded documentation support and the "th1-docs" setting is ** enabled, the name "FILE/index.th1" is also tried. If none of those are ** found, then FILE is completely replaced by "404.md" and tried. If that ** is not found, then a default 404 screen is generated. ** ** If the file's mimetype is "text/x-fossil-wiki" or "text/x-markdown" ** then headers and footers are added. If the document has mimetype ** text/html then headers and footers are usually not added. However, ** if a "text/html" document begins with the following div: ** ** <div class='fossil-doc' data-title='TEXT'> ** ** then headers and footers are supplied. The optional data-title field ** specifies the title of the document in that case. ** ** For fossil-doc documents and for markdown documents, text of the |
︙ | ︙ |
Changes to src/event.c.
︙ | ︙ | |||
47 48 49 50 51 52 53 | free(zId); } /* ** WEBPAGE: technote ** WEBPAGE: event ** | | | > | | | > | 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | free(zId); } /* ** WEBPAGE: technote ** WEBPAGE: event ** ** Display a technical note (formerly called an "event"). ** ** PARAMETERS: ** ** name=ID Identify the technical note to display. ID must be ** complete. ** aid=ARTIFACTID Which specific version of the tech-note. Optional. ** v=BOOLEAN Show details if TRUE. Default is FALSE. Optional. ** ** Display an existing tech-note identified by its ID, optionally at a ** specific version, and optionally with additional details. */ void event_page(void){ int rid = 0; /* rid of the event artifact */ char *zUuid; /* UUID corresponding to rid */ const char *zId; /* Event identifier */ const char *zVerbose; /* Value of verbose option */ char *zETime; /* Time of the tech-note */ |
︙ | ︙ | |||
338 339 340 341 342 343 344 | return 1; } /* ** WEBPAGE: technoteedit ** WEBPAGE: eventedit ** | | | | 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 | return 1; } /* ** WEBPAGE: technoteedit ** WEBPAGE: eventedit ** ** Revise or create a technical note (formerly called an "event"). ** ** Parameters: ** ** name=ID Hex hash ID of the tech-note. If omitted, a new ** tech-note is created. */ void eventedit_page(void){ char *zTag; int rid = 0; Blob event; const char *zId; |
︙ | ︙ |
Changes to src/file.c.
︙ | ︙ | |||
920 921 922 923 924 925 926 | } #endif blob_resize(pOut, file_simplify_name(blob_buffer(pOut), blob_size(pOut), slash)); } /* | | | 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 | } #endif blob_resize(pOut, file_simplify_name(blob_buffer(pOut), blob_size(pOut), slash)); } /* ** COMMAND: test-canonical-name ** Usage: %fossil test-canonical-name FILENAME... ** ** Test the operation of the canonical name generator. ** Also test Fossil's ability to measure attributes of a file. */ void cmd_test_canonical_name(void){ int i; |
︙ | ︙ | |||
1057 1058 1059 1060 1061 1062 1063 | blob_append(&tmp, &zPath[i], -1); blob_reset(pOut); memcpy(pOut, &tmp, sizeof(tmp)); } } /* | | | 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 | blob_append(&tmp, &zPath[i], -1); blob_reset(pOut); memcpy(pOut, &tmp, sizeof(tmp)); } } /* ** COMMAND: test-relative-name ** ** Test the operation of the relative name generator. */ void cmd_test_relative_name(void){ int i; Blob x; int slashFlag = find_option("slash",0,0)!=0; |
︙ | ︙ | |||
1171 1172 1173 1174 1175 1176 1177 | } blob_reset(&localRoot); blob_reset(&full); return 1; } /* | | | 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 | } blob_reset(&localRoot); blob_reset(&full); return 1; } /* ** COMMAND: test-tree-name ** ** Test the operation of the tree name generator. ** ** Options: ** --absolute Return an absolute path instead of a relative one. ** --case-sensitive B Enable or disable case-sensitive filenames. B is ** a boolean: "yes", "no", "true", "false", etc. |
︙ | ︙ |
Changes to src/fusefs.c.
︙ | ︙ | |||
287 288 289 290 291 292 293 | #endif /* FOSSIL_HAVE_FUSEFS */ /* ** COMMAND: fusefs ** ** Usage: %fossil fusefs [--debug] DIRECTORY ** | | | | | | | | 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 | #endif /* FOSSIL_HAVE_FUSEFS */ /* ** COMMAND: fusefs ** ** Usage: %fossil fusefs [--debug] DIRECTORY ** ** This command uses the Fuse Filesystem (FuseFS) to mount a directory ** at DIRECTORY that contains the content of all check-ins in the ** repository. The names of files are DIRECTORY/checkins/VERSION/PATH ** where DIRECTORY is the root of the mount, VERSION is any valid ** check-in name (examples: "trunk" or "tip" or a tag or any unique ** prefix of a SHA1 hash, etc) and PATH is the pathname of the file in ** the check-in. If DIRECTORY does not exist, then an attempt is made ** to create it. ** ** The DIRECTORY/checkins directory is not searchable so one cannot ** do "ls DIRECTORY/checkins" to get a listing of all possible check-in ** names. There are countless variations on check-in names and it is ** impractical to list them all. But all other directories are searchable ** and so the "ls" command will work everywhere else in the fusefs ** file hierarchy. ** ** The FuseFS typically only works on Linux, and then only on Linux ** systems that have the right kernel drivers and have installed the ** appropriate support libraries. ** ** After stopping the "fossil fusefs" command, it might also be necessary ** to run "fusermount -u DIRECTORY" to reset the FuseFS before using it ** again. */ void fusefs_cmd(void){ |
︙ | ︙ |
Changes to src/info.c.
︙ | ︙ | |||
1425 1426 1427 1428 1429 1430 1431 | /* ** WEBPAGE: fdiff ** URL: fdiff?v1=UUID&v2=UUID&patch&sbs=BOOLEAN®ex=REGEX ** ** Two arguments, v1 and v2, identify the files to be diffed. Show the ** difference between the two artifacts. Show diff side by side unless sbs | | > | 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 | /* ** WEBPAGE: fdiff ** URL: fdiff?v1=UUID&v2=UUID&patch&sbs=BOOLEAN®ex=REGEX ** ** Two arguments, v1 and v2, identify the files to be diffed. Show the ** difference between the two artifacts. Show diff side by side unless sbs ** is 0. Generate plain text if "patch" is present, otherwise generate ** "pretty" HTML. ** ** Additional parameters: ** ** verbose Show more detail when describing artifacts ** dc=N Show N lines of context around each diff ** w Ignore whitespace */ |
︙ | ︙ | |||
1813 1814 1815 1816 1817 1818 1819 | ** URL: /whatis/SHA1HASH ** ** Additional query parameters: ** ** ln - show line numbers ** ln=N - highlight line number N ** ln=M-N - highlight lines M through N inclusive | | | 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 | ** URL: /whatis/SHA1HASH ** ** Additional query parameters: ** ** ln - show line numbers ** ln=N - highlight line number N ** ln=M-N - highlight lines M through N inclusive ** ln=M-N+Y-Z - highlight lines M through N and Y through Z (inclusive) ** verbose - show more detail in the description ** download - redirect to the download (artifact page only) ** ** The /artifact page show the complete content of a file ** identified by SHA1HASH as preformatted text. The ** /whatis page shows only a description of the file. */ |
︙ | ︙ |
Changes to src/main.c.
︙ | ︙ | |||
1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 | }else{ putchar(*z); z++; } } putchar('\n'); } /* ** WEBPAGE: help ** URL: /help?name=CMD ** ** Show the built-in help text for CMD. CMD can be a command-line interface ** command or a page name from the web interface. | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 | }else{ putchar(*z); z++; } } putchar('\n'); } /* ** COMMAND: test-all-help ** %fossil test-all-help ?OPTIONS? ** ** Show help text for commands and pages. Useful for proof-reading. ** Defaults to just the CLI commands. Specify --www to see only the web ** pages, or --everything to see both commands and pages. ** ** Options: ** -e|--everything Show all commands and pages. ** -t|--test Include test- commands ** -w|--www Show WWW pages. */ void test_all_help_cmd(void){ int i; int mask = CMDFLAG_1ST_TIER | CMDFLAG_2ND_TIER; if( find_option("www","w",0) ){ mask = CMDFLAG_WEBPAGE; } if( find_option("everything","e",0) ){ mask = CMDFLAG_1ST_TIER | CMDFLAG_2ND_TIER | CMDFLAG_WEBPAGE; } if( find_option("test","t",0) ){ mask |= CMDFLAG_TEST; } fossil_print("Help text for:\n"); if( mask & CMDFLAG_1ST_TIER ) fossil_print(" * Commands\n"); if( mask & CMDFLAG_2ND_TIER ) fossil_print(" * Auxiliary commands\n"); if( mask & CMDFLAG_TEST ) fossil_print(" * Test commands\n"); if( mask & CMDFLAG_WEBPAGE ) fossil_print(" * Web pages\n"); fossil_print("---\n"); for(i=0; i<count(aCommand); i++){ if( (aCommand[i].cmdFlags & mask)==0 ) continue; fossil_print("# %s\n", aCommand[i].zName); fossil_print("%s\n\n", aCmdHelp[i].zText); } fossil_print("---\n"); version_cmd(); } /* ** WEBPAGE: help ** URL: /help?name=CMD ** ** Show the built-in help text for CMD. CMD can be a command-line interface ** command or a page name from the web interface. |
︙ | ︙ | |||
2617 2618 2619 2620 2621 2622 2623 | win32_http_server(iPort, mxPort, zBrowserCmd, zStopperFile, zNotFound, zFileGlob, zIpAddr, flags); } #endif } /* | | | 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 | win32_http_server(iPort, mxPort, zBrowserCmd, zStopperFile, zNotFound, zFileGlob, zIpAddr, flags); } #endif } /* ** COMMAND: test-echo ** ** Usage: %fossil test-echo [--hex] ARGS... ** ** Echo all command-line arguments (enclosed in [...]) to the screen so that ** wildcard expansion behavior of the host shell can be investigated. ** ** With the --hex option, show the output as hexadecimal. This can be used |
︙ | ︙ |
Changes to src/merge3.c.
︙ | ︙ | |||
338 339 340 341 342 343 344 | blob_read_from_file(&file, zFullpath); rc = contains_merge_marker(&file); blob_reset(&file); return rc; } /* | | | 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 | blob_read_from_file(&file, zFullpath); rc = contains_merge_marker(&file); blob_reset(&file); return rc; } /* ** COMMAND: 3-way-merge* ** ** Usage: %fossil 3-way-merge BASELINE V1 V2 MERGED ** ** Inputs are files BASELINE, V1, and V2. The file MERGED is generated ** as output. ** ** BASELINE is a common ancestor of two files V1 and V2 that have diverging |
︙ | ︙ |
Changes to src/name.c.
︙ | ︙ | |||
369 370 371 372 373 374 375 | ); if( c<2 ) c = 0; } return c; } /* | | | 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 | ); if( c<2 ) c = 0; } return c; } /* ** COMMAND: test-name-to-id ** ** Convert a name to a full artifact ID. */ void test_name_to_id(void){ int i; Blob name; db_must_be_within_tree(); |
︙ | ︙ |
Changes to src/path.c.
︙ | ︙ | |||
193 194 195 196 197 198 199 | int i; if( path.nStep<2 ) return 0; for(p=path.pEnd, i=0; p && i<path.nStep/2; p=p->pFrom, i++){} return p; } /* | | | 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 | int i; if( path.nStep<2 ) return 0; for(p=path.pEnd, i=0; p && i<path.nStep/2; p=p->pFrom, i++){} return p; } /* ** COMMAND: test-shortest-path ** ** Usage: %fossil test-shortest-path ?--no-merge? VERSION1 VERSION2 ** ** Report the shortest path between two check-ins. If the --no-merge flag ** is used, follow only direct parent-child paths and omit merge links. */ void shortest_path_test_cmd(void){ |
︙ | ︙ | |||
299 300 301 302 303 304 305 | } db_finalize(&s); path_reset(); return 0; } /* | | | 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 | } db_finalize(&s); path_reset(); return 0; } /* ** COMMAND: test-ancestor-path ** ** Usage: %fossil test-ancestor-path VERSION1 VERSION2 ** ** Report the path from VERSION1 to VERSION2 through their most recent ** common ancestor. */ void ancestor_path_test_cmd(void){ |
︙ | ︙ |
Changes to src/pivot.c.
︙ | ︙ | |||
145 146 147 148 149 150 151 | db_finalize(&q2); db_finalize(&i1); db_finalize(&u1); return rid; } /* | | | 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 | db_finalize(&q2); db_finalize(&i1); db_finalize(&u1); return rid; } /* ** COMMAND: test-find-pivot ** ** Test the pivot_find() procedure. */ void test_find_pivot(void){ int i, rid; if( g.argc<4 ){ usage("PRIMARY SECONDARY ..."); |
︙ | ︙ |
Changes to src/purge.c.
︙ | ︙ | |||
435 436 437 438 439 440 441 | ** Write the content of one or more artifacts in the graveyard onto ** standard output. ** ** fossil purge ?checkins? TAGS... ?OPTIONS? ** ** Move the check-ins identified by TAGS and all of their descendants ** out of the repository and into the graveyard. The "checkins" | | | | 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 | ** Write the content of one or more artifacts in the graveyard onto ** standard output. ** ** fossil purge ?checkins? TAGS... ?OPTIONS? ** ** Move the check-ins identified by TAGS and all of their descendants ** out of the repository and into the graveyard. The "checkins" ** subcommand keyword is optional and can be omitted as long as TAGS ** does not conflict with any other subcommand. ** ** If TAGS includes a branch name then it means all the check-ins ** on the most recent occurrance of that branch. ** ** --explain Make no changes, but show what would happen. ** --dry-run Make no changes. ** ** fossil purge list|ls ?-l? ** |
︙ | ︙ |
Changes to src/rebuild.c.
︙ | ︙ | |||
680 681 682 683 684 685 686 | if( k>0 ) subtotal += g.parseCnt[k]; } fossil_print("%-15s %6d\n", "Other:", g.parseCnt[CFTYPE_ANY] - subtotal); } } /* | | | | 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 | if( k>0 ) subtotal += g.parseCnt[k]; } fossil_print("%-15s %6d\n", "Other:", g.parseCnt[CFTYPE_ANY] - subtotal); } } /* ** COMMAND: test-detach ?REPOSITORY? ** ** Change the project-code and make other changes in order to prevent ** the repository from ever again pushing or pulling to other ** repositories. Used to create a "test" repository for development ** testing by cloning a working project repository. */ void test_detach_cmd(void){ db_find_and_open_repository(0, 2); db_begin_transaction(); db_multi_exec( "DELETE FROM config WHERE name='last-sync-url';" "UPDATE config SET value=lower(hex(randomblob(20)))" " WHERE name='project-code';" "UPDATE config SET value='detached-' || value" " WHERE name='project-name' AND value NOT GLOB 'detached-*';" ); db_end_transaction(0); } /* ** COMMAND: test-create-clusters ** ** Create clusters for all unclustered artifacts if the number of unclustered ** artifacts exceeds the current clustering threshold. */ void test_createcluster_cmd(void){ if( g.argc==3 ){ db_open_repository(g.argv[2]); |
︙ | ︙ |
Changes to src/search.c.
︙ | ︙ | |||
516 517 518 519 520 521 522 | /* ** Testing the search function. ** ** COMMAND: search* ** %fossil search [-all|-a] [-limit|-n #] [-width|-W #] pattern... ** | | | | | < | | | | | > > > > > > | 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 | /* ** Testing the search function. ** ** COMMAND: search* ** %fossil search [-all|-a] [-limit|-n #] [-width|-W #] pattern... ** ** Search for timeline entries matching all words provided on the ** command line. Whole-word matches scope more highly than partial ** matches. ** ** Outputs, by default, some top-N fraction of the results. The -all ** option can be used to output all matches, regardless of their search ** score. The -limit option can be used to limit the number of entries ** returned. The -width option can be used to set the output width used ** when printing matches. ** ** Options: ** ** -a|--all Output all matches, not just best matches. ** -n|--limit N Limit output to N matches. ** -W|--width WIDTH Set display width to WIDTH columns, 0 for ** unlimited. Defaults the terminal's width. */ void search_cmd(void){ Blob pattern; int i; Blob sql = empty_blob; Stmt q; int iBest; |
︙ | ︙ |
Changes to src/setup.c.
︙ | ︙ | |||
1431 1432 1433 1434 1435 1436 1437 | db_end_transaction(0); style_footer(); } /* ** WEBPAGE: setup_settings ** | | | 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 | db_end_transaction(0); style_footer(); } /* ** WEBPAGE: setup_settings ** ** Change or view miscellaneous settings. Part of the ** Admin pages requiring Admin privileges. */ void setup_settings(void){ Setting const *pSet; login_check_credentials(); if( !g.perm.Setup ){ |
︙ | ︙ |
Changes to src/sitemap.c.
︙ | ︙ | |||
18 19 20 21 22 23 24 | ** This file contains code to implement the sitemap webpage. */ #include "config.h" #include "sitemap.h" #include <assert.h> /* | | | | 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | ** This file contains code to implement the sitemap webpage. */ #include "config.h" #include "sitemap.h" #include <assert.h> /* ** WEBPAGE: sitemap ** ** List some of the web pages offered by the Fossil web engine. This ** page is intended as a supplement to the menu bar on the main screen. ** That is, this page is designed to hold links that are omitted from ** the main menu due to lack of space. */ void sitemap_page(void){ int srchFlags; login_check_credentials(); srchFlags = search_restrict(SRCH_ALL); |
︙ | ︙ |
Changes to src/sqlcmd.c.
︙ | ︙ | |||
186 187 188 189 190 191 192 | ** name X. ** ** now() Return the number of seconds since 1970. ** ** REGEXP The REGEXP operator works, unlike in ** standard SQLite. ** | | | 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 | ** name X. ** ** now() Return the number of seconds since 1970. ** ** REGEXP The REGEXP operator works, unlike in ** standard SQLite. ** ** files_of_checkin The "files_of_checkin" virtual table is ** available for decoding manifests. ** ** Usage example for files_of_checkin: ** ** CREATE VIRTUAL TABLE temp.foci USING files_of_checkin; ** SELECT * FROM foci WHERE checkinID=symbolic_name_to_rid('trunk'); */ |
︙ | ︙ |
Changes to src/sync.c.
︙ | ︙ | |||
249 250 251 252 253 254 255 | /* ** COMMAND: sync ** ** Usage: %fossil sync ?URL? ?options? ** | | | | | 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 | /* ** COMMAND: sync ** ** Usage: %fossil sync ?URL? ?options? ** ** Synchronize all sharable changes between the local repository and a a ** remote repository. Sharable changes include public check-ins and ** edits to wiki pages, tickets, and technical notes. ** ** If URL is not specified, then the URL from the most recent clone, push, ** pull, remote-url, or sync command is used. See "fossil help clone" for ** details on the URL formats. ** ** Options: ** |
︙ | ︙ |
Changes to src/tag.c.
︙ | ︙ | |||
333 334 335 336 337 338 339 | assert( blob_is_reset(&ctrl) ); } /* ** COMMAND: tag ** Usage: %fossil tag SUBCOMMAND ... ** | | | > > > > > > > > > > | > > > > > | 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 | assert( blob_is_reset(&ctrl) ); } /* ** COMMAND: tag ** Usage: %fossil tag SUBCOMMAND ... ** ** Run various subcommands to control tags and properties. ** ** %fossil tag add ?OPTIONS? TAGNAME CHECK-IN ?VALUE? ** ** Add a new tag or property to CHECK-IN. The tag will ** be usable instead of a CHECK-IN in commands such as ** update and merge. If the --propagate flag is present, ** the tag value propagates to all descendants of CHECK-IN ** ** Options: ** --raw Raw tag name. ** --propagate Propagating tag. ** --date-override DATETIME Set date and time added. ** --user-override USER Name USER when adding the tag. ** ** The --date-override and --user-override options support ** importing history from other SCM systems. DATETIME has ** the form 'YYYY-MMM-DD HH:MM:SS'. ** ** %fossil tag cancel ?--raw? TAGNAME CHECK-IN ** ** Remove the tag TAGNAME from CHECK-IN, and also remove ** the propagation of the tag to any descendants. ** ** %fossil tag find ?OPTIONS? TAGNAME ** ** List all objects that use TAGNAME. TYPE can be "ci" for ** check-ins or "e" for events. The limit option limits the number ** of results to the given value. ** ** Options: ** --raw Raw tag name. ** -t|--type TYPE One of "ci", or "e". ** -n|--limit N Limit to N results. ** ** %fossil tag list|ls ?--raw? ?CHECK-IN? ** ** List all tags, or if CHECK-IN is supplied, list ** all tags and their values for CHECK-IN. ** ** The option --raw allows the manipulation of all types of tags |
︙ | ︙ | |||
377 378 379 380 381 382 383 | ** will be taken as an artifact or baseline ID and fossil will ** probably complain that no such revision was found. However ** ** fossil update tag:decaf ** ** will assume that "decaf" is a tag/branch name. ** | < < < < | 392 393 394 395 396 397 398 399 400 401 402 403 404 405 | ** will be taken as an artifact or baseline ID and fossil will ** probably complain that no such revision was found. However ** ** fossil update tag:decaf ** ** will assume that "decaf" is a tag/branch name. ** */ void tag_cmd(void){ int n; int fRaw = find_option("raw","",0)!=0; int fPropagate = find_option("propagate","",0)!=0; const char *zPrefix = fRaw ? "" : "sym-"; const char *zFindLimit = find_option("limit","n",1); |
︙ | ︙ |
Changes to src/timeline.c.
︙ | ︙ | |||
137 138 139 140 141 142 143 | default: r = mx; g = mn, b = h2; break; } sqlite3_snprintf(8, zColor, "#%02x%02x%02x", r,g,b); return zColor; } /* | | | | 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 | default: r = mx; g = mn, b = h2; break; } sqlite3_snprintf(8, zColor, "#%02x%02x%02x", r,g,b); return zColor; } /* ** COMMAND: test-hash-color ** ** Usage: %fossil test-hash-color TAG ... ** ** Print out the color names associated with each tag. Used for ** testing the hash_color() function. */ void test_hash_color(void){ int i; for(i=2; i<g.argc; i++){ fossil_print("%20s: %s\n", g.argv[i], hash_color(g.argv[i])); } } /* ** WEBPAGE: hash-color-test ** ** Print out the color names associated with each tag. Used for ** testing the hash_color() function. */ void test_hash_color_page(void){ const char *zBr; char zNm[10]; |
︙ | ︙ | |||
1210 1211 1212 1213 1214 1215 1216 | ** f=UUID Show family (immediate parents and children) of UUID ** from=UUID Path from... ** to=UUID ... to this ** shortest ... show only the shortest path ** uf=FUUID Show only check-ins that use given file version ** brbg Background color from branch name ** ubg Background color from user | | | 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 | ** f=UUID Show family (immediate parents and children) of UUID ** from=UUID Path from... ** to=UUID ... to this ** shortest ... show only the shortest path ** uf=FUUID Show only check-ins that use given file version ** brbg Background color from branch name ** ubg Background color from user ** namechng Show only check-ins that have filename changes ** forks Show only forks and their children ** ym=YYYY-MM Show only events for the given year/month. ** ymd=YYYY-MM-DD Show only events on the given day ** datefmt=N Override the date format ** bisect Show the check-ins that are in the current bisect ** ** p= and d= can appear individually or together. If either p= or d= |
︙ | ︙ | |||
2012 2013 2014 2015 2016 2017 2018 | ** before ** after ** descendants | children ** ancestors | parents ** ** The CHECKIN can be any unique prefix of 4 characters or more. ** The DATETIME should be in the ISO8601 format. For | | | 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 | ** before ** after ** descendants | children ** ancestors | parents ** ** The CHECKIN can be any unique prefix of 4 characters or more. ** The DATETIME should be in the ISO8601 format. For ** example: "2007-08-18 07:21:21". You can also say "current" ** for the current version or "now" for the current time. ** ** Options: ** -n|--limit N Output the first N entries (default 20 lines). ** N=0 means no limit. ** -p|--path PATH Output items affecting PATH only. ** PATH can be a file or a sub directory. |
︙ | ︙ |
Changes to src/tkt.c.
︙ | ︙ | |||
1058 1059 1060 1061 1062 1063 1064 | /* ** COMMAND: ticket* ** Usage: %fossil ticket SUBCOMMAND ... ** ** Run various subcommands to control tickets ** | | | | | | | > | | | | | | | | | | | | | | | | | | | | | 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 | /* ** COMMAND: ticket* ** Usage: %fossil ticket SUBCOMMAND ... ** ** Run various subcommands to control tickets ** ** %fossil ticket show (REPORTTITLE|REPORTNR) ?TICKETFILTER? ?OPTIONS? ** ** Options: ** -l|--limit LIMITCHAR ** -q|--quote ** -R|--repository FILE ** ** Run the ticket report, identified by the report format title ** used in the GUI. The data is written as flat file on stdout, ** using TAB as separator. The separator can be changed using ** the -l or --limit option. ** ** If TICKETFILTER is given on the commandline, the query is ** limited with a new WHERE-condition. ** example: Report lists a column # with the uuid ** TICKETFILTER may be [#]='uuuuuuuuu' ** example: Report only lists rows with status not open ** TICKETFILTER: status != 'open' ** ** If --quote is used, the tickets are encoded by quoting special ** chars (space -> \\s, tab -> \\t, newline -> \\n, cr -> \\r, ** formfeed -> \\f, vtab -> \\v, nul -> \\0, \\ -> \\\\). ** Otherwise, the simplified encoding as on the show report raw page ** in the GUI is used. This has no effect in JSON mode. ** ** Instead of the report title it's possible to use the report ** number; the special report number 0 lists all columns defined in ** the ticket table. ** ** %fossil ticket list fields ** %fossil ticket ls fields ** ** List all fields defined for ticket in the fossil repository. ** ** %fossil ticket list reports ** %fossil ticket ls reports ** ** List all ticket reports defined in the fossil repository. ** ** %fossil ticket set TICKETUUID (FIELD VALUE)+ ?-q|--quote? ** %fossil ticket change TICKETUUID (FIELD VALUE)+ ?-q|--quote? ** ** Change ticket identified by TICKETUUID to set the values of ** each field FIELD to VALUE. ** ** Field names as defined in the TICKET table. By default, these ** names include: type, status, subsystem, priority, severity, foundin, ** resolution, title, and comment, but other field names can be added ** or substituted in customized installations. ** ** If you use +FIELD, the VALUE is appended to the field FIELD. You ** can use more than one field/value pair on the commandline. Using ** --quote enables the special character decoding as in "ticket ** show", which allows setting multiline text or text with special ** characters. ** ** %fossil ticket add FIELD VALUE ?FIELD VALUE .. ? ?-q|--quote? ** ** Like set, but create a new ticket with the given values. ** ** %fossil ticket history TICKETUUID ** ** Show the complete change history for the ticket ** ** Note that the values in set|add are not validated against the ** definitions given in "Ticket Common Script". */ void ticket_cmd(void){ int n; const char *zUser; const char *zDate; const char *zTktUuid; |
︙ | ︙ |
Changes to src/tktsetup.c.
︙ | ︙ | |||
275 276 277 278 279 280 281 | */ const char *ticket_change_code(void){ return db_get("ticket-change", zDefaultTicketChange); } /* ** WEBPAGE: tktsetup_change | | | 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 | */ const char *ticket_change_code(void){ return db_get("ticket-change", zDefaultTicketChange); } /* ** WEBPAGE: tktsetup_change ** Administrative screen used to view or edit the TH1 script ** that shows ticket changes. */ void tktsetup_change_page(void){ static const char zDesc[] = @ Enter TH1 script that runs after processing the ticket editing @ and creation pages. ; |
︙ | ︙ |
Changes to src/wiki.c.
︙ | ︙ | |||
1135 1136 1137 1138 1139 1140 1141 | db_end_transaction(0); return 1; } /* ** COMMAND: wiki* ** | | | | | | < | | | | 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 | db_end_transaction(0); return 1; } /* ** COMMAND: wiki* ** ** Usage: %fossil wiki (export|create|commit|list) WikiName ** ** Run various subcommands to work with wiki entries or tech notes. ** ** %fossil wiki export ?PAGENAME? ?FILE? [-t|--technote DATETIME ] ** ** Sends the latest version of either the PAGENAME wiki entry ** or the DATETIME tech note to the given file or standard ** output. One of PAGENAME or DATETIME must be specified. ** ** %fossil wiki (create|commit) PAGENAME ?FILE? ?OPTIONS? ** ** Create a new or commit changes to an existing wiki page or ** technote from FILE or from standard input. ** ** Options: ** -M|--mimetype TEXT-FORMAT The mimetype of the update defaulting ** to the type used by the previous version ** of the page or text/x-fossil-wiki. ** -t|--technote DATETIME Specifies the timestamp of the technote ** to be created or updated. ** --technote-tags TAGS The set of tags for a technote. ** --technote-bgcolor COLOR The color used for the technote on the ** timeline. ** ** %fossil wiki list ?--technote? ** %fossil wiki ls ?--technote? ** ** Lists all wiki entries, one per line, ordered ** case-insensitively by name. The --technote flag ** specifies that technotes will be listed instead of ** the wiki entries, which will be listed in order ** timestamp. ** |
︙ | ︙ |
Changes to src/winhttp.c.
︙ | ︙ | |||
570 571 572 573 574 575 576 | } } return 0; } /* dupe ifdef needed for mkindex ** COMMAND: winsrv* | | | | 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 | } } return 0; } /* dupe ifdef needed for mkindex ** COMMAND: winsrv* ** Usage: %fossil winsrv METHOD ?SERVICE-NAME? ?OPTIONS? ** ** Where METHOD is one of: create delete show start stop. ** ** The winsrv command manages Fossil as a Windows service. This allows ** (for example) Fossil to be running in the background when no user ** is logged in. ** ** In the following description of the methods, "Fossil-DSCM" will be ** used as the default SERVICE-NAME: ** ** %fossil winsrv create ?SERVICE-NAME? ?OPTIONS? ** ** Creates a service. Available options include: ** ** -D|--display DISPLAY-NAME ** ** Sets the display name of the service. This name is shown ** by graphical interface programs. By default, the display name |
︙ | ︙ | |||
654 655 656 657 658 659 660 | ** If REPOSITORY is directory, URL "/" lists all repositories. ** ** --scgi ** ** Create an SCGI server instead of an HTTP server ** ** | | | | | | 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 | ** If REPOSITORY is directory, URL "/" lists all repositories. ** ** --scgi ** ** Create an SCGI server instead of an HTTP server ** ** ** %fossil winsrv delete ?SERVICE-NAME? ** ** Deletes a service. If the service is currently running, it will be ** stopped first and then deleted. ** ** ** %fossil winsrv show ?SERVICE-NAME? ** ** Shows how the service is configured and its current state. ** ** ** %fossil winsrv start ?SERVICE-NAME? ** ** Start the service. ** ** ** %fossil winsrv stop ?SERVICE-NAME? ** ** Stop the service. ** ** ** NOTE: This command is available on Windows operating systems only and ** requires administrative rights on the machine executed. ** |
︙ | ︙ |