Fossil SCM
Propagate glob=... via the various vdiff toggle buttons and add a button to clear the current glob if glob is provided.
Commit
bf7524b13f76d8a7c8e42c12f0e0f701f0841063
Parent
46adaba1bd4cc55…
1 file changed
+17
-9
+17
-9
| --- src/info.c | ||
| +++ src/info.c | ||
| @@ -944,11 +944,10 @@ | ||
| 944 | 944 | const char *zGlob; |
| 945 | 945 | ReCompiled *pRe = 0; |
| 946 | 946 | login_check_credentials(); |
| 947 | 947 | if( !g.perm.Read ){ login_needed(); return; } |
| 948 | 948 | login_anonymous_available(); |
| 949 | - | |
| 950 | 949 | zRe = P("regex"); |
| 951 | 950 | if( zRe ) re_compile(&pRe, zRe, 0); |
| 952 | 951 | zBranch = P("branch"); |
| 953 | 952 | if( zBranch && zBranch[0] ){ |
| 954 | 953 | cgi_replace_parameter("from", mprintf("root:%s", zBranch)); |
| @@ -974,26 +973,35 @@ | ||
| 974 | 973 | if(zGlob && !*zGlob){ |
| 975 | 974 | zGlob = NULL; |
| 976 | 975 | } |
| 977 | 976 | if( sideBySide || verboseFlag ){ |
| 978 | 977 | style_submenu_element("Hide Diff", "hidediff", |
| 979 | - "%R/vdiff?from=%T&to=%T&sbs=0", | |
| 980 | - zFrom, zTo); | |
| 978 | + "%R/vdiff?from=%T&to=%T&sbs=0%s%T", | |
| 979 | + zFrom, zTo, | |
| 980 | + zGlob ? "&glob=" : "", zGlob ? zGlob : ""); | |
| 981 | 981 | } |
| 982 | 982 | if( !sideBySide ){ |
| 983 | 983 | style_submenu_element("Side-by-side Diff", "sbsdiff", |
| 984 | - "%R/vdiff?from=%T&to=%T&sbs=1", | |
| 985 | - zFrom, zTo); | |
| 984 | + "%R/vdiff?from=%T&to=%T&sbs=1%s%T", | |
| 985 | + zFrom, zTo, | |
| 986 | + zGlob ? "&glob=" : "", zGlob ? zGlob : ""); | |
| 986 | 987 | } |
| 987 | 988 | if( sideBySide || !verboseFlag ) { |
| 988 | 989 | style_submenu_element("Unified Diff", "udiff", |
| 989 | - "%R/vdiff?from=%T&to=%T&sbs=0&v", | |
| 990 | - zFrom, zTo); | |
| 990 | + "%R/vdiff?from=%T&to=%T&sbs=0&v%s%T", | |
| 991 | + zFrom, zTo, | |
| 992 | + zGlob ? "&glob=" : "", zGlob ? zGlob : ""); | |
| 991 | 993 | } |
| 992 | 994 | style_submenu_element("Invert", "invert", |
| 993 | - "%R/vdiff?from=%T&to=%T&sbs=%d%s", zTo, zFrom, | |
| 994 | - sideBySide, (verboseFlag && !sideBySide)?"&v":""); | |
| 995 | + "%R/vdiff?from=%T&to=%T&sbs=%d%s%s%T", zTo, zFrom, | |
| 996 | + sideBySide, (verboseFlag && !sideBySide)?"&v":"", | |
| 997 | + zGlob ? "&glob=" : "", zGlob ? zGlob : ""); | |
| 998 | + if( zGlob ){ | |
| 999 | + style_submenu_element("Clear glob", "clearglob", | |
| 1000 | + "%R/vdiff?from=%T&to=%T&sbs=%d%s", zFrom, zTo, | |
| 1001 | + sideBySide, (verboseFlag && !sideBySide)?"&v":""); | |
| 1002 | + } | |
| 995 | 1003 | style_header("Check-in Differences"); |
| 996 | 1004 | @ <h2>Difference From:</h2><blockquote> |
| 997 | 1005 | checkin_description(ridFrom); |
| 998 | 1006 | @ </blockquote><h2>To:</h2><blockquote> |
| 999 | 1007 | checkin_description(ridTo); |
| 1000 | 1008 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -944,11 +944,10 @@ | |
| 944 | const char *zGlob; |
| 945 | ReCompiled *pRe = 0; |
| 946 | login_check_credentials(); |
| 947 | if( !g.perm.Read ){ login_needed(); return; } |
| 948 | login_anonymous_available(); |
| 949 | |
| 950 | zRe = P("regex"); |
| 951 | if( zRe ) re_compile(&pRe, zRe, 0); |
| 952 | zBranch = P("branch"); |
| 953 | if( zBranch && zBranch[0] ){ |
| 954 | cgi_replace_parameter("from", mprintf("root:%s", zBranch)); |
| @@ -974,26 +973,35 @@ | |
| 974 | if(zGlob && !*zGlob){ |
| 975 | zGlob = NULL; |
| 976 | } |
| 977 | if( sideBySide || verboseFlag ){ |
| 978 | style_submenu_element("Hide Diff", "hidediff", |
| 979 | "%R/vdiff?from=%T&to=%T&sbs=0", |
| 980 | zFrom, zTo); |
| 981 | } |
| 982 | if( !sideBySide ){ |
| 983 | style_submenu_element("Side-by-side Diff", "sbsdiff", |
| 984 | "%R/vdiff?from=%T&to=%T&sbs=1", |
| 985 | zFrom, zTo); |
| 986 | } |
| 987 | if( sideBySide || !verboseFlag ) { |
| 988 | style_submenu_element("Unified Diff", "udiff", |
| 989 | "%R/vdiff?from=%T&to=%T&sbs=0&v", |
| 990 | zFrom, zTo); |
| 991 | } |
| 992 | style_submenu_element("Invert", "invert", |
| 993 | "%R/vdiff?from=%T&to=%T&sbs=%d%s", zTo, zFrom, |
| 994 | sideBySide, (verboseFlag && !sideBySide)?"&v":""); |
| 995 | style_header("Check-in Differences"); |
| 996 | @ <h2>Difference From:</h2><blockquote> |
| 997 | checkin_description(ridFrom); |
| 998 | @ </blockquote><h2>To:</h2><blockquote> |
| 999 | checkin_description(ridTo); |
| 1000 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -944,11 +944,10 @@ | |
| 944 | const char *zGlob; |
| 945 | ReCompiled *pRe = 0; |
| 946 | login_check_credentials(); |
| 947 | if( !g.perm.Read ){ login_needed(); return; } |
| 948 | login_anonymous_available(); |
| 949 | zRe = P("regex"); |
| 950 | if( zRe ) re_compile(&pRe, zRe, 0); |
| 951 | zBranch = P("branch"); |
| 952 | if( zBranch && zBranch[0] ){ |
| 953 | cgi_replace_parameter("from", mprintf("root:%s", zBranch)); |
| @@ -974,26 +973,35 @@ | |
| 973 | if(zGlob && !*zGlob){ |
| 974 | zGlob = NULL; |
| 975 | } |
| 976 | if( sideBySide || verboseFlag ){ |
| 977 | style_submenu_element("Hide Diff", "hidediff", |
| 978 | "%R/vdiff?from=%T&to=%T&sbs=0%s%T", |
| 979 | zFrom, zTo, |
| 980 | zGlob ? "&glob=" : "", zGlob ? zGlob : ""); |
| 981 | } |
| 982 | if( !sideBySide ){ |
| 983 | style_submenu_element("Side-by-side Diff", "sbsdiff", |
| 984 | "%R/vdiff?from=%T&to=%T&sbs=1%s%T", |
| 985 | zFrom, zTo, |
| 986 | zGlob ? "&glob=" : "", zGlob ? zGlob : ""); |
| 987 | } |
| 988 | if( sideBySide || !verboseFlag ) { |
| 989 | style_submenu_element("Unified Diff", "udiff", |
| 990 | "%R/vdiff?from=%T&to=%T&sbs=0&v%s%T", |
| 991 | zFrom, zTo, |
| 992 | zGlob ? "&glob=" : "", zGlob ? zGlob : ""); |
| 993 | } |
| 994 | style_submenu_element("Invert", "invert", |
| 995 | "%R/vdiff?from=%T&to=%T&sbs=%d%s%s%T", zTo, zFrom, |
| 996 | sideBySide, (verboseFlag && !sideBySide)?"&v":"", |
| 997 | zGlob ? "&glob=" : "", zGlob ? zGlob : ""); |
| 998 | if( zGlob ){ |
| 999 | style_submenu_element("Clear glob", "clearglob", |
| 1000 | "%R/vdiff?from=%T&to=%T&sbs=%d%s", zFrom, zTo, |
| 1001 | sideBySide, (verboseFlag && !sideBySide)?"&v":""); |
| 1002 | } |
| 1003 | style_header("Check-in Differences"); |
| 1004 | @ <h2>Difference From:</h2><blockquote> |
| 1005 | checkin_description(ridFrom); |
| 1006 | @ </blockquote><h2>To:</h2><blockquote> |
| 1007 | checkin_description(ridTo); |
| 1008 |