From 018dd4ca362d94b85bec84aebb45f57fad42556e Mon Sep 17 00:00:00 2001 From: Vishesh Handa Date: Wed, 21 Oct 2020 04:29:01 +0200 Subject: [PATCH] Fix reset repo --- lib/screens/settings_git_remote.dart | 2 ++ lib/setup/screens.dart | 3 +-- lib/state_container.dart | 15 ++++++++++++++- pubspec.lock | 2 +- pubspec.yaml | 2 +- 5 files changed, 19 insertions(+), 5 deletions(-) diff --git a/lib/screens/settings_git_remote.dart b/lib/screens/settings_git_remote.dart index 978a86bc..7ba6d229 100644 --- a/lib/screens/settings_git_remote.dart +++ b/lib/screens/settings_git_remote.dart @@ -3,6 +3,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:dart_git/dart_git.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:path/path.dart' as p; import 'package:provider/provider.dart'; @@ -134,6 +135,7 @@ class _GitRemoteSettingsScreenState extends State { while (true) { var repoFolderPath = p.join(gitDir, "$repoFolderName$num"); if (!Directory(repoFolderPath).existsSync()) { + await GitRepository.init(repoFolderPath); break; } num++; diff --git a/lib/setup/screens.dart b/lib/setup/screens.dart index a3247eb5..9022e035 100644 --- a/lib/setup/screens.dart +++ b/lib/setup/screens.dart @@ -495,8 +495,7 @@ class GitHostSetupScreenState extends State { var basePath = stateContainer.appState.gitBaseDirectory; var settings = Provider.of(context, listen: false); - var repoName = settings.folderName; - var repoPath = p.join(basePath, repoName); + var repoPath = p.join(basePath, widget.repoFolderName); Log.i("RepoPath: $repoPath"); String error; diff --git a/lib/state_container.dart b/lib/state_container.dart index 541584f3..a9b86ebf 100644 --- a/lib/state_container.dart +++ b/lib/state_container.dart @@ -327,7 +327,12 @@ class StateContainer with ChangeNotifier { void completeGitHostSetup(String repoFolderName, String remoteName) { () async { - var repo = await GitRepository.load(_gitRepo.gitDirPath); + var repoPath = p.join(appState.gitBaseDirectory, repoFolderName); + Log.i("completeGitHostSetup repoPath: $repoPath"); + + _gitRepo = GitNoteRepository(gitDirPath: repoPath, settings: settings); + + var repo = await GitRepository.load(repoPath); var remote = repo.config.remote(remoteName); var remoteBranch = await repo.guessRemoteHead(remoteName); var remoteBranchName = remoteBranch.name.branchName(); @@ -359,6 +364,14 @@ class StateContainer with ChangeNotifier { } + this.repoPath = repoPath; + _notesCache.clear(); + appState.remoteGitRepoConfigured = true; + appState.notesFolder.reset(repoPath); + + settings.folderName = repoFolderName; + settings.save(); + await _persistConfig(); _loadNotes(); _syncNotes(); diff --git a/pubspec.lock b/pubspec.lock index 57ceb289..f71cc2e3 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -438,7 +438,7 @@ packages: name: git_bindings url: "https://pub.dartlang.org" source: hosted - version: "0.0.17" + version: "0.0.18" git_url_parse2: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index e9a01c7e..37bd7bfb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -29,7 +29,7 @@ dependencies: dynamic_theme: ^1.0.0 flutter_staggered_grid_view: ^0.3.0 provider: ^4.3.2+2 - git_bindings: ^0.0.17 + git_bindings: ^0.0.18 dart_git: git: https://github.com/GitJournal/dart_git.git #path: /Users/vishesh/src/gitjournal/dart_git