Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Output appropriate error messages and abort if the date argument to the --date-override option is malformed. Ticket [dba59ec54423f19] |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
e0248776d31daa4b7a57593cb48f4ddd |
| User & Date: | drh 2010-08-19 11:46:19.000 |
Context
|
2010-08-20
| ||
| 19:42 | Improvements to the graph layout algorithm. check-in: 98870a8510 user: drh tags: trunk | |
|
2010-08-19
| ||
| 11:46 | Output appropriate error messages and abort if the date argument to the --date-override option is malformed. Ticket [dba59ec54423f19] check-in: e0248776d3 user: drh tags: trunk | |
|
2010-08-18
| ||
| 17:27 | Allow a checkout of the very first (empty) version of a project. check-in: 61ca4141cc user: drh tags: trunk | |
Changes
Changes to src/checkin.c.
| ︙ | ︙ | |||
516 517 518 519 520 521 522 523 524 525 526 527 528 529 |
);
if( b ){
fossil_fatal("ancestor check-in [%.10s] (%s) is younger (clock skew?)",
zUuid, zDate);
}
#endif
}
/*
** COMMAND: ci
** COMMAND: commit
**
** Usage: %fossil commit ?OPTIONS? ?FILE...?
**
| > > > > > > > > > > > > > > > > > | 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 |
);
if( b ){
fossil_fatal("ancestor check-in [%.10s] (%s) is younger (clock skew?)",
zUuid, zDate);
}
#endif
}
/*
** zDate should be a valid date string. Convert this string into the
** format YYYY-MM-DDTHH:MM:SS. If the string is not a valid date,
** print a fatal error and quit.
*/
char *date_in_standard_format(const char *zInputDate){
char *zDate = db_text(0, "SELECT datetime(%Q)", zInputDate);
if( zDate[0]==0 ){
fossil_fatal("unrecognized date format (%s): use \"YYYY-MM-DD HH:MM:SS\"",
zInputDate);
}
assert( strlen(zDate)==19 );
assert( zDate[10]==' ' );
zDate[10] = 'T';
return zDate;
}
/*
** COMMAND: ci
** COMMAND: commit
**
** Usage: %fossil commit ?OPTIONS? ?FILE...?
**
|
| ︙ | ︙ | |||
737 738 739 740 741 742 743 |
/* Create the manifest */
blob_zero(&manifest);
if( blob_size(&comment)==0 ){
blob_append(&comment, "(no comment)", -1);
}
blob_appendf(&manifest, "C %F\n", blob_str(&comment));
| | < | 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 |
/* Create the manifest */
blob_zero(&manifest);
if( blob_size(&comment)==0 ){
blob_append(&comment, "(no comment)", -1);
}
blob_appendf(&manifest, "C %F\n", blob_str(&comment));
zDate = date_in_standard_format(zDateOvrd ? zDateOvrd : "now");
blob_appendf(&manifest, "D %s\n", zDate);
zDate[10] = ' ';
db_prepare(&q,
"SELECT pathname, uuid, origname, blob.rid, isexe"
" FROM vfile JOIN blob ON vfile.mrid=blob.rid"
" WHERE NOT deleted AND vfile.vid=%d"
" ORDER BY 1", vid);
|
| ︙ | ︙ |
Changes to src/db.c.
| ︙ | ︙ | |||
132 133 134 135 136 137 138 139 140 141 142 143 |
void db_force_rollback(void){
static int busy = 0;
if( busy || g.db==0 ) return;
busy = 1;
undo_rollback();
if( nBegin ){
sqlite3_exec(g.db, "ROLLBACK", 0, 0, 0);
if( isNewRepo ){
db_close();
unlink(g.zRepositoryName);
}
}
| > < | 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
void db_force_rollback(void){
static int busy = 0;
if( busy || g.db==0 ) return;
busy = 1;
undo_rollback();
if( nBegin ){
sqlite3_exec(g.db, "ROLLBACK", 0, 0, 0);
nBegin = 0;
if( isNewRepo ){
db_close();
unlink(g.zRepositoryName);
}
}
busy = 0;
}
/*
** Install a commit hook. Hooks are installed in sequence order.
** It is an error to install the same commit hook more than once.
**
|
| ︙ | ︙ | |||
1003 1004 1005 1006 1007 1008 1009 |
db_create_default_users(0, zDefaultUser);
user_select();
if( zInitialDate ){
int rid;
blob_zero(&manifest);
blob_appendf(&manifest, "C initial\\sempty\\scheck-in\n");
| | < | 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 |
db_create_default_users(0, zDefaultUser);
user_select();
if( zInitialDate ){
int rid;
blob_zero(&manifest);
blob_appendf(&manifest, "C initial\\sempty\\scheck-in\n");
zDate = date_in_standard_format(zInitialDate);
blob_appendf(&manifest, "D %s\n", zDate);
blob_appendf(&manifest, "P\n");
md5sum_init();
blob_appendf(&manifest, "R %s\n", md5sum_finish(0));
blob_appendf(&manifest, "T *branch * trunk\n");
blob_appendf(&manifest, "T *sym-trunk *\n");
blob_appendf(&manifest, "U %F\n", g.zLogin);
|
| ︙ | ︙ |