diff --git a/src/ViewModels/Clone.cs b/src/ViewModels/Clone.cs index d6ec8109..a215d5e2 100644 --- a/src/ViewModels/Clone.cs +++ b/src/ViewModels/Clone.cs @@ -85,9 +85,9 @@ namespace SourceGit.ViewModels _pageId = pageId; Groups = new List(); + Groups.Add(new RepositoryNode { Name = "No Group (Uncategorized)", Id = string.Empty }); + SelectedGroup = Groups[0]; CollectGroups(Groups, Preferences.Instance.RepositoryNodes); - if (Groups.Count > 0) - SelectedGroup = Groups[0]; Bookmarks = new List(); for (var i = 0; i < Models.Bookmarks.Brushes.Length; i++) @@ -166,7 +166,8 @@ namespace SourceGit.ViewModels log.Complete(); - var node = Preferences.Instance.FindOrAddNodeByRepositoryPath(path, _selectedGroup, true); + var parent = _selectedGroup is { Id: not "" } ? _selectedGroup : null; + var node = Preferences.Instance.FindOrAddNodeByRepositoryPath(path, parent, true); node.Bookmark = _bookmark; await node.UpdateStatusAsync(false, null); diff --git a/src/ViewModels/OpenLocalRepository.cs b/src/ViewModels/OpenLocalRepository.cs index 18fd9d6a..5d5825b0 100644 --- a/src/ViewModels/OpenLocalRepository.cs +++ b/src/ViewModels/OpenLocalRepository.cs @@ -41,12 +41,11 @@ namespace SourceGit.ViewModels public OpenLocalRepository(string pageId, RepositoryNode group) { _pageId = pageId; - _group = group; Groups = new List(); + Groups.Add(new RepositoryNode { Name = "No Group (Uncategorized)", Id = string.Empty }); + Group = group ?? Groups[0]; CollectGroups(Groups, Preferences.Instance.RepositoryNodes); - if (Groups.Count > 0 && _group == null) - Group = Groups[0]; Bookmarks = new List(); for (var i = 0; i < Models.Bookmarks.Brushes.Length; i++) @@ -63,6 +62,7 @@ namespace SourceGit.ViewModels public override async Task Sure() { var isBare = await new Commands.IsBareRepository(_repoPath).GetResultAsync(); + var parent = _group is { Id: not "" } ? _group : null; var repoRoot = _repoPath; if (!isBare) { @@ -78,7 +78,7 @@ namespace SourceGit.ViewModels { if (page.Node.Id.Equals(_pageId, StringComparison.Ordinal)) { - page.Popup = new Init(page.Node.Id, _repoPath, _group, test.StdErr); + page.Popup = new Init(page.Node.Id, _repoPath, parent, test.StdErr); break; } } @@ -87,7 +87,7 @@ namespace SourceGit.ViewModels } } - var node = Preferences.Instance.FindOrAddNodeByRepositoryPath(repoRoot, _group, true); + var node = Preferences.Instance.FindOrAddNodeByRepositoryPath(repoRoot, parent, true); node.Bookmark = _bookmark; await node.UpdateStatusAsync(false, null); Welcome.Instance.Refresh();