Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Update for making mycfg.exe. <b>WARNING:</b> This is an <u>incompatible change</u>. Do not use this branch of development to build a copy of fossil that needs to interoperate with official releases. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
b54de50ac5e4c6b796163685c82fccab |
| User & Date: | urmil 2008-11-03 09:55:46.000 |
| Original Comment: | Update for making mycfg.exe |
References
|
2008-11-03
| ||
| 22:52 | Undo all changes associated with [b54de50ac5] and merge that branch into the trunk. We do not want to have an open branch in the official repository that yield a fundamentally incompatible version of the program. ... (check-in: 8b16c47cbc user: drh tags: trunk) | |
Context
|
2008-11-03
| ||
| 22:52 | Undo all changes associated with [b54de50ac5] and merge that branch into the trunk. We do not want to have an open branch in the official repository that yield a fundamentally incompatible version of the program. ... (check-in: 8b16c47cbc user: drh tags: trunk) | |
| 09:55 | Update for making mycfg.exe. <b>WARNING:</b> This is an <u>incompatible change</u>. Do not use this branch of development to build a copy of fossil that needs to interoperate with official releases. ... (check-in: b54de50ac5 user: urmil tags: trunk) | |
|
2008-11-02
| ||
| 18:22 | Add submenu entries on timeline pages for selecting options such as "tickets only" and "200 entries per page" and so forth. ... (check-in: c9cd128c2c user: drh tags: trunk) | |
Changes
Changes to Makefile.w32.
1 2 3 4 5 6 | #!/usr/bin/make # #### The toplevel directory of the source tree. Fossil can be built # in a directory that is separate from the source tree. Just change # the following to point from the build directory to the src/ folder. # | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #!/usr/bin/make # #### The toplevel directory of the source tree. Fossil can be built # in a directory that is separate from the source tree. Just change # the following to point from the build directory to the src/ folder. # SRCDIR = src #### C Compiler and options for use in building executables that # will run on the platform that is doing the build. This is used # to compile code-generator programs as part of the build process. # See TCC below for the C compiler for building the finished binary. # BCC = gcc -g -O2 #### The suffix to add to executable files. ".exe" for windows. # Nothing for unix. # E = .exe #### C Compile and options for use in building executables that # will run on the target platform. This is usually the same # as BCC, unless you are cross-compiling. This C compiler builds # the finished binary for fossil. The BCC compiler above is used # for building intermediate code-generator tools. # #TCC = gcc -O6 #TCC = gcc -g -O0 -Wall -fprofile-arcs -ftest-coverage #TCC = gcc -g -Os -Wall TCC = i586-mingw32msvc-gcc -g -Os -Wall -DFOSSIL_I18N=0 -L/usr/i586-mingw32msvc/lib -I/usr/i586-mingw32msvc/include #### Extra arguments for linking the finished binary. Fossil needs # to link against the Z-Lib compression library. There are no # other dependencies. We sometimes add the -static option here # so that we can build a static executable that will run in a # chroot jail. # |
| ︙ | ︙ |
Changes to src/add.c.
| ︙ | ︙ | |||
65 66 67 68 69 70 71 |
}
if( isDir==2 && access(zName, R_OK) ){
fossil_fatal("cannot open %s", zName);
}
file_tree_name(zName, &pathname, 1);
zPath = blob_str(&pathname);
if( strcmp(zPath, "manifest")==0
| | | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
}
if( isDir==2 && access(zName, R_OK) ){
fossil_fatal("cannot open %s", zName);
}
file_tree_name(zName, &pathname, 1);
zPath = blob_str(&pathname);
if( strcmp(zPath, "manifest")==0
|| strcmp(zPath, "_MYCFG_")==0
|| strcmp(zPath, "manifest.uuid")==0
|| blob_compare(&pathname, &repo)==0
){
fossil_warning("cannot add %s", zPath);
}else{
if( !file_is_simple_pathname(zPath) ){
fossil_fatal("filename contains illegal characters: %s", zPath);
|
| ︙ | ︙ |
Changes to src/checkin.c.
| ︙ | ︙ | |||
168 169 170 171 172 173 174 |
db_must_be_within_tree();
db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY)");
n = strlen(g.zLocalRoot);
blob_init(&path, g.zLocalRoot, n-1);
vfile_scan(0, &path, blob_size(&path));
db_prepare(&q,
"SELECT x FROM sfile"
| | | 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 |
db_must_be_within_tree();
db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY)");
n = strlen(g.zLocalRoot);
blob_init(&path, g.zLocalRoot, n-1);
vfile_scan(0, &path, blob_size(&path));
db_prepare(&q,
"SELECT x FROM sfile"
" WHERE x NOT IN ('manifest','manifest.uuid','_MYCFG_')"
" ORDER BY 1");
if( file_tree_name(g.zRepositoryName, &repo, 0) ){
db_multi_exec("DELETE FROM sfile WHERE x=%B", &repo);
}
while( db_step(&q)==SQLITE_ROW ){
printf("%s\n", db_column_text(&q, 0));
}
|
| ︙ | ︙ | |||
196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 |
** optional -all flag.
*/
void clean_cmd(void){
int allFlag;
Blob path, repo;
Stmt q;
int n;
allFlag = find_option("all","a",0)!=0;
db_must_be_within_tree();
db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY)");
n = strlen(g.zLocalRoot);
blob_init(&path, g.zLocalRoot, n-1);
vfile_scan(0, &path, blob_size(&path));
db_prepare(&q,
"SELECT %Q || x FROM sfile"
| > | | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 |
** optional -all flag.
*/
void clean_cmd(void){
int allFlag;
Blob path, repo;
Stmt q;
int n;
printf ("This feature is disabled.\n"); return;
allFlag = find_option("all","a",0)!=0;
db_must_be_within_tree();
db_multi_exec("CREATE TEMP TABLE sfile(x TEXT PRIMARY KEY)");
n = strlen(g.zLocalRoot);
blob_init(&path, g.zLocalRoot, n-1);
vfile_scan(0, &path, blob_size(&path));
db_prepare(&q,
"SELECT %Q || x FROM sfile"
" WHERE x NOT IN ('manifest','manifest.uuid','_MYCFG_')"
" ORDER BY 1", g.zLocalRoot);
if( file_tree_name(g.zRepositoryName, &repo, 0) ){
db_multi_exec("DELETE FROM sfile WHERE x=%B", &repo);
}
while( db_step(&q)==SQLITE_ROW ){
if( allFlag ){
unlink(db_column_text(&q, 0));
|
| ︙ | ︙ |
Changes to src/checkout.c.
| ︙ | ︙ | |||
201 202 203 204 205 206 207 |
void close_cmd(void){
int forceFlag = find_option("force","f",0)!=0;
db_must_be_within_tree();
if( !forceFlag && unsaved_changes()==1 ){
fossil_fatal("there are unsaved changes in the current checkout");
}
db_close();
| | | | 201 202 203 204 205 206 207 208 209 210 |
void close_cmd(void){
int forceFlag = find_option("force","f",0)!=0;
db_must_be_within_tree();
if( !forceFlag && unsaved_changes()==1 ){
fossil_fatal("there are unsaved changes in the current checkout");
}
db_close();
unlink(mprintf("%s_MYCFG_", g.zLocalRoot));
unlink(mprintf("%s_MYCFG_-journal", g.zLocalRoot));
}
|
Changes to src/db.c.
| ︙ | ︙ | |||
26 27 28 29 30 31 32 | ** There are three separate database files that fossil interacts ** with: ** ** (1) The "user" database in ~/.fossil ** ** (2) The "repository" database ** | | | 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | ** There are three separate database files that fossil interacts ** with: ** ** (1) The "user" database in ~/.fossil ** ** (2) The "repository" database ** ** (3) A local checkout database named "_MYCFG_" or ".fos" ** and located at the root of the local copy of the source tree. ** */ #include "config.h" #ifndef __MINGW32__ # include <pwd.h> #endif |
| ︙ | ︙ | |||
599 600 601 602 603 604 605 | db_open_config(); db_open_repository(0); return 1; } /* ** Locate the root directory of the local repository tree. The root | | | | | | 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 |
db_open_config();
db_open_repository(0);
return 1;
}
/*
** Locate the root directory of the local repository tree. The root
** directory is found by searching for a file named "_MYCFG_" or ".fos"
** that contains a valid repository database.
**
** If no valid _MYCFG_ or .fos file is found, we move up one level and
** try again. Once the file is found, the g.zLocalRoot variable is set
** to the root of the repository tree and this routine returns 1. If
** no database is found, then this routine return 0.
**
** This routine always opens the user database regardless of whether or
** not the repository database is found. If the _MYCFG_ or .fos file
** is found, it is attached to the open database connection too.
*/
int db_open_local(void){
int i, n;
char zPwd[2000];
char *zPwdConv;
static const char *aDbName[] = { "/_MYCFG_", "/.fos" };
if( g.localOpen) return 1;
if( getcwd(zPwd, sizeof(zPwd)-20)==0 ){
db_err("pwd too big: max %d", sizeof(zPwd)-20);
}
n = strlen(zPwd);
zPwdConv = mprintf("%/", zPwd);
|
| ︙ | ︙ | |||
1137 1138 1139 1140 1141 1142 1143 |
usage("REPOSITORY-FILENAME");
}
if( db_open_local() ){
fossil_panic("already within an open tree rooted at %s", g.zLocalRoot);
}
file_canonical_name(g.argv[2], &path);
db_open_repository(blob_str(&path));
| | | 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 |
usage("REPOSITORY-FILENAME");
}
if( db_open_local() ){
fossil_panic("already within an open tree rooted at %s", g.zLocalRoot);
}
file_canonical_name(g.argv[2], &path);
db_open_repository(blob_str(&path));
db_init_database("./_MYCFG_", zLocalSchema, (char*)0);
db_open_local();
db_lset("repository", blob_str(&path));
db_record_repository_filename(blob_str(&path));
vid = db_int(0, "SELECT pid FROM plink y"
" WHERE NOT EXISTS(SELECT 1 FROM plink x WHERE x.cid=y.pid)");
if( vid==0 ){
db_lset_int("checkout", 1);
|
| ︙ | ︙ |
Changes to src/main.mk.
| ︙ | ︙ | |||
209 210 211 212 213 214 215 | vfile.o \ wiki.o \ wikiformat.o \ winhttp.o \ xfer.o \ zip.o | | | 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 | vfile.o \ wiki.o \ wikiformat.o \ winhttp.o \ xfer.o \ zip.o APPNAME = mycfg$(E) all: $(APPNAME) install: $(APPNAME) mv $(APPNAME) $(INSTALLDIR) |
| ︙ | ︙ |