Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Make sure a user does not attempt to "fossil add" the manifest or the _FOSSIL_ files. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
20bcbcf2f2b2518f1745f473337ce5c5 |
| User & Date: | drh 2007-08-08 15:22:43.000 |
Context
|
2007-08-08
| ||
| 15:30 | Do not remove files that have been edited when doing an "update". Instead, mark the files as CONFLICT. ... (check-in: fe6ee8a431 user: drh tags: trunk) | |
| 15:22 | Make sure a user does not attempt to "fossil add" the manifest or the _FOSSIL_ files. ... (check-in: 20bcbcf2f2 user: drh tags: trunk) | |
| 15:18 | Write the new manifest file to the root of the check-out tree when doing an update. ... (check-in: a040ae6e17 user: drh tags: trunk) | |
Changes
Changes to src/add.c.
| ︙ | ︙ | |||
51 52 53 54 55 56 57 |
Blob pathname;
int isDir;
zName = mprintf("%s", g.argv[i]);
isDir = file_isdir(zName);
if( isDir==1 ) continue;
if( isDir==0 ){
| | | > > > | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
Blob pathname;
int isDir;
zName = mprintf("%s", g.argv[i]);
isDir = file_isdir(zName);
if( isDir==1 ) continue;
if( isDir==0 ){
fossil_fatal("not found: %s", zName);
}
if( isDir==2 && access(zName, R_OK) ){
fossil_fatal("cannot open %s", zName);
}
file_tree_name(zName, &pathname);
zPath = blob_str(&pathname);
if( strcmp(zPath, "manifest")==0 || strcmp(zPath, "_FOSSIL_")==0 ){
fossil_fatal("cannot add %s", zPath);
}
if( db_exists("SELECT 1 FROM vfile WHERE pathname=%Q", zPath) ){
db_multi_exec("UPDATE vfile SET deleted=0 WHERE pathname=%Q", zPath);
}else{
db_multi_exec(
"INSERT INTO vfile(vid,deleted,rid,mrid,pathname)"
"VALUES(%d,0,0,0,%Q)", vid, zPath);
}
|
| ︙ | ︙ | |||
97 98 99 100 101 102 103 |
Blob pathname;
zName = mprintf("%s", g.argv[i]);
file_tree_name(zName, &pathname);
zPath = blob_str(&pathname);
if( !db_exists(
"SELECT 1 FROM vfile WHERE pathname=%Q AND NOT deleted", zPath) ){
| | | 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
Blob pathname;
zName = mprintf("%s", g.argv[i]);
file_tree_name(zName, &pathname);
zPath = blob_str(&pathname);
if( !db_exists(
"SELECT 1 FROM vfile WHERE pathname=%Q AND NOT deleted", zPath) ){
fossil_fatal("not in the repository: %s", zName);
}else{
db_multi_exec("UPDATE vfile SET deleted=1 WHERE pathname=%Q", zPath);
}
blob_reset(&pathname);
free(zName);
}
db_multi_exec("DELETE FROM vfile WHERE deleted AND rid=0");
db_end_transaction(0);
}
|