Пользовательский инструмент слияния каталогов / папок - PullRequest
2 голосов
/ 10 апреля 2011

Я думаю о разработке обычного инструмента слияния каталогов / папок как части обучения функциональному программированию, а также для устранения очень личного зуда.

Я обычно работаю на трех разных компьютерах и склонен накапливать многофайлов (текст, видео, аудио) локально, а затем тщательно объединить их для целей резервного копирования.Я почти уверен, что у меня есть дуплисы и ненужные файлы, которые тратятся впустую.Я перехожу к облачному резервному копированию в качестве вторичного источника резервного копирования и хочу сэкономить как можно больше места за счет исключения избыточных файлов.

У меня сложная структура каталогов с глубоким вложением, и мне нужен автоматический инструмент, который автоматическиидет вниз по дереву папок и выполняет слияние.Другая проблема заключается в том, что я использую сочетание Linux и Windows, и во многих моих файлах есть пробелы в имени ...

Первоначально я думал, что мне нужно генерировать хэши для каждого файла и сравнивать их, а неимена файлов (пробелы в имени папки, а также содержимое файлов могут различаться в зависимости от источника и цели).Является ли RIPEMD-160 хорошим балансом между производительностью и предотвращением столкновений?или достаточно SHA-1?Является ли SHA-256/512 избыточным?

Какая функциональная среда программирования поставляется с набором готовых библиотек для генерации этих хешей?Я склоняюсь к OCaml ...

1 Ответ

8 голосов
/ 10 апреля 2011

Проверьте синхронизатор файлов Unison .

Я сам им не пользуюсь, но слышал немало положительных отзывов. Это зрелое программное обеспечение, основанное на неких теоретических основах.

Также написано на OCaml.

...