Можно ли имитировать историческое управление с помощью SVN?
Вступление:
Здравствуйте, в основном, что мне нужно сделать, это моделировать историческое управление (в терминах исторического управления БД) для набора файлов, содержащих скомпилированные и исполняемые фрагменты кода.
Пояснения:
В историческом управлении БД объект состоит из его состояний, которые определяются датами фактической модификации. Затем объект может быть выбран на заданную дату вместе с информацией, которая актуальна на данную дату. Это поведение, которое я пытаюсь реализовать для файлов, которые я собираюсь выполнить. Поскольку наиболее естественным способом сохранения файлов проекта является использование продукта SVN, мне пришло в голову, что, возможно, такая функция уже реализована в Subversion или другой системе контроля версий. Что мне нужно - к определенной дате и может быть запрос к серверу SVN, чтобы получить "правильную" версию (в соответствии с датой) документа, который я отслеживаю.
Вопрос:
В настоящее время я использую Subversion и TortoiseSVN, но я не знаком с расширенными возможностями и ищу здесь помощь. Могу ли я получить версию файла, хранящуюся в моем SVN, из моего кода Java?
Любая помощь будет оценена, С уважением,
издания:
Поскольку мое абстрактное объяснение кажется недостаточно понятным, я приведу пример. Предположим, у меня есть файл test.tgf в моем SVN. Пусть этот файл исполняемым двоичным файлом, и моя машина знает, как выполнять файлы.tgf. В SVN у меня есть 2 версии этого файла - версия 1, которая содержит код, который будет печатать на консоль "Это первая версия этого фрагмента кода", и версия 2, которая содержит код, который будет печатать на консоль "Это вторая версия этого куска кода ". Предположим теперь, что у нас есть графический интерфейс, который содержит только 2 виджета - ввод даты и кнопку "вычислить". Когда пользователь вводит дату и нажимает кнопку "Рассчитать обработку Java-кода", это событие должно проверить, является ли дата меньше, чем 01.01.2010, и если да, выполнить первую версию test.tgf. В противном случае код, который будет выполнен, является второй версией test.tgf. Я надеюсь, что его более ясно, нет.
Милен
Заключение:
Да, можно моделировать историческое управление (в терминах исторического управления БД) с помощью SVN. Спасибо Пол
1 ответ
Что мне нужно - к определенной дате и может быть запрос к серверу SVN, чтобы получить "правильную" версию (в соответствии с датой) документа, который я отслеживаю.
Вы можете посмотреть свои изменения и дату, когда они были сделаны. Вы также можете отфильтровать ревизии по дате в TortoiseSVN. Так в чем проблема?
С Java вы можете использовать SVNKit
с SVNRepository
класс, который имеет методы: getDatedRevision(Date date)
а также getFile()/getDir()
, Простой пример использования здесь.