Fossil SCM
added a gui diff form to enter the UUIDs, branches, .. and add a link to info page
Commit
cee3e0812cf451e799e6efa97395d0ef7c232724
Parent
81da2ee39f481cb…
1 file changed
+30
-4
+30
-4
| --- src/info.c | ||
| +++ src/info.c | ||
| @@ -423,10 +423,12 @@ | ||
| 423 | 423 | } |
| 424 | 424 | @ | <a href="%s(g.zTop)/artifact/%S(zUuid)">manifest</a> |
| 425 | 425 | if( g.okWrite ){ |
| 426 | 426 | @ | <a href="%s(g.zTop)/ci_edit?r=%S(zUuid)">edit</a> |
| 427 | 427 | } |
| 428 | + @ | <a href="%s(g.zTop)/vdiff?from=%S(zUuid)"> | |
| 429 | + @ diff against another version</a> | |
| 428 | 430 | @ </td> |
| 429 | 431 | @ </tr> |
| 430 | 432 | } |
| 431 | 433 | @ </table> |
| 432 | 434 | }else{ |
| @@ -624,21 +626,45 @@ | ||
| 624 | 626 | ** |
| 625 | 627 | ** Show all differences between two checkins. |
| 626 | 628 | */ |
| 627 | 629 | void vdiff_page(void){ |
| 628 | 630 | int ridFrom, ridTo; |
| 629 | - int showDetail = 0; | |
| 631 | + int showDetail = atoi(PD("detail","0")); | |
| 632 | + const char *zFrom = P("from"); | |
| 633 | + const char *zTo = P("to"); | |
| 630 | 634 | int iFrom, iTo; |
| 631 | 635 | Manifest mFrom, mTo; |
| 632 | 636 | |
| 633 | 637 | login_check_credentials(); |
| 634 | 638 | if( !g.okRead ){ login_needed(); return; } |
| 635 | 639 | login_anonymous_available(); |
| 636 | 640 | |
| 637 | - if( vdiff_parse_manifest("from", &ridFrom, &mFrom) ) return; | |
| 638 | - if( vdiff_parse_manifest("to", &ridTo, &mTo) ) return; | |
| 639 | - showDetail = atoi(PD("detail","0")); | |
| 641 | + if( !zFrom || !zFrom[0] || !zTo || !zTo[0] ){ | |
| 642 | + /* if from or to or both are bissing, show a form to enter | |
| 643 | + ** the query parameters by hand | |
| 644 | + */ | |
| 645 | + style_header("Check-in Differences"); | |
| 646 | + @ <p><br/> | |
| 647 | + @ Enter below the UUIDs, branch- or tag-names, you wish to diff: | |
| 648 | + @ <br/></p> | |
| 649 | + @ <form action="%s(g.zBaseURL)/vdiff" method="post"><div> | |
| 650 | + @ <table><tr><td>from:</td><td><input type="text" size="40" | |
| 651 | + @ name="from" value="%s(zFrom?zFrom:"")" /></td><td></td></tr> | |
| 652 | + @ <tr><td>to:</td><td><input type="text" size="40" | |
| 653 | + @ name="to" value="%s(zTo?zTo:"")" /></td><td></td></tr> | |
| 654 | + @ <tr><td>details:</td><td><input type="checkbox" name="detail" | |
| 655 | + @ checked="checked" value="1" /></td></tr> | |
| 656 | + @ <tr><td></td><td></td><td> | |
| 657 | + @ <input type="submit" name="diff" value="diff" /></td></tr></table> | |
| 658 | + @ </div></form> | |
| 659 | + style_footer(); | |
| 660 | + return; | |
| 661 | + }else if( vdiff_parse_manifest("from", &ridFrom, &mFrom) | |
| 662 | + || vdiff_parse_manifest("to", &ridTo, &mTo) | |
| 663 | + ){ | |
| 664 | + return; | |
| 665 | + } | |
| 640 | 666 | style_header("Check-in Differences"); |
| 641 | 667 | @ <h2>Difference From:</h2><blockquote> |
| 642 | 668 | checkin_description(ridFrom); |
| 643 | 669 | @ </blockquote><h2>To:</h2><blockquote> |
| 644 | 670 | checkin_description(ridTo); |
| 645 | 671 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -423,10 +423,12 @@ | |
| 423 | } |
| 424 | @ | <a href="%s(g.zTop)/artifact/%S(zUuid)">manifest</a> |
| 425 | if( g.okWrite ){ |
| 426 | @ | <a href="%s(g.zTop)/ci_edit?r=%S(zUuid)">edit</a> |
| 427 | } |
| 428 | @ </td> |
| 429 | @ </tr> |
| 430 | } |
| 431 | @ </table> |
| 432 | }else{ |
| @@ -624,21 +626,45 @@ | |
| 624 | ** |
| 625 | ** Show all differences between two checkins. |
| 626 | */ |
| 627 | void vdiff_page(void){ |
| 628 | int ridFrom, ridTo; |
| 629 | int showDetail = 0; |
| 630 | int iFrom, iTo; |
| 631 | Manifest mFrom, mTo; |
| 632 | |
| 633 | login_check_credentials(); |
| 634 | if( !g.okRead ){ login_needed(); return; } |
| 635 | login_anonymous_available(); |
| 636 | |
| 637 | if( vdiff_parse_manifest("from", &ridFrom, &mFrom) ) return; |
| 638 | if( vdiff_parse_manifest("to", &ridTo, &mTo) ) return; |
| 639 | showDetail = atoi(PD("detail","0")); |
| 640 | style_header("Check-in Differences"); |
| 641 | @ <h2>Difference From:</h2><blockquote> |
| 642 | checkin_description(ridFrom); |
| 643 | @ </blockquote><h2>To:</h2><blockquote> |
| 644 | checkin_description(ridTo); |
| 645 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -423,10 +423,12 @@ | |
| 423 | } |
| 424 | @ | <a href="%s(g.zTop)/artifact/%S(zUuid)">manifest</a> |
| 425 | if( g.okWrite ){ |
| 426 | @ | <a href="%s(g.zTop)/ci_edit?r=%S(zUuid)">edit</a> |
| 427 | } |
| 428 | @ | <a href="%s(g.zTop)/vdiff?from=%S(zUuid)"> |
| 429 | @ diff against another version</a> |
| 430 | @ </td> |
| 431 | @ </tr> |
| 432 | } |
| 433 | @ </table> |
| 434 | }else{ |
| @@ -624,21 +626,45 @@ | |
| 626 | ** |
| 627 | ** Show all differences between two checkins. |
| 628 | */ |
| 629 | void vdiff_page(void){ |
| 630 | int ridFrom, ridTo; |
| 631 | int showDetail = atoi(PD("detail","0")); |
| 632 | const char *zFrom = P("from"); |
| 633 | const char *zTo = P("to"); |
| 634 | int iFrom, iTo; |
| 635 | Manifest mFrom, mTo; |
| 636 | |
| 637 | login_check_credentials(); |
| 638 | if( !g.okRead ){ login_needed(); return; } |
| 639 | login_anonymous_available(); |
| 640 | |
| 641 | if( !zFrom || !zFrom[0] || !zTo || !zTo[0] ){ |
| 642 | /* if from or to or both are bissing, show a form to enter |
| 643 | ** the query parameters by hand |
| 644 | */ |
| 645 | style_header("Check-in Differences"); |
| 646 | @ <p><br/> |
| 647 | @ Enter below the UUIDs, branch- or tag-names, you wish to diff: |
| 648 | @ <br/></p> |
| 649 | @ <form action="%s(g.zBaseURL)/vdiff" method="post"><div> |
| 650 | @ <table><tr><td>from:</td><td><input type="text" size="40" |
| 651 | @ name="from" value="%s(zFrom?zFrom:"")" /></td><td></td></tr> |
| 652 | @ <tr><td>to:</td><td><input type="text" size="40" |
| 653 | @ name="to" value="%s(zTo?zTo:"")" /></td><td></td></tr> |
| 654 | @ <tr><td>details:</td><td><input type="checkbox" name="detail" |
| 655 | @ checked="checked" value="1" /></td></tr> |
| 656 | @ <tr><td></td><td></td><td> |
| 657 | @ <input type="submit" name="diff" value="diff" /></td></tr></table> |
| 658 | @ </div></form> |
| 659 | style_footer(); |
| 660 | return; |
| 661 | }else if( vdiff_parse_manifest("from", &ridFrom, &mFrom) |
| 662 | || vdiff_parse_manifest("to", &ridTo, &mTo) |
| 663 | ){ |
| 664 | return; |
| 665 | } |
| 666 | style_header("Check-in Differences"); |
| 667 | @ <h2>Difference From:</h2><blockquote> |
| 668 | checkin_description(ridFrom); |
| 669 | @ </blockquote><h2>To:</h2><blockquote> |
| 670 | checkin_description(ridTo); |
| 671 |