Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Merge in and correct the changes to the new repository initialization. Also fix other misc bugs seen while testing. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
f5e8b1d736ab0c00b43e04cb5e15cbb5 |
| User & Date: | drh 2007-08-04 00:08:17.000 |
Context
|
2007-08-04
| ||
| 00:26 | Prohibit partial check-ins of a merge. To allow such a thing would confuse the branch tracking logic. There are still problems in the partial check-in logic for cases were new files have been added to the repository. ... (check-in: aafd536a5c user: drh tags: trunk) | |
| 00:08 | Merge in and correct the changes to the new repository initialization. Also fix other misc bugs seen while testing. ... (check-in: f5e8b1d736 user: drh tags: trunk) | |
|
2007-08-03
| ||
| 23:30 | Show an error if unrecognized command-line options appear on the commit command. Also add the (undocumented) "omit-ci-sig" configuration option on the database. Setting omit-ci-sig omits the PGP signature on check-in. ... (check-in: 6aff11f03f user: drh tags: trunk) | |
| 23:04 | Changes to the way new repositories are created. Also make the CGI output blob available to all modules through a function call. ... (check-in: a48936e834 user: drh tags: trunk) | |
Changes
Changes to src/cgi.c.
| ︙ | ︙ | |||
75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
/*
** Reset the HTTP reply text to be an empty string.
*/
void cgi_reset_content(void){
blob_reset(&cgiContent);
}
/*
** Return a pointer to the HTTP reply text.
*/
char *cgi_extract_content(int *pnAmt){
return blob_buffer(&cgiContent);
}
| > > > > > > > | 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
/*
** Reset the HTTP reply text to be an empty string.
*/
void cgi_reset_content(void){
blob_reset(&cgiContent);
}
/*
** Return a pointer to the CGI output blob.
*/
Blob *cgi_output_blob(void){
return &cgiContent;
}
/*
** Return a pointer to the HTTP reply text.
*/
char *cgi_extract_content(int *pnAmt){
return blob_buffer(&cgiContent);
}
|
| ︙ | ︙ |
Changes to src/db.c.
| ︙ | ︙ | |||
662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 |
}
db_create_repository(g.argv[2]);
db_open_repository(g.argv[2]);
db_open_config();
db_begin_transaction();
db_set("content-schema", CONTENT_SCHEMA);
db_set("aux-schema", AUX_SCHEMA);
db_multi_exec(
"INSERT INTO config(name,value) VALUES('server-code', hex(randomblob(20)));"
"INSERT INTO config(name,value) VALUES('project-code',hex(randomblob(20)));"
);
zUser = db_global_get("default-user", 0);
if( zUser==0 ){
zUser = getenv("USER");
}
if( zUser==0 ){
| > | > > > > > > | 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 |
}
db_create_repository(g.argv[2]);
db_open_repository(g.argv[2]);
db_open_config();
db_begin_transaction();
db_set("content-schema", CONTENT_SCHEMA);
db_set("aux-schema", AUX_SCHEMA);
db_set_int("authenticate-localhost", 0);
db_multi_exec(
"INSERT INTO config(name,value) VALUES('server-code', hex(randomblob(20)));"
"INSERT INTO config(name,value) VALUES('project-code',hex(randomblob(20)));"
);
zUser = db_global_get("default-user", 0);
if( zUser==0 ){
zUser = getenv("USER");
}
if( zUser==0 ){
zUser = "root";
}
db_multi_exec(
"INSERT INTO user(login, pw, cap, info)"
"VALUES(%Q,'','s','')", zUser
);
db_multi_exec(
"INSERT INTO user(login,pw,cap,info)"
" VALUES('anonymous','anonymous','hjkorw','Anon');"
"INSERT INTO user(login,pw,cap,info)"
" VALUES('nobody','','jor','Nobody');"
);
user_select();
blob_zero(&manifest);
blob_appendf(&manifest, "C initial\\sempty\\sbaseline\n");
zDate = db_text(0, "SELECT datetime('now')");
zDate[10]='T';
blob_appendf(&manifest, "D %s\n", zDate);
blob_appendf(&manifest, "P\n");
|
| ︙ | ︙ |
Changes to src/main.c.
| ︙ | ︙ | |||
543 544 545 546 547 548 549 550 551 552 553 554 555 556 |
**
** The argument is the name of the repository.
*/
void cmd_http(void){
if( g.argc!=2 && g.argc!=3 ){
cgi_panic("no repository specified");
}
if( g.argc==3 ){
db_open_repository(g.argv[2]);
}else{
db_must_be_within_tree();
}
cgi_handle_http_request();
process_one_web_page();
| > | 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 |
**
** The argument is the name of the repository.
*/
void cmd_http(void){
if( g.argc!=2 && g.argc!=3 ){
cgi_panic("no repository specified");
}
g.cgiPanic = 1;
if( g.argc==3 ){
db_open_repository(g.argv[2]);
}else{
db_must_be_within_tree();
}
cgi_handle_http_request();
process_one_web_page();
|
| ︙ | ︙ | |||
572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 |
zPort = find_option("port", "P", 1);
if( zPort ){
iPort = atoi(zPort);
}else{
iPort = 8080;
}
if( g.argc!=2 && g.argc!=3 ) usage("?REPOSITORY?");
cgi_http_server(iPort);
if( g.fHttpTrace ){
fprintf(stderr, "====== SERVER pid %d =======\n", getpid());
}
if( g.argc==2 ){
db_must_be_within_tree();
}else{
db_open_repository(g.argv[2]);
}
cgi_handle_http_request();
process_one_web_page();
}
| > > > > > | 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 |
zPort = find_option("port", "P", 1);
if( zPort ){
iPort = atoi(zPort);
}else{
iPort = 8080;
}
if( g.argc!=2 && g.argc!=3 ) usage("?REPOSITORY?");
if( g.argc==2 ){
db_must_be_within_tree();
db_close();
}
cgi_http_server(iPort);
if( g.fHttpTrace ){
fprintf(stderr, "====== SERVER pid %d =======\n", getpid());
}
g.cgiPanic = 1;
if( g.argc==2 ){
db_must_be_within_tree();
}else{
db_open_repository(g.argv[2]);
}
cgi_handle_http_request();
process_one_web_page();
}
|
Changes to src/timeline.c.
| ︙ | ︙ | |||
127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
zSQL = mprintf("%z AND event.mtime<=julianday(%Q, 'localtime')",
zSQL, zStart);
}
}
zSQL = mprintf("%z ORDER BY event.mtime DESC LIMIT %d", zSQL, nEntry);
db_prepare(&q, zSQL);
free(zSQL);
www_print_timeline(&q, zDate);
db_finalize(&q);
if( zStart==0 ){
zStart = zDate;
}
@ <hr>
@ <form method="GET" action="%s(g.zBaseURL)/timeline">
| > | 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
zSQL = mprintf("%z AND event.mtime<=julianday(%Q, 'localtime')",
zSQL, zStart);
}
}
zSQL = mprintf("%z ORDER BY event.mtime DESC LIMIT %d", zSQL, nEntry);
db_prepare(&q, zSQL);
free(zSQL);
zDate[0] = 0;
www_print_timeline(&q, zDate);
db_finalize(&q);
if( zStart==0 ){
zStart = zDate;
}
@ <hr>
@ <form method="GET" action="%s(g.zBaseURL)/timeline">
|
| ︙ | ︙ |