Как сравнивать и исправлять/объединять строки вместо файлов?

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

Я знаю, как брать diff-файлы и исправлять с их помощью другие файлы. Но я делаю веб-приложение на Python и Django и буду хранить все эти различия в базе данных MySQL. Учитывая, что производительность не является серьезной проблемой для этого приложения, я готов извлечь данные из БД, создать файлы и запустить git diffи patchдля этих файлов.

Есть ли способ лучше, чем создавать новые файлы и удалять их каждый раз, когда я хочу создать новую версию или применить новый diff? Есть ли способ запустить diff для простого текста вместо файлов? Например. установка переменных в bash как содержимое (, что было бы )файлом (, но на самом деле это данные из БД )и запуск git diffна них? Я хотел бы контролировать эти действия из файла Python после того, как пользователь отправит форму.

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

Спасибо за внимание,

ParagonRG

6
задан Paragon 5 May 2012 в 03:31
поделиться