pytagsfs 0.6.0rc2 2008-03-26
- Improve performance for readdir by changing post-processing list of entries in PyTypesPathStore.get_entries_for_directory to use new function last_unique instead of unique. Thanks to Chris Pickel. (Forest Bond)
- Improve performance for readdir when debug logging is turned on by decorating FileSystemMappingToRealFiles.readdir with @logged instead of @verbosely_logged. (Forest Bond)
- Cache directory entries. This provides a significant performance improvement for readdir calls after the first. (Forest Bond)
pytagsfs 0.6.0rc1 2008-03-24
- Keep order of directory entries the same across renames, collisions, etc. Implementation happens to improve performance for source tree file updates, as well. (Forest Bond)
- Support simple renames of files under mount point. Renaming virtual files and directories causes the meta-data of the underlying source files to be updated appropriately. Files can be moved from one directory to another, or files and directories can be renamed. (Forest Bond)
- Fix bug preventing stat results from actually being cached. This likely had impact on performance of directory listings. (Forest Bond)
- Fix TypeError from readdir due to poor handling in VirtualLogFile. (Forest Bond)
- Fix cache not pruned due to rename. (Forest Bond)
- Directory permissions now taken from source tree root directory (previously arbitrary). (Forest Bond)
- Fix broken directory mtime, ctime, atime. (Forest Bond)
- Fix partial stat cache invalidation when full path branch should be invalidated. This would cause directory mtime, ctime, atime to not be updated when it should. (Forest Bond)
- Fix partial stat cache pruning in response to source file updates. (Forest Bond)
- Support mkdir, rmdir. (Forest Bond)
- Fix bad handling of updates to previously unrepresentable source files. (Forest Bond)
- Fix rmdir not completely removing the target directory. While the directory was no longer returned by readdir on parent, stat still indicated its presence. (Forest Bond)
pytagsfs 0.5.0 2008-03-08
- pytagsfs is now compatible with Python 2.4. (Forest Bond)
pytagsfs 0.5.0rc2 2008-03-07
- Initial scanning of files was taking place after filesystem process detached from the user's shell. This causes the initial population delay to be observed when the filesystem is first accessed, leading to confusion as to whether the filesystem had hung. Now, the files are scanned before the process detaches. (Forest Bond)
- Fixed log spamming after each open of log file (".log"). (Forest Bond)
pytagsfs 0.5.0rc1 2008-03-06
Added option -o verbosity=VERBOSITY; VERBOSITY should be one of debug, info, warning, error, critical. -d/-o debug overrides this, and forces verbosity to debug. (Forest Bond)
With -d/-o debug, log to both .log and stderr. Otherwise, log to .log only. (Forest Bond)
Limit size of in-memory log file (.log) to 1MB. (Forest Bond)
Allow size of in-memory log file to be overridden via -o logsize. (Forest Bond)
Fixed bug preventing addition of tags to previously untagged mp3 files. (Forest Bond)
Improved inotify performance for case where source files are updated numerous times between event processing calls; DeferredInotifySourceTreeMonitor. (Forest Bond)
Improved performance by only processing add, remove, and update events for sources files after initialization (post populate) and prior to getattr calls. (Forest Bond)
Fix bug causing reads on a recently truncated fd to return the removed content by using direct_io = True for ReadWriteFile's. (Forest Bond)
Fix bug (sort of) where getattr calls for a file currently open for writing return the size of the file before being opened. Now, we defer to fgetattr on the open file object. This would cause, for instance, mutagen to badly truncate OGG files. (Forest Bond)
Fix broken setup.py that forgets to install sub-packages. (Forest Bond)
Fix missing import log_traceback in pytagsfs.sourcetree. (Forest Bond)
Fix handling of transient conflicts. Previously, when two or more source files map to the same file name under the mount point, and one of those source files was either removed or modified such that it mapped to a different path, the mount path became a "dead" file, with zero links. Now, that path will become reassociated with the next source file candidate. (Forest Bond)
Fix pytags, pytagsfs always exiting with zero status, despite errors. (Forest Bond)
Log to stderr when option -f/-o foreground is specified. (Forest Bond)
Introduced fallback mechanism for source tree change monitoring backends. Source tree monitors are tried in the following order: pyinotify, gamin, dummy.
- pyinotify only works on Linux, but is faster than gamin.
- gamin possibly works on other Unix-like systems (like the BSD's).
- The dummy backend doesn't actually do anything, so changes to the source tree are not reflected in the mount tree.
Non-Linux users should report success or failure with the gamin backend.
(Forest Bond)
pytagsfs 0.3.0 2008-01-17
Added BUGS. (Forest Bond)
A virtual log file (".log") is created under the moint point. The contents of this file are stored in memory. In the event of a (detected) bug, tracebacks and other critical debugging data will be accessible by reading this file. (Forest Bond)
If a file is truncated (directly, without being opened), the effects of this are not immediately visible. Reads will continue to return the file contents prior to truncation. However, if the file is opened in write-only or read-write mode, the truncation will be apparent to the opener. Once the file is closed, reads will return the new content. This makes it possible to successfully re-tag files in such a way that the file path changes. (Forest Bond)
Write support is now considered reliable. (Forest Bond)
Removed support for the following filesystem functions, which were either incorrect or irrelevant given currently supported features:
- readlink
- mknod
- mkdir
- unlink
- symlink
- rename
- link
(Forest Bond)
Fixed incorrect stat results due to out of date cache values. This also corrects issue where writes would not show up in mounted tree. (Forest Bond)
Drastic performance improvement via stat() result caching. (Forest Bond)
Fixed bug in setup.py causing version information to be excluded from generated .egg file. (Forest Bond)
pytagsfs 0.2.0 2007-12-15
- Added NEWS file; sorry for the previous absence. (Forest Bond)
- [NEWS file not present]
pytagsfs 0.1.0 2007-12-06
- [NEWS file not present]
