Как сохранить текстовую версию, контролируемую git, в базе данных?

#c# #database #libgit2sharp

Вопрос:

Задача: Большой текст с контролем версий должен храниться в базе данных.

Редактировать: Я думаю, что стандартным решением в базе данных будет одна строка на текстовую версию или, например, использование таблицы ИЗМЕНЕНИЙ (MS SQL Server). Но это было бы пустой тратой места.

Проблема: До сих пор мне не удалось найти никакой полезной информации об обработке данных с помощью libgit2sharp в памяти. Но я новичок в libgit2sharp.

Вопрос: Можете ли вы использовать libgit2sharp для этого? Я не хочу временного копирования файлов на диск, так что это должно быть сделано в памяти.

В деталях вам понадобятся следующие функции:

 public class VersionInformation()
{
   public string CommitId { get; set; }
   public string Author { get; set; }
   public DateTime ModifiedDate { get; set; }
   public string Description { get; set; }
}

// dbField is the complete git repository from the database (in this case one file, one branch)

IEnumerable <VersionInformation> GetVersionInformations (string dbField)
{ ??? }

string GetText (string dbField, string commitId)
{ ??? }

string UpdateDbField (string dbField, string description, string author, string newText)
{ ??? }
 

Спасибо вам за вашу помощь!

Комментарии:

1. extensive version controled text что это значит?

2. Это означает, что создание одной записи на версию было бы пустой тратой места.

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

4. Честно говоря, мне все еще непонятно, что вы имеете в виду. Да, libgit2sharp предоставляет подробную информацию о фиксациях… это все, что ты ищешь? Что вы подразумеваете под «созданием одной записи для каждой версии» — что здесь означает «запись»? Что такое dbField ? Пожалуйста, попробуйте прочитать свой вопрос так, как будто вы пришли к нему без какой-либо информации, кроме того, что содержится в вопросе… насколько хорошо вы бы поняли проблему?

5. Я надеюсь, что пересмотр поможет лучше понять мой вопрос.