-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Начинаем начинать github as database #138
base: master
Are you sure you want to change the base?
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
.Что в ближайших планах: