LINUX.ORG.RU

Автоматическое отслеживание изменений в структуре каталогов через DVCS.


0

1

Интересует, нет ли в природе такой штуки. Чтобы нечто отслеживало изменение в структуре каталогов (идеально — через inotify, но сойдёт и просто cron), а изменения бы все коммитило в какую-нибудь популярную DVCS (лучше — mercurial или git). И по факту изменения дёргало бы мой скрипт через хук, чтобы я изменение ещё мог отдельно обработать.

Понятно, что в варианте с cron проблем особых нет — периодически анализируем hg/git stat смотрим, что изменилось, предпринимаем действия, коммитим изменения.

Но, может уже есть приличное невелосипедное решение?

★★★★★

У mercurial было какое-то расширение, используещее inotify для того, чтобы избегать скана дерева каталогов. Можешь поковырять его :)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Насколько я понял, это расширение просто докладывает mercurial-демону обо всех изменениях в репозитории, так что потом при работе с ним не требуется сканирование.

Ну да ладно, пожалуй быстрее будет велосипед с hg stat написать :) Вот бы ещё научить его автоматом перемещения файлов отслеживать… Впрочем, перемещать по hg move никто не мешает вместо mv :)

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от stevejobs

> помойму проще выкинуть и написать свой велосипед =)

Вам с Кроном - может быть.

tailgunner ★★★★★
()
Ответ на: комментарий от stevejobs

Ну, что-то типа такого в первом приближении вышло :)

#!/bin/bash

if [[ ! -d .hg ]]; then
    echo Это не Mercurial-репозиторий!
    exit
fi

hg stat|while read S; do
    case $S in
        '! '*) hg remove ${S:2};;
        '? '*) hg add ${S:2};;
        'M '*);;
        *) echo Unknown status $S;;
    esac
done

hg ci -m "Autocommit"

Потом ещё наверняка какие-то статусы добавить надо будет.

KRoN73 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.