| 62 | |
| 63 | == Drivers Updated == |
| 64 | |
| 65 | It is anticipated that a majority of the commonly used drivers will be updated with custom !GetFileList() methods that account for world files and other ideosyncratic files. A particular emphasis will made to handle the various formats in gdal/frmts/raw that consist of a header file and a raw binary file. |
| 66 | |
| 67 | Drivers for "one file formats" that are not updated will still use the default logic which should work fairly well, but might neglect auxilary world files. |
| 68 | |
| 69 | * VRT: I do not anticipate updating the VRT driver at this time since it gets quite complicated to collect a file list for some kinds of virtual files. It is also not exactly clear whether related files should be considered "owned" by the virtual dataset or not. |
| 70 | * AIGRID: I will implement a custom rename operation in an attempt to handle this directory oriented format gracefully. |
| 71 | |
| 72 | == Outstanding Issues == |
| 73 | |
| 74 | * How do we address subdatset oriented files like netcdf, and hdf? A default implementation would leave the base dataset, opened via the direct filename, as "managable" while the subdatasets would all have empty file lists and thus be unmanagable. |
| 75 | * There is no mechanism anticipated to ensure that files are closed before they are removed. If an application does not ensure this rename/move operations may fail on win32 since it doesn't allow rename/delete operations on open files. Things could easily be left in an inconsistent state. |
| 76 | * Should there be a way for a dataset to indicate that it is not managable? Perhaps this is the implicit meaning of !GetFileList() returning an empty list? |
| 77 | |
| 78 | == Implementation Plan == |
| 79 | |
| 80 | This change will be implemented by Frank Warmerdam in trunk in time for the 1.5.0 release. |
| 81 | |
| 82 | == SWIG Implications == |
| 83 | |
| 84 | The GDALRenameDataset() operation on the driver, and the !GetFileList() operation on the dataset will need to be exposed through SWIG. |
| 85 | |
| 86 | == Testing == |
| 87 | |
| 88 | Rename testing will be added to the regression tests for a few representative formats. These rename operations will be between one directory and another, and will not test cross file system copying which will have to be tested manually. |
| 89 | |
| 90 | A small gdalrename.py script will be implemented allowing use and testing of the rename operation from the commandline in a convenient fashion. |
| 91 | |