Отслеживание изменений в дереве каталогов с течением времени - PullRequest
1 голос
/ 02 октября 2008

Кто-нибудь знает приложение или систему для отслеживания изменений (добавленных / удаленных файлов, различий в текстовых файлах) в каталог не контролируемый источником с течением времени? Что-то, что позволило бы вам

  1. Сделайте снимок определенного дерева каталогов в момент времени A

  2. Вернитесь в период времени B и посмотрите, что изменилось

  3. Вернитесь в период времени C и посмотрите, что изменилось с периода A, а что изменилось с периода B

Хранилище контроля версий здесь не вариант. Я хочу что-то, что работает на структуру каталогов, которая не находится под каким-либо контролем ревизии. Моя группа не контролирует рассматриваемые серверы или деревья каталогов, но изменения в этих деревьях влияют на нас, и мы хотели бы отслеживать их. Объекты для «управления исходным кодом»:

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

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

Я хочу полузрелый пакет, где люди потратили некоторое время на размышления о проблеме. Если есть система контроля версий, которая была разработана для такого рода вещей, она применима.

Ответы [ 7 ]

4 голосов
/ 02 октября 2008

Напишите запланированное задание со сценарием, которое копирует дерево каталогов в другое место, возможно, на другой компьютер, который является частью репозитория с управлением версиями. Затем запланированное задание будет автоматически фиксировать изменения, используя выбранную вами систему контроля версий (Mercurial должен хорошо работать для этой системы, поскольку hg commit -A -m "automated snapshot" быстро сделает то, что вам нужно, без каких-либо интерактивных запросов).

Я бы предложил для копирования rsync, который доступен для многих платформ, быстрый и эффективный, поскольку он не будет копировать файлы, которые не были изменены. Настройте копию для удаления файлов из вашей копии, которые были удалены в главном каталоге.

3 голосов
/ 02 октября 2008

Ваши варианты действительно:

  1. Полный контроль исходного кода
  2. Управление исходным кодом 'lite' в виде чего-то вроде FileHamster
  3. Средство дифференциального резервного копирования / восстановления
  4. Полное резервное копирование / восстановление и инструмент сравнения
  5. (мне кажется) Файловая система журналирования.

Со стандартным каталогом на самом деле нет способа сделать это без сохранения копии в другом месте, что, по сути, означает, что это репозиторий с контролем исходного кода.

0 голосов
/ 09 октября 2008

Это решение:

использовать локальный репозиторий Subversion и использовать запланированное задание, которое будет фиксировать ваши файлы на регулярной основе (раз в час?)

простой пример:

Ваш каталог, который вы хотите отслеживать: C: \ tracking_dir

каталог, в котором хранятся данные о различиях и другая историческая информация: C: \ хранилище

  1. svnadmin create c: \ repository
  2. svn co file: /// c: / repository c: \ tracking_dir \
  3. установить запланированное задание, которое должно запускать следующие команды:

    svn add c: \ tracking_dir *. *
    svn ci c: \ tracking_dir *. * -m "автоматическое принятие через запланированное задание"

Таким образом, у вас есть работающий пример и вы можете получить доступ к истории через любой интерфейс Subversion

0 голосов
/ 02 октября 2008

Что вы описываете, это система контроля версий ?! Поэтому я не уверен, что понимаю, почему вы не захотите его установить. Вы можете очень легко реализовать локальную версию SVN / CVS и взаимодействовать с ней через свои приложения (например, добавлять новые файлы, удалять старые). Это можно делать периодически, используя запланированное задание или что-то в этом роде.

Я не слышал ни о чем другом, "простом", которое вы могли бы использовать. Я думаю, потому что это уже сделано;) Так зачем воссоздавать колесо ...

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

0 голосов
/ 02 октября 2008

Вам нужна либо система управления исходным кодом, либо система управления документами.

Почему управление исходным кодом недоступно? SVN прост в использовании для непрограммистов благодаря интеграции окон Tortise SVN. '

Похоже, у вас не так много вариантов для сервера ....

Как насчет этого? 1. Настройте репозиторий SVN на своем компьютере. 2. Ночное копирование из Справочника на ваш компьютер и внесение изменений.

Или ... Используйте команду windows «Поиск» для файлов, измененных за последние n дней. Запускайте отчет вручную каждую неделю. Или напишите автоматизацию для этого отчета.

0 голосов
/ 02 октября 2008

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

0 голосов
/ 02 октября 2008

Мне бы хотелось что-то, что выглядит, на вкус и пахнет так же, как молоко. Но это не должно быть молоко.

Другими словами: вы описываете vcs. Если вы скажете нам, почему vcs нельзя использовать, возможно, вам будет проще ответить.

Единственное, о чем я могу думать, это Apple Time Machine, которая (опять же) в основном vcs для масс.

...