Другие отметили, что Subversion и ее родственники не имеют проблем с бинарными файлами (хотя это не так удобно, как текст). Требование резервного копирования базы данных является более интересным, хотя, и тот, с которым я сталкивался не один раз.
В идеале я хотел бы получить текстовое представление разницы между двумя версиями базы данных (схема и данные). Применение такого diff приведет вас от одной версии к другой. Механизм управления исходным кодом может просто сохранить это с каждой фиксацией. Rails-миграции - отличный способ обработки различий схемы, но я не видел ничего, что могло бы обрабатывать полную схему и данные в простом текстовом формате.
В противном случае, я полагаю, вы можете проверить дамп текстовой базы данных, как тип, который mysqldump
генерирует команда для MySQL. Алгоритм сравнения исходного инструмента управления, вероятно, не будет обрабатывать его эффективно, но для него, вероятно, потребуется меньше места, чем проверка в непрозрачном двоичном файле базы данных.