Fossil SCM
Error message on "commit" or "user default" if the user does not exist.
Commit
e2a42f7a6800408a6327054c889e77eefb1184c8
Parent
0921b68f669f736…
2 files changed
+8
-1
+8
-3
+8
-1
| --- src/checkin.c | ||
| +++ src/checkin.c | ||
| @@ -341,11 +341,11 @@ | ||
| 341 | 341 | zComment = find_option("comment","m",1); |
| 342 | 342 | forceFlag = find_option("force", "r", 0)!=0; |
| 343 | 343 | db_must_be_within_tree(); |
| 344 | 344 | noSign = db_get_int("omitsign", 0)|noSign; |
| 345 | 345 | verify_all_options(); |
| 346 | - | |
| 346 | + | |
| 347 | 347 | /* |
| 348 | 348 | ** Autosync if requested. |
| 349 | 349 | */ |
| 350 | 350 | autosync(1); |
| 351 | 351 | |
| @@ -364,10 +364,17 @@ | ||
| 364 | 364 | if( g.aCommitFile && isAMerge ){ |
| 365 | 365 | fossil_fatal("cannot do a partial commit of a merge"); |
| 366 | 366 | } |
| 367 | 367 | |
| 368 | 368 | user_select(); |
| 369 | + /* | |
| 370 | + ** Check that the user exists. | |
| 371 | + */ | |
| 372 | + if( !db_exists("SELECT 1 FROM user WHERE login=%Q", g.zLogin) ){ | |
| 373 | + fossil_fatal("no such user: %s", g.zLogin); | |
| 374 | + } | |
| 375 | + | |
| 369 | 376 | db_begin_transaction(); |
| 370 | 377 | rc = unsaved_changes(); |
| 371 | 378 | if( rc==0 && !isAMerge && !forceFlag ){ |
| 372 | 379 | fossil_panic("nothing has changed"); |
| 373 | 380 | } |
| 374 | 381 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -341,11 +341,11 @@ | |
| 341 | zComment = find_option("comment","m",1); |
| 342 | forceFlag = find_option("force", "r", 0)!=0; |
| 343 | db_must_be_within_tree(); |
| 344 | noSign = db_get_int("omitsign", 0)|noSign; |
| 345 | verify_all_options(); |
| 346 | |
| 347 | /* |
| 348 | ** Autosync if requested. |
| 349 | */ |
| 350 | autosync(1); |
| 351 | |
| @@ -364,10 +364,17 @@ | |
| 364 | if( g.aCommitFile && isAMerge ){ |
| 365 | fossil_fatal("cannot do a partial commit of a merge"); |
| 366 | } |
| 367 | |
| 368 | user_select(); |
| 369 | db_begin_transaction(); |
| 370 | rc = unsaved_changes(); |
| 371 | if( rc==0 && !isAMerge && !forceFlag ){ |
| 372 | fossil_panic("nothing has changed"); |
| 373 | } |
| 374 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -341,11 +341,11 @@ | |
| 341 | zComment = find_option("comment","m",1); |
| 342 | forceFlag = find_option("force", "r", 0)!=0; |
| 343 | db_must_be_within_tree(); |
| 344 | noSign = db_get_int("omitsign", 0)|noSign; |
| 345 | verify_all_options(); |
| 346 | |
| 347 | /* |
| 348 | ** Autosync if requested. |
| 349 | */ |
| 350 | autosync(1); |
| 351 | |
| @@ -364,10 +364,17 @@ | |
| 364 | if( g.aCommitFile && isAMerge ){ |
| 365 | fossil_fatal("cannot do a partial commit of a merge"); |
| 366 | } |
| 367 | |
| 368 | user_select(); |
| 369 | /* |
| 370 | ** Check that the user exists. |
| 371 | */ |
| 372 | if( !db_exists("SELECT 1 FROM user WHERE login=%Q", g.zLogin) ){ |
| 373 | fossil_fatal("no such user: %s", g.zLogin); |
| 374 | } |
| 375 | |
| 376 | db_begin_transaction(); |
| 377 | rc = unsaved_changes(); |
| 378 | if( rc==0 && !isAMerge && !forceFlag ){ |
| 379 | fossil_panic("nothing has changed"); |
| 380 | } |
| 381 |
+8
-3
| --- src/user.c | ||
| +++ src/user.c | ||
| @@ -205,14 +205,19 @@ | ||
| 205 | 205 | ); |
| 206 | 206 | }else if( n>=2 && strncmp(g.argv[2],"default",n)==0 ){ |
| 207 | 207 | user_select(); |
| 208 | 208 | if( g.argc==3 ){ |
| 209 | 209 | printf("%s\n", g.zLogin); |
| 210 | - }else if( g.localOpen ){ | |
| 211 | - db_lset("default-user", g.argv[3]); | |
| 212 | 210 | }else{ |
| 213 | - db_set("default-user", g.argv[3], 0); | |
| 211 | + if( !db_exists("SELECT 1 FROM user WHERE login=%Q", g.argv[3]) ){ | |
| 212 | + fossil_fatal("no such user: %s", g.argv[3]); | |
| 213 | + } | |
| 214 | + if( g.localOpen ){ | |
| 215 | + db_lset("default-user", g.argv[3]); | |
| 216 | + }else{ | |
| 217 | + db_set("default-user", g.argv[3], 0); | |
| 218 | + } | |
| 214 | 219 | } |
| 215 | 220 | }else if( n>=2 && strncmp(g.argv[2],"list",n)==0 ){ |
| 216 | 221 | Stmt q; |
| 217 | 222 | db_prepare(&q, "SELECT login, info FROM user ORDER BY login"); |
| 218 | 223 | while( db_step(&q)==SQLITE_ROW ){ |
| 219 | 224 |
| --- src/user.c | |
| +++ src/user.c | |
| @@ -205,14 +205,19 @@ | |
| 205 | ); |
| 206 | }else if( n>=2 && strncmp(g.argv[2],"default",n)==0 ){ |
| 207 | user_select(); |
| 208 | if( g.argc==3 ){ |
| 209 | printf("%s\n", g.zLogin); |
| 210 | }else if( g.localOpen ){ |
| 211 | db_lset("default-user", g.argv[3]); |
| 212 | }else{ |
| 213 | db_set("default-user", g.argv[3], 0); |
| 214 | } |
| 215 | }else if( n>=2 && strncmp(g.argv[2],"list",n)==0 ){ |
| 216 | Stmt q; |
| 217 | db_prepare(&q, "SELECT login, info FROM user ORDER BY login"); |
| 218 | while( db_step(&q)==SQLITE_ROW ){ |
| 219 |
| --- src/user.c | |
| +++ src/user.c | |
| @@ -205,14 +205,19 @@ | |
| 205 | ); |
| 206 | }else if( n>=2 && strncmp(g.argv[2],"default",n)==0 ){ |
| 207 | user_select(); |
| 208 | if( g.argc==3 ){ |
| 209 | printf("%s\n", g.zLogin); |
| 210 | }else{ |
| 211 | if( !db_exists("SELECT 1 FROM user WHERE login=%Q", g.argv[3]) ){ |
| 212 | fossil_fatal("no such user: %s", g.argv[3]); |
| 213 | } |
| 214 | if( g.localOpen ){ |
| 215 | db_lset("default-user", g.argv[3]); |
| 216 | }else{ |
| 217 | db_set("default-user", g.argv[3], 0); |
| 218 | } |
| 219 | } |
| 220 | }else if( n>=2 && strncmp(g.argv[2],"list",n)==0 ){ |
| 221 | Stmt q; |
| 222 | db_prepare(&q, "SELECT login, info FROM user ORDER BY login"); |
| 223 | while( db_step(&q)==SQLITE_ROW ){ |
| 224 |