Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Fix the FuseFS to correctly report when files that have executable permission. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | fusefs |
| Files: | files | file ages | folders |
| SHA1: |
a2730f72768678c3182b9a51971f06aa |
| User & Date: | drh 2014-06-14 02:48:18.991 |
Context
|
2014-06-14
| ||
| 02:57 | Update autosetup to automatically detect the availability of FuseFS and add it to the configuration. ... (check-in: be7e239894 user: drh tags: fusefs) | |
| 02:48 | Fix the FuseFS to correctly report when files that have executable permission. ... (check-in: a2730f7276 user: drh tags: fusefs) | |
| 01:28 | Initialize implementation of the "fusefs" command. To make it work, manually edit the Makefile to add -DFOSSIL_HAVE_FUSEFS and -lfuse. Then run "fossil fusefs /tmp/fusefs". Afterwards you can "ls /tmp/fusefs/checkins/trunk" and so forth. ... (check-in: ee5cd77d5a user: drh tags: fusefs) | |
Changes
Changes to src/fusefs.c.
| ︙ | ︙ | |||
130 131 132 133 134 135 136 |
}
fusefs_load_rid(rid, fusefs.az[1]);
if( fusefs.pMan==0 ) return -ENOENT;
pFile = manifest_file_seek(fusefs.pMan, fusefs.az[2], 1);
if( pFile==0 ) return -ENOENT;
stbuf->st_mtime = (fusefs.pMan->rDate - 2440587.5)*86400.0;
if( strcmp(fusefs.az[2], pFile->zName)==0 ){
| | > | 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 |
}
fusefs_load_rid(rid, fusefs.az[1]);
if( fusefs.pMan==0 ) return -ENOENT;
pFile = manifest_file_seek(fusefs.pMan, fusefs.az[2], 1);
if( pFile==0 ) return -ENOENT;
stbuf->st_mtime = (fusefs.pMan->rDate - 2440587.5)*86400.0;
if( strcmp(fusefs.az[2], pFile->zName)==0 ){
stbuf->st_mode = S_IFREG |
(manifest_file_mperm(pFile)==PERM_EXE ? 0555 : 0444);
stbuf->st_nlink = 1;
stbuf->st_size = db_int(0, "SELECT size FROM blob WHERE uuid='%s'",
pFile->zUuid);
return 0;
}
n = (int)strlen(fusefs.az[2]);
if( strncmp(fusefs.az[2], pFile->zName, n)!=0 ) return -ENOENT;
|
| ︙ | ︙ |
Changes to src/manifest.c.
| ︙ | ︙ | |||
1159 1160 1161 1162 1163 1164 1165 |
/*
** Compute an appropriate mlink.mperm integer for the permission string
** of a file.
*/
int manifest_file_mperm(ManifestFile *pFile){
int mperm = PERM_REG;
if( pFile && pFile->zPerm){
| | | > | 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 |
/*
** Compute an appropriate mlink.mperm integer for the permission string
** of a file.
*/
int manifest_file_mperm(ManifestFile *pFile){
int mperm = PERM_REG;
if( pFile && pFile->zPerm){
if( strstr(pFile->zPerm,"x")!=0 ){
mperm = PERM_EXE;
}else if( strstr(pFile->zPerm,"l")!=0 ){
mperm = PERM_LNK;
}
}
return mperm;
}
/*
** Add a single entry to the mlink table. Also add the filename to
** the filename table if it is not there already.
|
| ︙ | ︙ |