Fossil SCM
Enhance the "scrub" command to more aggressively prune the CONFIG table.
Commit
6b608a0ccbe3c531b3b006df5fb616b4d63aa35563235835615a7f5d8780631b
Parent
3befe7aab4b184c…
1 file changed
+16
-8
+16
-8
| --- src/rebuild.c | ||
| +++ src/rebuild.c | ||
| @@ -925,18 +925,26 @@ | ||
| 925 | 925 | } |
| 926 | 926 | if( !privateOnly ){ |
| 927 | 927 | db_unprotect(PROTECT_ALL); |
| 928 | 928 | db_multi_exec( |
| 929 | 929 | "UPDATE user SET pw='';" |
| 930 | - "DELETE FROM config WHERE name GLOB 'last-sync-*';" | |
| 931 | - "DELETE FROM config WHERE name GLOB 'sync-*:*';" | |
| 932 | - "DELETE FROM config WHERE name GLOB 'peer-*';" | |
| 933 | - "DELETE FROM config WHERE name GLOB 'login-group-*';" | |
| 934 | - "DELETE FROM config WHERE name GLOB 'skin:*';" | |
| 935 | - "DELETE FROM config WHERE name GLOB 'subrepo:*';" | |
| 936 | - "DELETE FROM config WHERE name GLOB 'http-auth:*';" | |
| 937 | - "DELETE FROM config WHERE name GLOB 'cert:*';" | |
| 930 | + "DELETE FROM config WHERE name IN" | |
| 931 | + "(WITH pattern(x) AS (VALUES" | |
| 932 | + " ('last-sync-*')," | |
| 933 | + " ('sync-*')," | |
| 934 | + " ('peer-*')," | |
| 935 | + " ('login-group-*')," | |
| 936 | + " ('skin:*')," | |
| 937 | + " ('subrepo:*')," | |
| 938 | + " ('http-auth:*')," | |
| 939 | + " ('cert:*')," | |
| 940 | + " ('syncwith:*')," | |
| 941 | + " ('gitpush:*')," | |
| 942 | + " ('ckout:*')," | |
| 943 | + " ('draft[1-9]-*')," | |
| 944 | + " ('baseurl:*')" | |
| 945 | + ") SELECT name FROM config, pattern WHERE name GLOB x);" | |
| 938 | 946 | ); |
| 939 | 947 | if( bVerily ){ |
| 940 | 948 | db_multi_exec( |
| 941 | 949 | "DELETE FROM concealed;\n" |
| 942 | 950 | "UPDATE rcvfrom SET ipaddr='unknown';\n" |
| 943 | 951 |
| --- src/rebuild.c | |
| +++ src/rebuild.c | |
| @@ -925,18 +925,26 @@ | |
| 925 | } |
| 926 | if( !privateOnly ){ |
| 927 | db_unprotect(PROTECT_ALL); |
| 928 | db_multi_exec( |
| 929 | "UPDATE user SET pw='';" |
| 930 | "DELETE FROM config WHERE name GLOB 'last-sync-*';" |
| 931 | "DELETE FROM config WHERE name GLOB 'sync-*:*';" |
| 932 | "DELETE FROM config WHERE name GLOB 'peer-*';" |
| 933 | "DELETE FROM config WHERE name GLOB 'login-group-*';" |
| 934 | "DELETE FROM config WHERE name GLOB 'skin:*';" |
| 935 | "DELETE FROM config WHERE name GLOB 'subrepo:*';" |
| 936 | "DELETE FROM config WHERE name GLOB 'http-auth:*';" |
| 937 | "DELETE FROM config WHERE name GLOB 'cert:*';" |
| 938 | ); |
| 939 | if( bVerily ){ |
| 940 | db_multi_exec( |
| 941 | "DELETE FROM concealed;\n" |
| 942 | "UPDATE rcvfrom SET ipaddr='unknown';\n" |
| 943 |
| --- src/rebuild.c | |
| +++ src/rebuild.c | |
| @@ -925,18 +925,26 @@ | |
| 925 | } |
| 926 | if( !privateOnly ){ |
| 927 | db_unprotect(PROTECT_ALL); |
| 928 | db_multi_exec( |
| 929 | "UPDATE user SET pw='';" |
| 930 | "DELETE FROM config WHERE name IN" |
| 931 | "(WITH pattern(x) AS (VALUES" |
| 932 | " ('last-sync-*')," |
| 933 | " ('sync-*')," |
| 934 | " ('peer-*')," |
| 935 | " ('login-group-*')," |
| 936 | " ('skin:*')," |
| 937 | " ('subrepo:*')," |
| 938 | " ('http-auth:*')," |
| 939 | " ('cert:*')," |
| 940 | " ('syncwith:*')," |
| 941 | " ('gitpush:*')," |
| 942 | " ('ckout:*')," |
| 943 | " ('draft[1-9]-*')," |
| 944 | " ('baseurl:*')" |
| 945 | ") SELECT name FROM config, pattern WHERE name GLOB x);" |
| 946 | ); |
| 947 | if( bVerily ){ |
| 948 | db_multi_exec( |
| 949 | "DELETE FROM concealed;\n" |
| 950 | "UPDATE rcvfrom SET ipaddr='unknown';\n" |
| 951 |