diff --git a/HISTORY b/HISTORY index 4bdf7a3c..435f522f 100644 --- a/HISTORY +++ b/HISTORY @@ -4,7 +4,7 @@ SnapRAID HISTORY 3.0 2013/3 ========== * Added pooling support with the new 'pool' command. It creates a virtual - view of the array using symbolic links pointing at the original files. + view of the array using symbolic links pointing to the original files. * Added a new -m, --filter-missing option that allow to undelete files, without checking/fixing the others. * Added a new -i, --import option to automatically import deleted files @@ -14,7 +14,7 @@ SnapRAID HISTORY * Added support to save symlinks to files in Windows. Note that only the symlink is saved and not the linked file. Symlinks to dirs and junctions are still not supported in Windows. - * Files without read permission generates now an error instead of a warning. + * Files without read permission generate an error instead of a warning. You now must explicitely exclude them in the configuration file with exclusion rules. * In 'check' and 'fix', if verbose is enabled, prints the result for each diff --git a/TODO b/TODO index bb461691..dbc62bfd 100644 --- a/TODO +++ b/TODO @@ -9,6 +9,19 @@ This is the list of TODO items for SnapRAID. But we must cover the case of bad blocks. Likely we can just check the hash after reading, and in case, skip it, and retry with another copy. +* Add a new "commit" command to move changes from the pool to the array. +It should: +- Move files copied into the pool (that are no links) to the array. +The files should be moved to the disk that contains most of the files +in the directory. If no space, try with the disk with less files +in the directory, and eventually the disk in the array with more free space. +- Detect renames, and apply them in the array. +The file will be renamed and moved to the new directory, if changed, +but kept in the same disk of the array. +- Detect deletes, and move file in the array to a "/trash/" directory +of the same disk. For safety no real deletion is done. +File with the same name will get an extra extension like ".1", ".2". + * If a content file is missing, sync should rewrite it, even if no change was done at the content. * A new 'init' command to differentiate the first 'sync' operation.