Fossil SCM

Be more aggressive about saving unused commit messages for reuse on a retry. An attempt to fix [forum:/forumpost/83c5f1bce2|bug 83c5f1bce2].

drh 2026-05-21 20:26 UTC trunk
Commit ea99abc540d9c26328a2a22f77fd3ea7f6b31c924d1e0cd0c7136fc9e076bd1d
1 file changed +4
--- src/checkin.c
+++ src/checkin.c
@@ -2990,13 +2990,17 @@
29902990
}
29912991
}else if( !noPrompt ){
29922992
while( 1/*exit-by-break*/ ){
29932993
int rc;
29942994
char *zInit;
2995
+ assert( db_transaction_nesting_depth()==1 );
29952996
zInit = db_text(0,"SELECT value FROM vvar WHERE name='ci-comment'");
29962997
prepare_commit_comment(&comment, zInit, &sCiInfo, vid, dryRunFlag);
29972998
db_multi_exec("REPLACE INTO vvar VALUES('ci-comment',%B)", &comment);
2999
+ assert( db_transaction_nesting_depth()==1 );
3000
+ db_end_transaction(0);
3001
+ db_begin_transaction();
29983002
if( (rc = verify_comment(&comment, ckComFlgs))!=0 ){
29993003
if( rc==COMCK_PREVIEW ){
30003004
prompt_user("Continue, abort, or edit? (C/a/e)? ", &ans);
30013005
}else{
30023006
prompt_user("Edit, abort, or continue (E/a/c)? ", &ans);
30033007
--- src/checkin.c
+++ src/checkin.c
@@ -2990,13 +2990,17 @@
2990 }
2991 }else if( !noPrompt ){
2992 while( 1/*exit-by-break*/ ){
2993 int rc;
2994 char *zInit;
 
2995 zInit = db_text(0,"SELECT value FROM vvar WHERE name='ci-comment'");
2996 prepare_commit_comment(&comment, zInit, &sCiInfo, vid, dryRunFlag);
2997 db_multi_exec("REPLACE INTO vvar VALUES('ci-comment',%B)", &comment);
 
 
 
2998 if( (rc = verify_comment(&comment, ckComFlgs))!=0 ){
2999 if( rc==COMCK_PREVIEW ){
3000 prompt_user("Continue, abort, or edit? (C/a/e)? ", &ans);
3001 }else{
3002 prompt_user("Edit, abort, or continue (E/a/c)? ", &ans);
3003
--- src/checkin.c
+++ src/checkin.c
@@ -2990,13 +2990,17 @@
2990 }
2991 }else if( !noPrompt ){
2992 while( 1/*exit-by-break*/ ){
2993 int rc;
2994 char *zInit;
2995 assert( db_transaction_nesting_depth()==1 );
2996 zInit = db_text(0,"SELECT value FROM vvar WHERE name='ci-comment'");
2997 prepare_commit_comment(&comment, zInit, &sCiInfo, vid, dryRunFlag);
2998 db_multi_exec("REPLACE INTO vvar VALUES('ci-comment',%B)", &comment);
2999 assert( db_transaction_nesting_depth()==1 );
3000 db_end_transaction(0);
3001 db_begin_transaction();
3002 if( (rc = verify_comment(&comment, ckComFlgs))!=0 ){
3003 if( rc==COMCK_PREVIEW ){
3004 prompt_user("Continue, abort, or edit? (C/a/e)? ", &ans);
3005 }else{
3006 prompt_user("Edit, abort, or continue (E/a/c)? ", &ans);
3007

Keyboard Shortcuts

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