mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-05-20 19:55:00 +00:00
fix: avoid duplicated nodes being added into the repository tree
This commit is contained in:
parent
207e82b391
commit
eeb6abb560
4 changed files with 27 additions and 28 deletions
|
@ -346,6 +346,29 @@ namespace SourceGit.ViewModels
|
|||
return FindNodeRecursive(id, _instance.RepositoryNodes);
|
||||
}
|
||||
|
||||
public static RepositoryNode FindOrAddNodeByRepositoryPath(string repo, RepositoryNode parent)
|
||||
{
|
||||
var node = FindNodeRecursive(repo, _instance.RepositoryNodes);
|
||||
if (node == null)
|
||||
{
|
||||
node = new RepositoryNode()
|
||||
{
|
||||
Id = Guid.NewGuid().ToString(),
|
||||
Name = Path.GetFileName(repo),
|
||||
Bookmark = 0,
|
||||
IsRepository = true,
|
||||
};
|
||||
|
||||
AddNode(node, parent);
|
||||
}
|
||||
else
|
||||
{
|
||||
MoveNode(node, parent);
|
||||
}
|
||||
|
||||
return node;
|
||||
}
|
||||
|
||||
public static void MoveNode(RepositoryNode node, RepositoryNode to = null)
|
||||
{
|
||||
if (to == null && _instance._repositoryNodes.Contains(node))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue