Fossil SCM
merge from trunk
Commit
cb75de51b551e56fc95c8ee198625e6de976d575
Parent
4a094f46ade70bd…
6 files changed
+15
-1
+15
-1
+3
+3
+1
-1
+1
-1
+15
-1
| --- src/allrepo.c | ||
| +++ src/allrepo.c | ||
| @@ -60,10 +60,13 @@ | ||
| 60 | 60 | ** On Win32 systems, the file is named "_fossil" and is located in |
| 61 | 61 | ** %LOCALAPPDATA%, %APPDATA% or %HOMEPATH%. |
| 62 | 62 | ** |
| 63 | 63 | ** Available operations are: |
| 64 | 64 | ** |
| 65 | +** ignore Arguments are repositories that should be ignored | |
| 66 | +** by subsequent list, pull, push, rebuild, and sync. | |
| 67 | +** | |
| 65 | 68 | ** list | ls Display the location of all repositories |
| 66 | 69 | ** |
| 67 | 70 | ** pull Run a "pull" operation on all repositories |
| 68 | 71 | ** |
| 69 | 72 | ** push Run a "push" on all repositories |
| @@ -73,10 +76,12 @@ | ||
| 73 | 76 | ** sync Run a "sync" on all repositories |
| 74 | 77 | ** |
| 75 | 78 | ** Respositories are automatically added to the set of known repositories |
| 76 | 79 | ** when one of the following commands against the repository: |
| 77 | 80 | ** <a>clone</a>, <a>info</a>, <a>pull</a>, <a>push</a>, or <a>sync</a> |
| 81 | +** Even previously ignored repositories are added back | |
| 82 | +** to the list of repositories by these commands. | |
| 78 | 83 | */ |
| 79 | 84 | void all_cmd(void){ |
| 80 | 85 | int n; |
| 81 | 86 | Stmt q; |
| 82 | 87 | const char *zCmd; |
| @@ -99,13 +104,22 @@ | ||
| 99 | 104 | zCmd = "pull -autourl -R"; |
| 100 | 105 | }else if( strncmp(zCmd, "rebuild", n)==0 ){ |
| 101 | 106 | zCmd = "rebuild"; |
| 102 | 107 | }else if( strncmp(zCmd, "sync", n)==0 ){ |
| 103 | 108 | zCmd = "sync -autourl -R"; |
| 109 | + }else if( strncmp(zCmd, "ignore", n)==0 ){ | |
| 110 | + int j; | |
| 111 | + db_begin_transaction(); | |
| 112 | + for(j=3; j<g.argc; j++){ | |
| 113 | + db_multi_exec("DELETE FROM global_config WHERE name GLOB 'repo:%q'", | |
| 114 | + g.argv[j]); | |
| 115 | + } | |
| 116 | + db_end_transaction(0); | |
| 117 | + return; | |
| 104 | 118 | }else{ |
| 105 | 119 | fossil_fatal("\"all\" subcommand should be one of: " |
| 106 | - "list ls push pull rebuild sync"); | |
| 120 | + "ignore list ls push pull rebuild sync"); | |
| 107 | 121 | } |
| 108 | 122 | zFossil = quoteFilename(g.argv[0]); |
| 109 | 123 | nMissing = 0; |
| 110 | 124 | db_prepare(&q, |
| 111 | 125 | "SELECT DISTINCT substr(name, 6) COLLATE nocase" |
| 112 | 126 |
| --- src/allrepo.c | |
| +++ src/allrepo.c | |
| @@ -60,10 +60,13 @@ | |
| 60 | ** On Win32 systems, the file is named "_fossil" and is located in |
| 61 | ** %LOCALAPPDATA%, %APPDATA% or %HOMEPATH%. |
| 62 | ** |
| 63 | ** Available operations are: |
| 64 | ** |
| 65 | ** list | ls Display the location of all repositories |
| 66 | ** |
| 67 | ** pull Run a "pull" operation on all repositories |
| 68 | ** |
| 69 | ** push Run a "push" on all repositories |
| @@ -73,10 +76,12 @@ | |
| 73 | ** sync Run a "sync" on all repositories |
| 74 | ** |
| 75 | ** Respositories are automatically added to the set of known repositories |
| 76 | ** when one of the following commands against the repository: |
| 77 | ** <a>clone</a>, <a>info</a>, <a>pull</a>, <a>push</a>, or <a>sync</a> |
| 78 | */ |
| 79 | void all_cmd(void){ |
| 80 | int n; |
| 81 | Stmt q; |
| 82 | const char *zCmd; |
| @@ -99,13 +104,22 @@ | |
| 99 | zCmd = "pull -autourl -R"; |
| 100 | }else if( strncmp(zCmd, "rebuild", n)==0 ){ |
| 101 | zCmd = "rebuild"; |
| 102 | }else if( strncmp(zCmd, "sync", n)==0 ){ |
| 103 | zCmd = "sync -autourl -R"; |
| 104 | }else{ |
| 105 | fossil_fatal("\"all\" subcommand should be one of: " |
| 106 | "list ls push pull rebuild sync"); |
| 107 | } |
| 108 | zFossil = quoteFilename(g.argv[0]); |
| 109 | nMissing = 0; |
| 110 | db_prepare(&q, |
| 111 | "SELECT DISTINCT substr(name, 6) COLLATE nocase" |
| 112 |
| --- src/allrepo.c | |
| +++ src/allrepo.c | |
| @@ -60,10 +60,13 @@ | |
| 60 | ** On Win32 systems, the file is named "_fossil" and is located in |
| 61 | ** %LOCALAPPDATA%, %APPDATA% or %HOMEPATH%. |
| 62 | ** |
| 63 | ** Available operations are: |
| 64 | ** |
| 65 | ** ignore Arguments are repositories that should be ignored |
| 66 | ** by subsequent list, pull, push, rebuild, and sync. |
| 67 | ** |
| 68 | ** list | ls Display the location of all repositories |
| 69 | ** |
| 70 | ** pull Run a "pull" operation on all repositories |
| 71 | ** |
| 72 | ** push Run a "push" on all repositories |
| @@ -73,10 +76,12 @@ | |
| 76 | ** sync Run a "sync" on all repositories |
| 77 | ** |
| 78 | ** Respositories are automatically added to the set of known repositories |
| 79 | ** when one of the following commands against the repository: |
| 80 | ** <a>clone</a>, <a>info</a>, <a>pull</a>, <a>push</a>, or <a>sync</a> |
| 81 | ** Even previously ignored repositories are added back |
| 82 | ** to the list of repositories by these commands. |
| 83 | */ |
| 84 | void all_cmd(void){ |
| 85 | int n; |
| 86 | Stmt q; |
| 87 | const char *zCmd; |
| @@ -99,13 +104,22 @@ | |
| 104 | zCmd = "pull -autourl -R"; |
| 105 | }else if( strncmp(zCmd, "rebuild", n)==0 ){ |
| 106 | zCmd = "rebuild"; |
| 107 | }else if( strncmp(zCmd, "sync", n)==0 ){ |
| 108 | zCmd = "sync -autourl -R"; |
| 109 | }else if( strncmp(zCmd, "ignore", n)==0 ){ |
| 110 | int j; |
| 111 | db_begin_transaction(); |
| 112 | for(j=3; j<g.argc; j++){ |
| 113 | db_multi_exec("DELETE FROM global_config WHERE name GLOB 'repo:%q'", |
| 114 | g.argv[j]); |
| 115 | } |
| 116 | db_end_transaction(0); |
| 117 | return; |
| 118 | }else{ |
| 119 | fossil_fatal("\"all\" subcommand should be one of: " |
| 120 | "ignore list ls push pull rebuild sync"); |
| 121 | } |
| 122 | zFossil = quoteFilename(g.argv[0]); |
| 123 | nMissing = 0; |
| 124 | db_prepare(&q, |
| 125 | "SELECT DISTINCT substr(name, 6) COLLATE nocase" |
| 126 |
+15
-1
| --- src/allrepo.c | ||
| +++ src/allrepo.c | ||
| @@ -60,10 +60,13 @@ | ||
| 60 | 60 | ** On Win32 systems, the file is named "_fossil" and is located in |
| 61 | 61 | ** %LOCALAPPDATA%, %APPDATA% or %HOMEPATH%. |
| 62 | 62 | ** |
| 63 | 63 | ** Available operations are: |
| 64 | 64 | ** |
| 65 | +** ignore Arguments are repositories that should be ignored | |
| 66 | +** by subsequent list, pull, push, rebuild, and sync. | |
| 67 | +** | |
| 65 | 68 | ** list | ls Display the location of all repositories |
| 66 | 69 | ** |
| 67 | 70 | ** pull Run a "pull" operation on all repositories |
| 68 | 71 | ** |
| 69 | 72 | ** push Run a "push" on all repositories |
| @@ -73,10 +76,12 @@ | ||
| 73 | 76 | ** sync Run a "sync" on all repositories |
| 74 | 77 | ** |
| 75 | 78 | ** Respositories are automatically added to the set of known repositories |
| 76 | 79 | ** when one of the following commands against the repository: |
| 77 | 80 | ** <a>clone</a>, <a>info</a>, <a>pull</a>, <a>push</a>, or <a>sync</a> |
| 81 | +** Even previously ignored repositories are added back | |
| 82 | +** to the list of repositories by these commands. | |
| 78 | 83 | */ |
| 79 | 84 | void all_cmd(void){ |
| 80 | 85 | int n; |
| 81 | 86 | Stmt q; |
| 82 | 87 | const char *zCmd; |
| @@ -99,13 +104,22 @@ | ||
| 99 | 104 | zCmd = "pull -autourl -R"; |
| 100 | 105 | }else if( strncmp(zCmd, "rebuild", n)==0 ){ |
| 101 | 106 | zCmd = "rebuild"; |
| 102 | 107 | }else if( strncmp(zCmd, "sync", n)==0 ){ |
| 103 | 108 | zCmd = "sync -autourl -R"; |
| 109 | + }else if( strncmp(zCmd, "ignore", n)==0 ){ | |
| 110 | + int j; | |
| 111 | + db_begin_transaction(); | |
| 112 | + for(j=3; j<g.argc; j++){ | |
| 113 | + db_multi_exec("DELETE FROM global_config WHERE name GLOB 'repo:%q'", | |
| 114 | + g.argv[j]); | |
| 115 | + } | |
| 116 | + db_end_transaction(0); | |
| 117 | + return; | |
| 104 | 118 | }else{ |
| 105 | 119 | fossil_fatal("\"all\" subcommand should be one of: " |
| 106 | - "list ls push pull rebuild sync"); | |
| 120 | + "ignore list ls push pull rebuild sync"); | |
| 107 | 121 | } |
| 108 | 122 | zFossil = quoteFilename(g.argv[0]); |
| 109 | 123 | nMissing = 0; |
| 110 | 124 | db_prepare(&q, |
| 111 | 125 | "SELECT DISTINCT substr(name, 6) COLLATE nocase" |
| 112 | 126 |
| --- src/allrepo.c | |
| +++ src/allrepo.c | |
| @@ -60,10 +60,13 @@ | |
| 60 | ** On Win32 systems, the file is named "_fossil" and is located in |
| 61 | ** %LOCALAPPDATA%, %APPDATA% or %HOMEPATH%. |
| 62 | ** |
| 63 | ** Available operations are: |
| 64 | ** |
| 65 | ** list | ls Display the location of all repositories |
| 66 | ** |
| 67 | ** pull Run a "pull" operation on all repositories |
| 68 | ** |
| 69 | ** push Run a "push" on all repositories |
| @@ -73,10 +76,12 @@ | |
| 73 | ** sync Run a "sync" on all repositories |
| 74 | ** |
| 75 | ** Respositories are automatically added to the set of known repositories |
| 76 | ** when one of the following commands against the repository: |
| 77 | ** <a>clone</a>, <a>info</a>, <a>pull</a>, <a>push</a>, or <a>sync</a> |
| 78 | */ |
| 79 | void all_cmd(void){ |
| 80 | int n; |
| 81 | Stmt q; |
| 82 | const char *zCmd; |
| @@ -99,13 +104,22 @@ | |
| 99 | zCmd = "pull -autourl -R"; |
| 100 | }else if( strncmp(zCmd, "rebuild", n)==0 ){ |
| 101 | zCmd = "rebuild"; |
| 102 | }else if( strncmp(zCmd, "sync", n)==0 ){ |
| 103 | zCmd = "sync -autourl -R"; |
| 104 | }else{ |
| 105 | fossil_fatal("\"all\" subcommand should be one of: " |
| 106 | "list ls push pull rebuild sync"); |
| 107 | } |
| 108 | zFossil = quoteFilename(g.argv[0]); |
| 109 | nMissing = 0; |
| 110 | db_prepare(&q, |
| 111 | "SELECT DISTINCT substr(name, 6) COLLATE nocase" |
| 112 |
| --- src/allrepo.c | |
| +++ src/allrepo.c | |
| @@ -60,10 +60,13 @@ | |
| 60 | ** On Win32 systems, the file is named "_fossil" and is located in |
| 61 | ** %LOCALAPPDATA%, %APPDATA% or %HOMEPATH%. |
| 62 | ** |
| 63 | ** Available operations are: |
| 64 | ** |
| 65 | ** ignore Arguments are repositories that should be ignored |
| 66 | ** by subsequent list, pull, push, rebuild, and sync. |
| 67 | ** |
| 68 | ** list | ls Display the location of all repositories |
| 69 | ** |
| 70 | ** pull Run a "pull" operation on all repositories |
| 71 | ** |
| 72 | ** push Run a "push" on all repositories |
| @@ -73,10 +76,12 @@ | |
| 76 | ** sync Run a "sync" on all repositories |
| 77 | ** |
| 78 | ** Respositories are automatically added to the set of known repositories |
| 79 | ** when one of the following commands against the repository: |
| 80 | ** <a>clone</a>, <a>info</a>, <a>pull</a>, <a>push</a>, or <a>sync</a> |
| 81 | ** Even previously ignored repositories are added back |
| 82 | ** to the list of repositories by these commands. |
| 83 | */ |
| 84 | void all_cmd(void){ |
| 85 | int n; |
| 86 | Stmt q; |
| 87 | const char *zCmd; |
| @@ -99,13 +104,22 @@ | |
| 104 | zCmd = "pull -autourl -R"; |
| 105 | }else if( strncmp(zCmd, "rebuild", n)==0 ){ |
| 106 | zCmd = "rebuild"; |
| 107 | }else if( strncmp(zCmd, "sync", n)==0 ){ |
| 108 | zCmd = "sync -autourl -R"; |
| 109 | }else if( strncmp(zCmd, "ignore", n)==0 ){ |
| 110 | int j; |
| 111 | db_begin_transaction(); |
| 112 | for(j=3; j<g.argc; j++){ |
| 113 | db_multi_exec("DELETE FROM global_config WHERE name GLOB 'repo:%q'", |
| 114 | g.argv[j]); |
| 115 | } |
| 116 | db_end_transaction(0); |
| 117 | return; |
| 118 | }else{ |
| 119 | fossil_fatal("\"all\" subcommand should be one of: " |
| 120 | "ignore list ls push pull rebuild sync"); |
| 121 | } |
| 122 | zFossil = quoteFilename(g.argv[0]); |
| 123 | nMissing = 0; |
| 124 | db_prepare(&q, |
| 125 | "SELECT DISTINCT substr(name, 6) COLLATE nocase" |
| 126 |
+3
| --- src/diffcmd.c | ||
| +++ src/diffcmd.c | ||
| @@ -433,10 +433,13 @@ | ||
| 433 | 433 | ** "diff". |
| 434 | 434 | ** |
| 435 | 435 | ** The results of the internal diff command can also be seen in the gui: |
| 436 | 436 | ** 1. Go to the <a href="vdiff">vdiff</a> page |
| 437 | 437 | ** 2. use the "diff against another version" link on the Check-in detail view. |
| 438 | +** | |
| 439 | +** The "-N" or "--new-file" option causes the complete text of added or | |
| 440 | +** deleted files to be displayed. | |
| 438 | 441 | */ |
| 439 | 442 | void diff_cmd(void){ |
| 440 | 443 | int isGDiff; /* True for gdiff. False for normal diff */ |
| 441 | 444 | int isInternDiff; /* True for internal diff */ |
| 442 | 445 | int hasNFlag; /* True if -N or --new-file flag is used */ |
| 443 | 446 |
| --- src/diffcmd.c | |
| +++ src/diffcmd.c | |
| @@ -433,10 +433,13 @@ | |
| 433 | ** "diff". |
| 434 | ** |
| 435 | ** The results of the internal diff command can also be seen in the gui: |
| 436 | ** 1. Go to the <a href="vdiff">vdiff</a> page |
| 437 | ** 2. use the "diff against another version" link on the Check-in detail view. |
| 438 | */ |
| 439 | void diff_cmd(void){ |
| 440 | int isGDiff; /* True for gdiff. False for normal diff */ |
| 441 | int isInternDiff; /* True for internal diff */ |
| 442 | int hasNFlag; /* True if -N or --new-file flag is used */ |
| 443 |
| --- src/diffcmd.c | |
| +++ src/diffcmd.c | |
| @@ -433,10 +433,13 @@ | |
| 433 | ** "diff". |
| 434 | ** |
| 435 | ** The results of the internal diff command can also be seen in the gui: |
| 436 | ** 1. Go to the <a href="vdiff">vdiff</a> page |
| 437 | ** 2. use the "diff against another version" link on the Check-in detail view. |
| 438 | ** |
| 439 | ** The "-N" or "--new-file" option causes the complete text of added or |
| 440 | ** deleted files to be displayed. |
| 441 | */ |
| 442 | void diff_cmd(void){ |
| 443 | int isGDiff; /* True for gdiff. False for normal diff */ |
| 444 | int isInternDiff; /* True for internal diff */ |
| 445 | int hasNFlag; /* True if -N or --new-file flag is used */ |
| 446 |
+3
| --- src/diffcmd.c | ||
| +++ src/diffcmd.c | ||
| @@ -433,10 +433,13 @@ | ||
| 433 | 433 | ** "diff". |
| 434 | 434 | ** |
| 435 | 435 | ** The results of the internal diff command can also be seen in the gui: |
| 436 | 436 | ** 1. Go to the <a href="vdiff">vdiff</a> page |
| 437 | 437 | ** 2. use the "diff against another version" link on the Check-in detail view. |
| 438 | +** | |
| 439 | +** The "-N" or "--new-file" option causes the complete text of added or | |
| 440 | +** deleted files to be displayed. | |
| 438 | 441 | */ |
| 439 | 442 | void diff_cmd(void){ |
| 440 | 443 | int isGDiff; /* True for gdiff. False for normal diff */ |
| 441 | 444 | int isInternDiff; /* True for internal diff */ |
| 442 | 445 | int hasNFlag; /* True if -N or --new-file flag is used */ |
| 443 | 446 |
| --- src/diffcmd.c | |
| +++ src/diffcmd.c | |
| @@ -433,10 +433,13 @@ | |
| 433 | ** "diff". |
| 434 | ** |
| 435 | ** The results of the internal diff command can also be seen in the gui: |
| 436 | ** 1. Go to the <a href="vdiff">vdiff</a> page |
| 437 | ** 2. use the "diff against another version" link on the Check-in detail view. |
| 438 | */ |
| 439 | void diff_cmd(void){ |
| 440 | int isGDiff; /* True for gdiff. False for normal diff */ |
| 441 | int isInternDiff; /* True for internal diff */ |
| 442 | int hasNFlag; /* True if -N or --new-file flag is used */ |
| 443 |
| --- src/diffcmd.c | |
| +++ src/diffcmd.c | |
| @@ -433,10 +433,13 @@ | |
| 433 | ** "diff". |
| 434 | ** |
| 435 | ** The results of the internal diff command can also be seen in the gui: |
| 436 | ** 1. Go to the <a href="vdiff">vdiff</a> page |
| 437 | ** 2. use the "diff against another version" link on the Check-in detail view. |
| 438 | ** |
| 439 | ** The "-N" or "--new-file" option causes the complete text of added or |
| 440 | ** deleted files to be displayed. |
| 441 | */ |
| 442 | void diff_cmd(void){ |
| 443 | int isGDiff; /* True for gdiff. False for normal diff */ |
| 444 | int isInternDiff; /* True for internal diff */ |
| 445 | int hasNFlag; /* True if -N or --new-file flag is used */ |
| 446 |
+1
-1
| --- src/wiki.c | ||
| +++ src/wiki.c | ||
| @@ -86,14 +86,14 @@ | ||
| 86 | 86 | if( !g.okRdWiki ){ |
| 87 | 87 | cgi_redirectf("%s/login?g=%s/home", g.zBaseURL, g.zBaseURL); |
| 88 | 88 | } |
| 89 | 89 | if( zIndexPage ){ |
| 90 | 90 | const char *zPathInfo = P("PATH_INFO"); |
| 91 | + while( zIndexPage[0]=='/' ) zIndexPage++; | |
| 91 | 92 | if( strcmp(zIndexPage, zPathInfo)==0 ) zIndexPage = 0; |
| 92 | 93 | } |
| 93 | 94 | if( zIndexPage ){ |
| 94 | - while( zIndexPage[0]=='/' ) zIndexPage++; | |
| 95 | 95 | cgi_redirectf("%s/%s", g.zBaseURL, zIndexPage); |
| 96 | 96 | } |
| 97 | 97 | if( zPageName ){ |
| 98 | 98 | login_check_credentials(); |
| 99 | 99 | g.zExtra = zPageName; |
| 100 | 100 |
| --- src/wiki.c | |
| +++ src/wiki.c | |
| @@ -86,14 +86,14 @@ | |
| 86 | if( !g.okRdWiki ){ |
| 87 | cgi_redirectf("%s/login?g=%s/home", g.zBaseURL, g.zBaseURL); |
| 88 | } |
| 89 | if( zIndexPage ){ |
| 90 | const char *zPathInfo = P("PATH_INFO"); |
| 91 | if( strcmp(zIndexPage, zPathInfo)==0 ) zIndexPage = 0; |
| 92 | } |
| 93 | if( zIndexPage ){ |
| 94 | while( zIndexPage[0]=='/' ) zIndexPage++; |
| 95 | cgi_redirectf("%s/%s", g.zBaseURL, zIndexPage); |
| 96 | } |
| 97 | if( zPageName ){ |
| 98 | login_check_credentials(); |
| 99 | g.zExtra = zPageName; |
| 100 |
| --- src/wiki.c | |
| +++ src/wiki.c | |
| @@ -86,14 +86,14 @@ | |
| 86 | if( !g.okRdWiki ){ |
| 87 | cgi_redirectf("%s/login?g=%s/home", g.zBaseURL, g.zBaseURL); |
| 88 | } |
| 89 | if( zIndexPage ){ |
| 90 | const char *zPathInfo = P("PATH_INFO"); |
| 91 | while( zIndexPage[0]=='/' ) zIndexPage++; |
| 92 | if( strcmp(zIndexPage, zPathInfo)==0 ) zIndexPage = 0; |
| 93 | } |
| 94 | if( zIndexPage ){ |
| 95 | cgi_redirectf("%s/%s", g.zBaseURL, zIndexPage); |
| 96 | } |
| 97 | if( zPageName ){ |
| 98 | login_check_credentials(); |
| 99 | g.zExtra = zPageName; |
| 100 |
+1
-1
| --- src/wiki.c | ||
| +++ src/wiki.c | ||
| @@ -86,14 +86,14 @@ | ||
| 86 | 86 | if( !g.okRdWiki ){ |
| 87 | 87 | cgi_redirectf("%s/login?g=%s/home", g.zBaseURL, g.zBaseURL); |
| 88 | 88 | } |
| 89 | 89 | if( zIndexPage ){ |
| 90 | 90 | const char *zPathInfo = P("PATH_INFO"); |
| 91 | + while( zIndexPage[0]=='/' ) zIndexPage++; | |
| 91 | 92 | if( strcmp(zIndexPage, zPathInfo)==0 ) zIndexPage = 0; |
| 92 | 93 | } |
| 93 | 94 | if( zIndexPage ){ |
| 94 | - while( zIndexPage[0]=='/' ) zIndexPage++; | |
| 95 | 95 | cgi_redirectf("%s/%s", g.zBaseURL, zIndexPage); |
| 96 | 96 | } |
| 97 | 97 | if( zPageName ){ |
| 98 | 98 | login_check_credentials(); |
| 99 | 99 | g.zExtra = zPageName; |
| 100 | 100 |
| --- src/wiki.c | |
| +++ src/wiki.c | |
| @@ -86,14 +86,14 @@ | |
| 86 | if( !g.okRdWiki ){ |
| 87 | cgi_redirectf("%s/login?g=%s/home", g.zBaseURL, g.zBaseURL); |
| 88 | } |
| 89 | if( zIndexPage ){ |
| 90 | const char *zPathInfo = P("PATH_INFO"); |
| 91 | if( strcmp(zIndexPage, zPathInfo)==0 ) zIndexPage = 0; |
| 92 | } |
| 93 | if( zIndexPage ){ |
| 94 | while( zIndexPage[0]=='/' ) zIndexPage++; |
| 95 | cgi_redirectf("%s/%s", g.zBaseURL, zIndexPage); |
| 96 | } |
| 97 | if( zPageName ){ |
| 98 | login_check_credentials(); |
| 99 | g.zExtra = zPageName; |
| 100 |
| --- src/wiki.c | |
| +++ src/wiki.c | |
| @@ -86,14 +86,14 @@ | |
| 86 | if( !g.okRdWiki ){ |
| 87 | cgi_redirectf("%s/login?g=%s/home", g.zBaseURL, g.zBaseURL); |
| 88 | } |
| 89 | if( zIndexPage ){ |
| 90 | const char *zPathInfo = P("PATH_INFO"); |
| 91 | while( zIndexPage[0]=='/' ) zIndexPage++; |
| 92 | if( strcmp(zIndexPage, zPathInfo)==0 ) zIndexPage = 0; |
| 93 | } |
| 94 | if( zIndexPage ){ |
| 95 | cgi_redirectf("%s/%s", g.zBaseURL, zIndexPage); |
| 96 | } |
| 97 | if( zPageName ){ |
| 98 | login_check_credentials(); |
| 99 | g.zExtra = zPageName; |
| 100 |