Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch html-cleanup Excluding Merge-Ins
This is equivalent to a diff from 5853fcf132 to c6afc979ab
2015-11-17
| ||
19:52 | Revamp the user list setup page. Show the last change time and expiration date for each login. Make the user list sortable using javascript. check-in: 01b1319931 user: drh tags: trunk | |
14:29 | Move the side-bar documentation for the user-list page onto a separate page accessible from the "Help" submen of the user-list page, for improved readability. check-in: 18df719ed5 user: drh tags: user-config-revamp | |
2015-11-16
| ||
03:43 | Restore a comment containing the 'font' tag as it correctly describes the underlying code. Leaf check-in: c6afc979ab user: mistachkin tags: html-cleanup | |
02:42 | Remove deprecated <font> tags. check-in: 46861220d3 user: Isius tags: html-cleanup | |
01:45 | Remove deprecated <center> tags. check-in: d57f239570 user: Isius tags: html-cleanup | |
2015-11-14
| ||
19:03 | Fix a memcmp() that really should be fossil_strcmp(). check-in: 5853fcf132 user: drh tags: trunk | |
16:16 | Enhanced description of how to set up the /proc filesystem inside of a chroot jail. check-in: 28a1da05b1 user: drh tags: trunk | |
Changes to src/report.c.
︙ | ︙ | |||
747 748 749 750 751 752 753 | } ++pState->nCount; /* Output the separator above each entry in a table which has multiple lines ** per database entry. */ if( pState->iNewRow>=0 ){ | | | 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 | } ++pState->nCount; /* Output the separator above each entry in a table which has multiple lines ** per database entry. */ if( pState->iNewRow>=0 ){ @ <tr><td colspan=%d(pState->nCol)> </td></tr> } /* Output the data for this entry from the database */ zBg = pState->iBg>=0 ? azArg[pState->iBg] : 0; if( zBg==0 ) zBg = "white"; @ <tr style="background-color:%h(zBg)"> |
︙ | ︙ |
Changes to src/skins.c.
︙ | ︙ | |||
491 492 493 494 495 496 497 | zCurrent = db_get(zName, 0); db_multi_exec("%s", zCurrent/*safe-for-%s*/); } } style_header("Skins"); if( zErr ){ | | | 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 | zCurrent = db_get(zName, 0); db_multi_exec("%s", zCurrent/*safe-for-%s*/); } } style_header("Skins"); if( zErr ){ @ <p style="color:red">%h(zErr)</p> } @ <p>A "skin" is a combination of @ <a href="setup_skinedit?w=0">CSS</a>, @ <a href="setup_skinedit?w=2">Header</a>, @ <a href="setup_skinedit?w=1">Footer</a>, and @ <a href="setup_skinedit?w=3">Details</a> @ that determines the look and feel |
︙ | ︙ |
Changes to src/stat.c.
︙ | ︙ | |||
410 411 412 413 414 415 416 | "INSERT INTO piechart(amt,label) VALUES(%d,'freelist')", nPageFree ); } fsize = file_size(g.zRepositoryName); approxSizeName(sizeof(zBuf), zBuf, fsize); @ <h2>Repository Size: %s(zBuf)</h2> | | | | 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 | "INSERT INTO piechart(amt,label) VALUES(%d,'freelist')", nPageFree ); } fsize = file_size(g.zRepositoryName); approxSizeName(sizeof(zBuf), zBuf, fsize); @ <h2>Repository Size: %s(zBuf)</h2> @ <svg class="statistics-report-pie-chart" width='800' height='500'> piechart_render(800,500,PIE_OTHER|PIE_PERCENT); @ </svg> if( g.localOpen ){ db_multi_exec( "DROP TABLE temp.dbx;" "CREATE VIRTUAL TABLE temp.dbx USING dbstat(%s);" "DELETE FROM trans;" "INSERT INTO trans(name,tabname)" |
︙ | ︙ | |||
439 440 441 442 443 444 445 | "INSERT INTO piechart(amt,label) VALUES(%d,'freelist')", nPageFree ); } fsize = file_size(g.zLocalDbName); approxSizeName(sizeof(zBuf), zBuf, fsize); @ <h2>%h(file_tail(g.zLocalDbName)) Size: %s(zBuf)</h2> | | | | 439 440 441 442 443 444 445 446 447 448 449 450 451 | "INSERT INTO piechart(amt,label) VALUES(%d,'freelist')", nPageFree ); } fsize = file_size(g.zLocalDbName); approxSizeName(sizeof(zBuf), zBuf, fsize); @ <h2>%h(file_tail(g.zLocalDbName)) Size: %s(zBuf)</h2> @ <svg class="statistics-report-pie-chart" width='800' height='500'> piechart_render(800,500,PIE_OTHER|PIE_PERCENT); @ </svg> } style_footer(); } |
Changes to src/statrep.c.
︙ | ︙ | |||
337 338 339 340 341 342 343 | @ (%s(stats_report_label_for_type())) by User</h1> db_multi_exec( "CREATE TEMP TABLE piechart(amt,label);" "INSERT INTO piechart SELECT count(*), ifnull(euser,user) FROM v_reports" " GROUP BY ifnull(euser,user) ORDER BY count(*) DESC;" ); if( db_int(0, "SELECT count(*) FROM piechart")>=2 ){ | | | > | 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 | @ (%s(stats_report_label_for_type())) by User</h1> db_multi_exec( "CREATE TEMP TABLE piechart(amt,label);" "INSERT INTO piechart SELECT count(*), ifnull(euser,user) FROM v_reports" " GROUP BY ifnull(euser,user) ORDER BY count(*) DESC;" ); if( db_int(0, "SELECT count(*) FROM piechart")>=2 ){ @ <svg class="statistics-report-pie-chart" width=700 height=400> piechart_render(700, 400, PIE_OTHER|PIE_PERCENT); @ </svg> @ <hr/> } @ <table class='statistics-report-table-events' border='0' @ cellpadding='2' cellspacing='0' id='statsTable'> @ <thead><tr> @ <th>User</th> @ <th>Events</th> @ <th width='90%%'><!-- relative commits graph --></th> |
︙ | ︙ | |||
496 497 498 499 500 501 502 | " WHEN 3 THEN 'Wednesday'" " WHEN 4 THEN 'Thursday'" " WHEN 5 THEN 'Friday'" " WHEN 6 THEN 'Saturday'" " ELSE 'ERROR' END;", zUserName ); if( db_int(0, "SELECT count(*) FROM piechart")>=2 ){ | | | > | 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 | " WHEN 3 THEN 'Wednesday'" " WHEN 4 THEN 'Thursday'" " WHEN 5 THEN 'Friday'" " WHEN 6 THEN 'Saturday'" " ELSE 'ERROR' END;", zUserName ); if( db_int(0, "SELECT count(*) FROM piechart")>=2 ){ @ <svg class="statistics-report-pie-chart" width=700 height=400> piechart_render(700, 400, PIE_OTHER|PIE_PERCENT); @ </svg> @ <hr/> } @ <table class='statistics-report-table-events' border='0' @ cellpadding='2' cellspacing='0' id='statsTable'> @ <thead><tr> @ <th>DoW</th> @ <th>Day</th> @ <th>Events</th> |
︙ | ︙ |
Changes to src/style.c.
︙ | ︙ | |||
1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 | @ color: red; }, { "table.label-value th", "The label/value pairs on (for example) the ci page", @ vertical-align: top; @ text-align: right; @ padding: 0.2ex 2ex; }, { ".statistics-report-graph-line", "for the /reports views", @ background-color: #446979; }, { ".statistics-report-table-events th", "", | > > > > > | 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 | @ color: red; }, { "table.label-value th", "The label/value pairs on (for example) the ci page", @ vertical-align: top; @ text-align: right; @ padding: 0.2ex 2ex; }, { ".statistics-report-pie-chart", "for the /reports pie chart", @ display: block; @ margin: auto; }, { ".statistics-report-graph-line", "for the /reports views", @ background-color: #446979; }, { ".statistics-report-table-events th", "", |
︙ | ︙ | |||
1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 | @ content: '\2191'; }, { "span.snippet>mark", "Search markup", @ background-color: inherit; @ font-weight: bold; }, { "div.searchForm", "Container for the search terms entry box", @ text-align: center; }, { "p.searchEmpty", "Message explaining that there are no search results", @ font-style: italic; | > > > > > | 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 | @ content: '\2191'; }, { "span.snippet>mark", "Search markup", @ background-color: inherit; @ font-weight: bold; }, { ".search", "Search form", @ display: block; @ margin: auto; }, { "div.searchForm", "Container for the search terms entry box", @ text-align: center; }, { "p.searchEmpty", "Message explaining that there are no search results", @ font-style: italic; |
︙ | ︙ |
Changes to src/tkt.c.
︙ | ︙ | |||
421 422 423 424 425 426 427 | /* ** For trouble-shooting purposes, render a dump of the aField[] table to ** the webpage currently under construction. */ static void showAllFields(void){ int i; | | | 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 | /* ** For trouble-shooting purposes, render a dump of the aField[] table to ** the webpage currently under construction. */ static void showAllFields(void){ int i; @ <div style="color:blue"> @ <p>Database fields:</p><ul> for(i=0; i<nField; i++){ @ <li>aField[%d(i)].zName = "%h(aField[i].zName)"; @ originally = "%h(aField[i].zValue)"; @ currently = "%h(PD(aField[i].zName,""))"; if( aField[i].zAppend ){ @ zAppend = "%h(aField[i].zAppend)"; |
︙ | ︙ | |||
650 651 652 653 654 655 656 | blob_reset(&tktchng); return TH_OK; } needMod = ticket_need_moderation(0); if( g.zPath[0]=='d' ){ const char *zNeedMod = needMod ? "required" : "skipped"; /* If called from /debug_tktnew or /debug_tktedit... */ | | > | | 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 | blob_reset(&tktchng); return TH_OK; } needMod = ticket_need_moderation(0); if( g.zPath[0]=='d' ){ const char *zNeedMod = needMod ? "required" : "skipped"; /* If called from /debug_tktnew or /debug_tktedit... */ @ <div style="color:blue"> @ <p>Ticket artifact that would have been submitted:</p> @ <blockquote><pre>%h(blob_str(&tktchng))</pre></blockquote> @ <blockquote><pre>Moderation would be %h(zNeedMod).</pre></blockquote> @ </div> @ <hr> return TH_OK; }else{ if( g.thTrace ){ Th_Trace("submit_ticket {\n<blockquote><pre>\n%h\n</pre></blockquote>\n" "}<br />\n", blob_str(&tktchng)); } |
︙ | ︙ |
Changes to src/user.c.
︙ | ︙ | |||
470 471 472 473 474 475 476 | blob_append_sql(&sql," ORDER BY rowid DESC LIMIT %d OFFSET %d", n+1, skip); if( skip ){ style_submenu_element("Newer", "Newer entries", "%s/access_log?o=%d&n=%d&y=%d", g.zTop, skip>=n ? skip-n : 0, n, y); } rc = db_prepare_ignore_error(&q, "%s", blob_sql_text(&sql)); | | | 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 | blob_append_sql(&sql," ORDER BY rowid DESC LIMIT %d OFFSET %d", n+1, skip); if( skip ){ style_submenu_element("Newer", "Newer entries", "%s/access_log?o=%d&n=%d&y=%d", g.zTop, skip>=n ? skip-n : 0, n, y); } rc = db_prepare_ignore_error(&q, "%s", blob_sql_text(&sql)); @ <table border="1" cellpadding="5" id="logtable" align="center"> @ <thead><tr><th width="33%%">Date</th><th width="34%%">User</th> @ <th width="33%%">IP Address</th></tr></thead><tbody> while( rc==SQLITE_OK && db_step(&q)==SQLITE_ROW ){ const char *zName = db_column_text(&q, 0); const char *zIP = db_column_text(&q, 1); const char *zDate = db_column_text(&q, 2); int bSuccess = db_column_int(&q, 3); |
︙ | ︙ | |||
495 496 497 498 499 500 501 | } @ <td>%s(zDate)</td><td>%h(zName)</td><td>%h(zIP)</td></tr> } if( skip>0 || cnt>n ){ style_submenu_element("All", "All entries", "%s/access_log?n=10000000", g.zTop); } | | | 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 | } @ <td>%s(zDate)</td><td>%h(zName)</td><td>%h(zIP)</td></tr> } if( skip>0 || cnt>n ){ style_submenu_element("All", "All entries", "%s/access_log?n=10000000", g.zTop); } @ </tbody></table> db_finalize(&q); @ <hr> @ <form method="post" action="%s(g.zTop)/access_log"> @ <label><input type="checkbox" name="delold"> @ Delete all but the most recent 200 entries</input></label> @ <input type="submit" name="deloldbtn" value="Delete"></input> @ </form> |
︙ | ︙ |
Changes to src/wikiformat.c.
︙ | ︙ | |||
1994 1995 1996 1997 1998 1999 2000 | /* ** Attempt to reformat messy HTML to be easily readable by humans. ** ** * Try to keep lines less than 80 characters in length ** * Collapse white space into a single space ** * Put a blank line before: | | | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 | /* ** Attempt to reformat messy HTML to be easily readable by humans. ** ** * Try to keep lines less than 80 characters in length ** * Collapse white space into a single space ** * Put a blank line before: ** <blockquote><code><hN><p><pre><table> ** * Put a newline after <br> and <hr> ** * Start each of the following elements on a new line: ** <address><cite><dd><div><dl><dt><li><ol><samp> ** <tbody><td><tfoot><th><thead><tr><ul> ** ** Except, do not do any reformatting inside of <pre>...</pre> */ |
︙ | ︙ |
Changes to www/branching.wiki.
1 2 3 4 5 6 | <title>Branching, Forking, Merging, and Tagging</title> <h2>Background</h2> In a simple and perfect world, the development of a project would proceed linearly, as shown in figure 1. | > | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <title>Branching, Forking, Merging, and Tagging</title> <style>table { margin: auto }</style> <h2>Background</h2> In a simple and perfect world, the development of a project would proceed linearly, as shown in figure 1. <table border=1 cellpadding=10 hspace=10 vspace=10> <tr><td align="center"> <img src="branch01.gif" width=280 height=68><br> Figure 1 </td></tr></table> Each circle represents a check-in. For the sake of clarity, the check-ins are given small consecutive numbers. In a real system, of course, the check-in numbers would be 40-character SHA1 hashes since it is not possible to allocate collision-free sequential numbers in a distributed system. But as sequential numbers are easier to read, we will substitute them for the 40-character SHA1 hashes in this document. |
︙ | ︙ | |||
36 37 38 39 40 41 42 | it has no descendants. (We will give a more precise definition later of "leaf.") Alas, reality often interferes with the simple linear development of a project. Suppose two programmers make independent modifications to check-in 2. After both changes are committed, the check-in graph looks like figure 2: | | | | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | it has no descendants. (We will give a more precise definition later of "leaf.") Alas, reality often interferes with the simple linear development of a project. Suppose two programmers make independent modifications to check-in 2. After both changes are committed, the check-in graph looks like figure 2: <table border=1 cellpadding=10 hspace=10 vspace=10> <tr><td align="center"> <img src="branch02.gif" width=210 height=140><br> Figure 2 </td></tr></table> The graph in figure 2 has two leaves: check-ins 3 and 4. Check-in 2 has two children, check-ins 3 and 4. We call this state a <i>fork</i>. Fossil tries to prevent forks. Suppose two programmers named Alice and Bob are each editing check-in 2 separately. Alice finishes her edits first and commits her changes, resulting in check-in 3. Later, when Bob |
︙ | ︙ | |||
75 76 77 78 79 80 81 | graphs with a single leaf. To resolve this situation, Alice can use the fossil <b>merge</b> command to merge in Bob's changes in her local copy of check-in 3. Then she can commit the results as check-in 5. This results in a DAG as shown in figure 3. | | | | 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | graphs with a single leaf. To resolve this situation, Alice can use the fossil <b>merge</b> command to merge in Bob's changes in her local copy of check-in 3. Then she can commit the results as check-in 5. This results in a DAG as shown in figure 3. <table border=1 cellpadding=10 hspace=10 vspace=10> <tr><td align="center"> <img src="branch03.gif" width=282 height=152><br> Figure 3 </td></tr></table> Check-in 5 is a child of check-in 3 because it was created by editing check-in 3. But check-in 5 also inherits the changes from check-in 4 by virtue of the merge. So we say that check-in 5 is a <i>merge child</i> of check-in 4 and that it is a <i>direct child</i> of check-in 3. The graph is now back to a single leaf (check-in 5). |
︙ | ︙ | |||
122 123 124 125 126 127 128 | development and another leaf that is the latest version that has been tested. When multiple leaves are desirable, we call this <i>branching</i> instead of <i>forking</i>. Figure 4 shows an example of a project where there are two branches, one for development work and another for testing. | | | | 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | development and another leaf that is the latest version that has been tested. When multiple leaves are desirable, we call this <i>branching</i> instead of <i>forking</i>. Figure 4 shows an example of a project where there are two branches, one for development work and another for testing. <table border=1 cellpadding=10 hspace=10 vspace=10> <tr><td align="center"> <img src="branch04.gif" width=426 height=123><br> Figure 4 </td></tr></table> The hypothetical scenario of figure 4 is this: The project starts and progresses to a point where (at check-in 2) it is ready to enter testing for its first release. In a real project, of course, there might be hundreds or thousands of check-ins before a project reaches this point, but for simplicity of presentation we will say that the project is ready after check-in 2. |
︙ | ︙ | |||
162 163 164 165 166 167 168 | <a name="tags"></a> <h2>Tags And Properties</h2> Tags and properties are used in fossil to help express the intent, and thus to distinguish between forks and branches. Figure 5 shows the same scenario as figure 4 but with tags and properties added: | | | | 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | <a name="tags"></a> <h2>Tags And Properties</h2> Tags and properties are used in fossil to help express the intent, and thus to distinguish between forks and branches. Figure 5 shows the same scenario as figure 4 but with tags and properties added: <table border=1 cellpadding=10 hspace=10 vspace=10> <tr><td align="center"> <img src="branch05.gif" width=485 height=177><br> Figure 5 </td></tr></table> A <i>tag</i> is a name that is attached to a check-in. A <i>property</i> is a name/value pair. Internally, fossil implements tags as properties with a NULL value. So, tags and properties really are much the same thing, and henceforth we will use the word "tag" to mean either a tag or a property. |
︙ | ︙ |
Changes to www/copyright-release.html.
︙ | ︙ | |||
72 73 74 75 76 77 78 | </ul> </ol> <p>By filling in the following information and signing your name, you agree to be bound by all of the terms set forth in this agreement. Please print clearly.</p> | < | < | 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | </ul> </ol> <p>By filling in the following information and signing your name, you agree to be bound by all of the terms set forth in this agreement. Please print clearly.</p> <table width="80%" border="1" cellpadding="0" cellspacing="0" align="center"> <tr><td width="20%" valign="top">Your name & email:</td><td width="80%"> <!-- Replace this line with your name and email --> <p> </td></tr> <tr><td valign="top">Company name:<br>(if applicable)</td><td> <!-- Replace this line with your company name --> <p> </td></tr> <tr><td valign="top">Postal address:</td><td> <!-- Replace this line and the next line with your postal address --> <p> </p><p> </p><p> </p> </td></tr> <tr><td valign="top">Signature:</td><td> <p> </td></tr> <tr><td valign="top">Date:</td><td> <p> </td></tr> </table> <p>Send completed forms to: <blockquote> Hipp, Wyrick & Company, Inc.<br> 6200 Maple Cove Lane<br> Charlotte, NC 28269-1086<br> USA </p> |
Changes to www/fossil-v-git.wiki.
︙ | ︙ | |||
12 13 14 15 16 17 18 | Keep in mind that you are reading this on a Fossil website, so the information here might be biased in favor of Fossil. Ask around with people who have used both Fossil and Git for other opinions. <h2>2.0 Executive Summary:</h2> | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | Keep in mind that you are reading this on a Fossil website, so the information here might be biased in favor of Fossil. Ask around with people who have used both Fossil and Git for other opinions. <h2>2.0 Executive Summary:</h2> <blockquote><table border=1 cellpadding=5 align=center> <tr><th width="50%">GIT</th><th width="50%">FOSSIL</th></tr> <tr><td>File versioning only</td> <td>Versioning, Tickets, Wiki, and Technotes</td></tr> <tr><td>Sharding</td><td>Replicating</td></tr> <tr><td>Developer branches</td><td>Feature branches</td></tr> <tr><td>Complex</td><td>Intuitive</td></tr> <tr><td>Separate web tools</td><td>Integrated Web interface</td></tr> <tr><td>Lots of little tools</td><td>Single executable</td></tr> <tr><td>Pile-of-files repository</td> <td>Single-file relational database</td></tr> <tr><td>One check-out per repository</td> <td>Many check-outs per repository</td></tr> <tr><td>Uses "<tt>rebase</tt>"</td><td>Immutable</td></tr> <tr><td>GPL</td><td>BSD</td></tr> </table></blockquote> <h2>3.0 Discussion</h2> <h3>3.1 Feature Set</h3> Git provides file versioning services only, whereas Fossil adds an integrated [./wikitheory.wiki | wiki], |
︙ | ︙ |
Changes to www/index.wiki.
︙ | ︙ | |||
16 17 18 19 20 21 22 | <li> [http://www.fossil-scm.org/schimpf-book/home | Jim Schimpf's book] <li> Mailing list <ul> <li> [http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/fossil-users | sign-up] <li> [http://www.mail-archive.com/fossil-users@lists.fossil-scm.org | archives] </ul> </ul> | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <li> [http://www.fossil-scm.org/schimpf-book/home | Jim Schimpf's book] <li> Mailing list <ul> <li> [http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/fossil-users | sign-up] <li> [http://www.mail-archive.com/fossil-users@lists.fossil-scm.org | archives] </ul> </ul> <img src="fossil3.gif" style="margin:auto"> </div> <p>Fossil is a simple, high-reliability, distributed software configuration management system with these advanced features: 1. <b>Integrated Bug Tracking, Wiki, and Technotes</b> - In addition to doing [./concepts.wiki | distributed version control] |
︙ | ︙ |
Changes to www/mkdownload.tcl.
︙ | ︙ | |||
29 30 31 32 33 34 35 | <a href='/fossil/doc/trunk/www/permutedindex.html'>Docs</a> <a href='/fossil/brlist'>Branches</a> <a href='/fossil/ticket'>Tickets</a> <a href='/fossil/wiki'>Wiki</a> <a href='/download.html' class='active'>Download</a> </div> <div class="content"> | < | < | > | < | | | | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 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 72 73 | <a href='/fossil/doc/trunk/www/permutedindex.html'>Docs</a> <a href='/fossil/brlist'>Branches</a> <a href='/fossil/ticket'>Tickets</a> <a href='/fossil/wiki'>Wiki</a> <a href='/download.html' class='active'>Download</a> </div> <div class="content"> <p style="font-size:1.2em; text-align:center">} puts $out \ "<b>To install Fossil →</b> download the stand-alone executable" puts $out \ {and put it on your $PATH. </p> <p style="text-align:center"> RPMs available <a href="http://download.opensuse.org/repositories/home:/rmax:/fossil/"> here.</a> Cryptographic checksums for download files are <a href="http://www.hwaci.com/fossil_download_checksums.html">here</a>. </p> <hr> <table cellpadding="10"> } # Find all all unique timestamps. # foreach file [glob -nocomplain download/fossil-*.zip] { if {[regexp -- {-(\d\.\d+).zip$} $file all version]} { set avers($version) 1 } } # Do all versions from newest to oldest # foreach vers [lsort -decr -real [array names avers]] { set hr "/fossil/timeline?c=version-$vers;y=ci" puts $out "<tr><td colspan=6 align=center>" puts $out "<b><a href=\"$hr\">Version $vers</a></b>" puts $out "</td></tr>" puts $out "<tr>" foreach {prefix suffix img desc} { fossil-linux-x86 zip linux.gif {Linux 3.x x86} fossil-macosx-x86 zip mac.gif {Mac 10.x x86} fossil-openbsd-x86 zip openbsd.gif {OpenBSD 5.x x86} |
︙ | ︙ |
Changes to www/mkindex.tcl.
︙ | ︙ | |||
83 84 85 86 87 88 89 | } set permindex [lsort -dict -index 0 $permindex] set out [open permutedindex.html w] fconfigure $out -encoding utf-8 -translation lf puts $out \ "<div class='fossil-doc' data-title='Index Of Fossil Documentation'>" puts $out { | < | < | 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | } set permindex [lsort -dict -index 0 $permindex] set out [open permutedindex.html w] fconfigure $out -encoding utf-8 -translation lf puts $out \ "<div class='fossil-doc' data-title='Index Of Fossil Documentation'>" puts $out { <form class="search" action='../../../docsrch' method='GET'> <input type="text" name="s" size="40" autofocus> <input type="submit" value="Search Docs"> </form> <h2>Primary Documents:</h2> <ul> <li> <a href='quickstart.wiki'>Quick-start Guide</a> <li> <a href='faq.wiki'>FAQ</a> <li> <a href='build.wiki'>Compiling and installing Fossil</a> <li> <a href='../COPYRIGHT-BSD2.txt'>License</a> <li> <a href='http://www.fossil-scm.org/schimpf-book/home'>Jim Schimpf's |
︙ | ︙ |
Changes to www/password.wiki.
︙ | ︙ | |||
131 132 133 134 135 136 137 | will work for both older and newer clients. If the USER.PW on the server only holds the SHA1 hash of the password, then only newer clients will be able to authenticate to the server. The client normally gets the login and password from the "remote URL". <blockquote><pre> | | | | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | will work for both older and newer clients. If the USER.PW on the server only holds the SHA1 hash of the password, then only newer clients will be able to authenticate to the server. The client normally gets the login and password from the "remote URL". <blockquote><pre> http://<span style="color:blue">login:password</span>@servername.org/path </pre></blockquote> For older clients, the password is used for the shared secret as stated in the URL and with no encoding. For newer clients, the shared secret is derived from the password by transformed the password using the SHA1 hash encoding described above. However, if the first character of the password is "*" (ASCII 0x2a) then the "*" is skipped and the rest of the password is used directly as the share secret without the SHA1 encoding. <blockquote><pre> http://<span style="color:blue">login:*password</span>@servername.org/path </pre></blockquote> This *-before-the-password trick can be used by newer clients to sync against a legacy server that does not understand the new SHA1 password encoding. |
Changes to www/permutedindex.html.
1 2 | <div class='fossil-doc' data-title='Index Of Fossil Documentation'> | < | < | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <div class='fossil-doc' data-title='Index Of Fossil Documentation'> <form class="search" action='../../../docsrch' method='GET'> <input type="text" name="s" size="40" autofocus> <input type="submit" value="Search Docs"> </form> <h2>Primary Documents:</h2> <ul> <li> <a href='quickstart.wiki'>Quick-start Guide</a> <li> <a href='faq.wiki'>FAQ</a> <li> <a href='build.wiki'>Compiling and installing Fossil</a> <li> <a href='../COPYRIGHT-BSD2.txt'>License</a> <li> <a href='http://www.fossil-scm.org/schimpf-book/home'>Jim Schimpf's |
︙ | ︙ |
Changes to www/sync.wiki.
︙ | ︙ | |||
383 384 385 386 387 388 389 | <blockquote> <b>reqconfig</b> <i>configuration-name</i> </blockquote> <p>As of [/timeline?r=trunk&c=2015-03-19+03%3A57%3A46&n=20|2015-03-19], the configuration-name must be one of the following values: | | | 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 | <blockquote> <b>reqconfig</b> <i>configuration-name</i> </blockquote> <p>As of [/timeline?r=trunk&c=2015-03-19+03%3A57%3A46&n=20|2015-03-19], the configuration-name must be one of the following values: <table border=0 align="center"> <tr><td valign="top"> <ul> <li> css <li> header <li> footer <li> logo-mimetype <li> logo-image |
︙ | ︙ | |||
434 435 436 437 438 439 440 | <li> ticket-title-expr <li> ticket-closed-expr <li> @reportfmt <li> @user <li> @concealed <li> @shun </ul></td></tr> | | | 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 | <li> ticket-title-expr <li> ticket-closed-expr <li> @reportfmt <li> @user <li> @concealed <li> @shun </ul></td></tr> </table> <p>New configuration-names are likely to be added in future releases of Fossil. If the server receives a configuration-name that it does not understand, the entire reqconfig card is silently ignored. The reqconfig card might also be ignored if the user lacks sufficient privilege to access the requested information. |
︙ | ︙ |
Changes to www/tech_overview.wiki.
︙ | ︙ | |||
63 64 65 66 67 68 69 | database. Whenever multiple databases are used at the same time, they are all opened on the same SQLite database connection using SQLite's [http://www.sqlite.org/lang_attach.html | ATTACH] command. The chart below provides a quick summary of how each of these database files are used by Fossil, with detailed discussion following. | | | 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | database. Whenever multiple databases are used at the same time, they are all opened on the same SQLite database connection using SQLite's [http://www.sqlite.org/lang_attach.html | ATTACH] command. The chart below provides a quick summary of how each of these database files are used by Fossil, with detailed discussion following. <table border="1" width="80%" cellpadding="0" align="center"> <tr> <td width="33%" valign="top"> <h3 align="center">Configuration Database<br>"~/.fossil"</h3> <ul> <li>Global [/help/setting |settings] <li>List of active repositories used by the [/help/all | all] command </ul> |
︙ | ︙ | |||
101 102 103 104 105 106 107 | local edits <li>The "[/help/stash | stash]" <li>Information needed to "[/help/undo|undo]" or "[/help/redo|redo]" </ul> </td> </tr> </table> | < | 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | local edits <li>The "[/help/stash | stash]" <li>Information needed to "[/help/undo|undo]" or "[/help/redo|redo]" </ul> </td> </tr> </table> <h3>2.1 The Configuration Database</h3> The configuration database holds cross-repository preferences and a list of all repositories for a single user. The [/help/setting | fossil setting] command can be used to specify various |
︙ | ︙ |