Fossil SCM
Add "ignore whitespace" button to ci page.
Commit
eb6935df7f3a62336fd79749a047376a3496c040
Parent
56c7561e2b88995…
1 file changed
+18
-7
+18
-7
| --- src/info.c | ||
| +++ src/info.c | ||
| @@ -667,34 +667,46 @@ | ||
| 667 | 667 | login_anonymous_available(); |
| 668 | 668 | } |
| 669 | 669 | db_finalize(&q1); |
| 670 | 670 | showTags(rid, ""); |
| 671 | 671 | if( zParent ){ |
| 672 | + const char *zW; | |
| 672 | 673 | @ <div class="section">Changes</div> |
| 673 | 674 | @ <div class="sectionmenu"> |
| 674 | 675 | verboseFlag = g.zPath[0]!='c'; |
| 675 | 676 | if( db_get_boolean("show-version-diffs", 0)==0 ){ |
| 676 | 677 | verboseFlag = !verboseFlag; |
| 678 | + diffFlags = construct_diff_flags(verboseFlag, sideBySide); | |
| 679 | + zW = (diffFlags&(DIFF_IGNORE_SOLWS|DIFF_IGNORE_EOLWS))?"&w":""; | |
| 677 | 680 | if( verboseFlag ){ |
| 678 | - @ %z(xhref("class='button'","%R/vinfo/%T",zName)) | |
| 681 | + @ %z(xhref("class='button'","%R/vinfo/%T%s",zName,zW)) | |
| 679 | 682 | @ hide diffs</a> |
| 680 | 683 | if( sideBySide ){ |
| 681 | - @ %z(xhref("class='button'","%R/ci/%T?sbs=0",zName)) | |
| 684 | + @ %z(xhref("class='button'","%R/ci/%T?sbs=0%s",zName,zW)) | |
| 682 | 685 | @ unified diffs</a> |
| 683 | 686 | }else{ |
| 684 | - @ %z(xhref("class='button'","%R/ci/%T?sbs=1",zName)) | |
| 687 | + @ %z(xhref("class='button'","%R/ci/%T?sbs=1%s",zName,zW)) | |
| 685 | 688 | @ side-by-side diffs</a> |
| 686 | 689 | } |
| 690 | + if( *zW ){ | |
| 691 | + @ %z(xhref("class='button'","%R/ci/%T?sbs=%s",zName,sideBySide?"1":"0")) | |
| 692 | + @ show whitespace differences</a> | |
| 693 | + }else{ | |
| 694 | + @ %z(xhref("class='button'","%R/ci/%T?sbs=%s&w",zName,sideBySide?"1":"0")) | |
| 695 | + @ ignore whitespace</a> | |
| 696 | + } | |
| 687 | 697 | }else{ |
| 688 | - @ %z(xhref("class='button'","%R/ci/%T?sbs=0",zName)) | |
| 698 | + @ %z(xhref("class='button'","%R/ci/%T?sbs=0%s",zName,zW)) | |
| 689 | 699 | @ show unified diffs</a> |
| 690 | - @ %z(xhref("class='button'","%R/ci/%T?sbs=1",zName)) | |
| 700 | + @ %z(xhref("class='button'","%R/ci/%T?sbs=1%s",zName,zW)) | |
| 691 | 701 | @ show side-by-side diffs</a> |
| 692 | 702 | } |
| 693 | 703 | }else{ |
| 704 | + diffFlags = construct_diff_flags(verboseFlag, sideBySide); | |
| 705 | + zW = (diffFlags&(DIFF_IGNORE_SOLWS|DIFF_IGNORE_EOLWS))?"&w":""; | |
| 694 | 706 | if( verboseFlag ){ |
| 695 | - @ %z(xhref("class='button'","%R/ci/%T",zName))hide diffs</a> | |
| 707 | + @ %z(xhref("class='button'","%R/ci/%T%s",zName,zW))hide diffs</a> | |
| 696 | 708 | if( sideBySide ){ |
| 697 | 709 | @ %z(xhref("class='button'","%R/info/%T?sbs=0",zName)) |
| 698 | 710 | @ unified diffs</a> |
| 699 | 711 | }else{ |
| 700 | 712 | @ %z(xhref("class='button'","%R/info/%T?sbs=1",zName)) |
| @@ -724,11 +736,10 @@ | ||
| 724 | 736 | " AND (mlink.fid>0" |
| 725 | 737 | " OR mlink.fnid NOT IN (SELECT pfnid FROM mlink WHERE mid=%d))" |
| 726 | 738 | " ORDER BY name /*sort*/", |
| 727 | 739 | rid, rid |
| 728 | 740 | ); |
| 729 | - diffFlags = construct_diff_flags(verboseFlag, sideBySide); | |
| 730 | 741 | while( db_step(&q3)==SQLITE_ROW ){ |
| 731 | 742 | const char *zName = db_column_text(&q3,0); |
| 732 | 743 | int mperm = db_column_int(&q3, 1); |
| 733 | 744 | const char *zOld = db_column_text(&q3,2); |
| 734 | 745 | const char *zNew = db_column_text(&q3,3); |
| 735 | 746 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -667,34 +667,46 @@ | |
| 667 | login_anonymous_available(); |
| 668 | } |
| 669 | db_finalize(&q1); |
| 670 | showTags(rid, ""); |
| 671 | if( zParent ){ |
| 672 | @ <div class="section">Changes</div> |
| 673 | @ <div class="sectionmenu"> |
| 674 | verboseFlag = g.zPath[0]!='c'; |
| 675 | if( db_get_boolean("show-version-diffs", 0)==0 ){ |
| 676 | verboseFlag = !verboseFlag; |
| 677 | if( verboseFlag ){ |
| 678 | @ %z(xhref("class='button'","%R/vinfo/%T",zName)) |
| 679 | @ hide diffs</a> |
| 680 | if( sideBySide ){ |
| 681 | @ %z(xhref("class='button'","%R/ci/%T?sbs=0",zName)) |
| 682 | @ unified diffs</a> |
| 683 | }else{ |
| 684 | @ %z(xhref("class='button'","%R/ci/%T?sbs=1",zName)) |
| 685 | @ side-by-side diffs</a> |
| 686 | } |
| 687 | }else{ |
| 688 | @ %z(xhref("class='button'","%R/ci/%T?sbs=0",zName)) |
| 689 | @ show unified diffs</a> |
| 690 | @ %z(xhref("class='button'","%R/ci/%T?sbs=1",zName)) |
| 691 | @ show side-by-side diffs</a> |
| 692 | } |
| 693 | }else{ |
| 694 | if( verboseFlag ){ |
| 695 | @ %z(xhref("class='button'","%R/ci/%T",zName))hide diffs</a> |
| 696 | if( sideBySide ){ |
| 697 | @ %z(xhref("class='button'","%R/info/%T?sbs=0",zName)) |
| 698 | @ unified diffs</a> |
| 699 | }else{ |
| 700 | @ %z(xhref("class='button'","%R/info/%T?sbs=1",zName)) |
| @@ -724,11 +736,10 @@ | |
| 724 | " AND (mlink.fid>0" |
| 725 | " OR mlink.fnid NOT IN (SELECT pfnid FROM mlink WHERE mid=%d))" |
| 726 | " ORDER BY name /*sort*/", |
| 727 | rid, rid |
| 728 | ); |
| 729 | diffFlags = construct_diff_flags(verboseFlag, sideBySide); |
| 730 | while( db_step(&q3)==SQLITE_ROW ){ |
| 731 | const char *zName = db_column_text(&q3,0); |
| 732 | int mperm = db_column_int(&q3, 1); |
| 733 | const char *zOld = db_column_text(&q3,2); |
| 734 | const char *zNew = db_column_text(&q3,3); |
| 735 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -667,34 +667,46 @@ | |
| 667 | login_anonymous_available(); |
| 668 | } |
| 669 | db_finalize(&q1); |
| 670 | showTags(rid, ""); |
| 671 | if( zParent ){ |
| 672 | const char *zW; |
| 673 | @ <div class="section">Changes</div> |
| 674 | @ <div class="sectionmenu"> |
| 675 | verboseFlag = g.zPath[0]!='c'; |
| 676 | if( db_get_boolean("show-version-diffs", 0)==0 ){ |
| 677 | verboseFlag = !verboseFlag; |
| 678 | diffFlags = construct_diff_flags(verboseFlag, sideBySide); |
| 679 | zW = (diffFlags&(DIFF_IGNORE_SOLWS|DIFF_IGNORE_EOLWS))?"&w":""; |
| 680 | if( verboseFlag ){ |
| 681 | @ %z(xhref("class='button'","%R/vinfo/%T%s",zName,zW)) |
| 682 | @ hide diffs</a> |
| 683 | if( sideBySide ){ |
| 684 | @ %z(xhref("class='button'","%R/ci/%T?sbs=0%s",zName,zW)) |
| 685 | @ unified diffs</a> |
| 686 | }else{ |
| 687 | @ %z(xhref("class='button'","%R/ci/%T?sbs=1%s",zName,zW)) |
| 688 | @ side-by-side diffs</a> |
| 689 | } |
| 690 | if( *zW ){ |
| 691 | @ %z(xhref("class='button'","%R/ci/%T?sbs=%s",zName,sideBySide?"1":"0")) |
| 692 | @ show whitespace differences</a> |
| 693 | }else{ |
| 694 | @ %z(xhref("class='button'","%R/ci/%T?sbs=%s&w",zName,sideBySide?"1":"0")) |
| 695 | @ ignore whitespace</a> |
| 696 | } |
| 697 | }else{ |
| 698 | @ %z(xhref("class='button'","%R/ci/%T?sbs=0%s",zName,zW)) |
| 699 | @ show unified diffs</a> |
| 700 | @ %z(xhref("class='button'","%R/ci/%T?sbs=1%s",zName,zW)) |
| 701 | @ show side-by-side diffs</a> |
| 702 | } |
| 703 | }else{ |
| 704 | diffFlags = construct_diff_flags(verboseFlag, sideBySide); |
| 705 | zW = (diffFlags&(DIFF_IGNORE_SOLWS|DIFF_IGNORE_EOLWS))?"&w":""; |
| 706 | if( verboseFlag ){ |
| 707 | @ %z(xhref("class='button'","%R/ci/%T%s",zName,zW))hide diffs</a> |
| 708 | if( sideBySide ){ |
| 709 | @ %z(xhref("class='button'","%R/info/%T?sbs=0",zName)) |
| 710 | @ unified diffs</a> |
| 711 | }else{ |
| 712 | @ %z(xhref("class='button'","%R/info/%T?sbs=1",zName)) |
| @@ -724,11 +736,10 @@ | |
| 736 | " AND (mlink.fid>0" |
| 737 | " OR mlink.fnid NOT IN (SELECT pfnid FROM mlink WHERE mid=%d))" |
| 738 | " ORDER BY name /*sort*/", |
| 739 | rid, rid |
| 740 | ); |
| 741 | while( db_step(&q3)==SQLITE_ROW ){ |
| 742 | const char *zName = db_column_text(&q3,0); |
| 743 | int mperm = db_column_int(&q3, 1); |
| 744 | const char *zOld = db_column_text(&q3,2); |
| 745 | const char *zNew = db_column_text(&q3,3); |
| 746 |