Fossil SCM

Error message on "commit" or "user default" if the user does not exist.

drh 2008-01-29 01:11 trunk
Commit e2a42f7a6800408a6327054c889e77eefb1184c8
2 files changed +8 -1 +8 -3
+8 -1
--- src/checkin.c
+++ src/checkin.c
@@ -341,11 +341,11 @@
341341
zComment = find_option("comment","m",1);
342342
forceFlag = find_option("force", "r", 0)!=0;
343343
db_must_be_within_tree();
344344
noSign = db_get_int("omitsign", 0)|noSign;
345345
verify_all_options();
346
-
346
+
347347
/*
348348
** Autosync if requested.
349349
*/
350350
autosync(1);
351351
@@ -364,10 +364,17 @@
364364
if( g.aCommitFile && isAMerge ){
365365
fossil_fatal("cannot do a partial commit of a merge");
366366
}
367367
368368
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
+
369376
db_begin_transaction();
370377
rc = unsaved_changes();
371378
if( rc==0 && !isAMerge && !forceFlag ){
372379
fossil_panic("nothing has changed");
373380
}
374381
--- 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 @@
205205
);
206206
}else if( n>=2 && strncmp(g.argv[2],"default",n)==0 ){
207207
user_select();
208208
if( g.argc==3 ){
209209
printf("%s\n", g.zLogin);
210
- }else if( g.localOpen ){
211
- db_lset("default-user", g.argv[3]);
212210
}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
+ }
214219
}
215220
}else if( n>=2 && strncmp(g.argv[2],"list",n)==0 ){
216221
Stmt q;
217222
db_prepare(&q, "SELECT login, info FROM user ORDER BY login");
218223
while( db_step(&q)==SQLITE_ROW ){
219224
--- 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

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button