Начинаем начинать github as database#138
Conversation
# Conflicts: # DotNetRu.Commune.GitHubFilesystem/DotNetRu.Commune.GitHubFilesystem.csproj # DotNetRu.Commune.GitHubFilesystem/EditingContext.cs # DotNetRu.Commune.GitHubFilesystem/GitHubFileStream.cs # DotNetRu.Commune.GitHubFilesystem/GitHubFilesystem.cs # DotNetRu.Commune.sln # test/DotNetRu.Commune.Test.Fs.GitHubFilesystem/DotNetRu.Commune.Test.Fs.GitHubFilesystem.fsproj # test/DotNetRu.Commune.Test.Fs.GitHubFilesystem/GitHubFileStreamTests.fs
|
Добавил возможность закоммитить изменения. |
|
@zetroot Было бы замечательно получить подробную инструкцию как получить GitHub токен. И сохранить её в wiki |
|
@kulakovt ок, займусь завтра. |
|
@kulakovt добавил страницу в wiki |
* setting up serilog logging * dependency injection and options injection
|
Коллеги, что-то я застрял.
|
Думаю, это не проблема. Любой IO должен быть асинхронным.
Игорь писал в #129
|
|
Итак, я немного потрудился еще и теперь:
Интерфейс конечно выглядит отвратительно. Но вроде бы работает. Кто-то может испытать? |
|
Посмотрите пожалуйста асинхронную файловую систему. Подходит ли она под все ваши пожелания? |
|
@kulakovt выглядит в целом как то что нужно. Хочу еще больше асинхронности, например в получении |
PR для прозрачности прогресса.
Реализация описанного в #129
Набор классов для работы с репозиториями github и их содержимым в памяти. Сейчас все это реализует
IFileProvider. Только стрим с файлом можно не только читать, но и писать.Нужна собственная абстракция провайдера файлов с методами создания и удаления файлов. Обновление в репозитории осуществляется через
Flushстрима.Все начинается с
GitHubFilesystem. Надо начать сессию редактирования методомStartContext, затем можно пользоваться какIFileProvider.Что в ближайших планах: