Fossil SCM
When resuming a clone, delete the previous setup user so it can be reset. This also handles the case where a new --admin-user is passed in.
Commit
b86d4da5a23581f100c5d4bccf0399ae6dde05fb2c260e49ec63fd41618a7c80
Parent
29e9e84a1ea9a8a…
1 file changed
+8
-1
+8
-1
| --- src/clone.c | ||
| +++ src/clone.c | ||
| @@ -248,12 +248,19 @@ | ||
| 248 | 248 | zOldProjCode = db_get("project-code",0); |
| 249 | 249 | zCloneCode = db_get("aux-clone-code",0); |
| 250 | 250 | if( zOldProjCode==0 ) fossil_fatal("project-id missing from repository"); |
| 251 | 251 | if( zCloneCode==0 ) fossil_fatal("clone-code missing from repository"); |
| 252 | 252 | fossil_print("Resuming clone of project-id %s\n",zOldProjCode); |
| 253 | + db_unprotect(PROTECT_USER); | |
| 254 | + db_multi_exec("DELETE FROM user WHERE cap LIKE '%%s%%'"); | |
| 255 | + db_protect_pop(); | |
| 253 | 256 | db_create_default_users(1, zDefaultUser); |
| 254 | - if( zDefaultUser ) g.zLogin = zDefaultUser; | |
| 257 | + if( zDefaultUser ){ | |
| 258 | + g.zLogin = zDefaultUser; | |
| 259 | + }else{ | |
| 260 | + g.zLogin = db_text(0, "SELECT login FROM user WHERE cap LIKE '%%s%%'"); | |
| 261 | + } | |
| 255 | 262 | user_select(); |
| 256 | 263 | }else{ |
| 257 | 264 | db_create_repository(zRepo); |
| 258 | 265 | db_open_repository(zRepo); |
| 259 | 266 | db_open_config(0,0); |
| 260 | 267 |
| --- src/clone.c | |
| +++ src/clone.c | |
| @@ -248,12 +248,19 @@ | |
| 248 | zOldProjCode = db_get("project-code",0); |
| 249 | zCloneCode = db_get("aux-clone-code",0); |
| 250 | if( zOldProjCode==0 ) fossil_fatal("project-id missing from repository"); |
| 251 | if( zCloneCode==0 ) fossil_fatal("clone-code missing from repository"); |
| 252 | fossil_print("Resuming clone of project-id %s\n",zOldProjCode); |
| 253 | db_create_default_users(1, zDefaultUser); |
| 254 | if( zDefaultUser ) g.zLogin = zDefaultUser; |
| 255 | user_select(); |
| 256 | }else{ |
| 257 | db_create_repository(zRepo); |
| 258 | db_open_repository(zRepo); |
| 259 | db_open_config(0,0); |
| 260 |
| --- src/clone.c | |
| +++ src/clone.c | |
| @@ -248,12 +248,19 @@ | |
| 248 | zOldProjCode = db_get("project-code",0); |
| 249 | zCloneCode = db_get("aux-clone-code",0); |
| 250 | if( zOldProjCode==0 ) fossil_fatal("project-id missing from repository"); |
| 251 | if( zCloneCode==0 ) fossil_fatal("clone-code missing from repository"); |
| 252 | fossil_print("Resuming clone of project-id %s\n",zOldProjCode); |
| 253 | db_unprotect(PROTECT_USER); |
| 254 | db_multi_exec("DELETE FROM user WHERE cap LIKE '%%s%%'"); |
| 255 | db_protect_pop(); |
| 256 | db_create_default_users(1, zDefaultUser); |
| 257 | if( zDefaultUser ){ |
| 258 | g.zLogin = zDefaultUser; |
| 259 | }else{ |
| 260 | g.zLogin = db_text(0, "SELECT login FROM user WHERE cap LIKE '%%s%%'"); |
| 261 | } |
| 262 | user_select(); |
| 263 | }else{ |
| 264 | db_create_repository(zRepo); |
| 265 | db_open_repository(zRepo); |
| 266 | db_open_config(0,0); |
| 267 |