private void LoadRemotesFromConfig() { Logger.Trace("LoadRemotesFromConfig"); var remotes = config.GetRemotes().ToArray().ToDictionary(x => x.Name, x => x); var remoteBranches = new Dictionary <string, Dictionary <string, ConfigBranch> >(); foreach (var remote in remotes.Keys) { var branchList = new Dictionary <string, ConfigBranch>(); var basedir = repositoryPaths.RemotesPath.Combine(remote); if (basedir.Exists()) { foreach (var branch in basedir.Files(true) .Select(x => x.RelativeTo(basedir)) .Select(x => x.ToString(SlashMode.Forward))) { branchList.Add(branch, new ConfigBranch { Name = branch, Remote = remotes[remote] }); } remoteBranches.Add(remote, branchList); } } Logger.Trace("OnRemoteBranchListUpdated {0} remotes", remotes.Count); OnRemoteBranchListUpdated?.Invoke(remotes, remoteBranches); }
public void Reset() { OnIsBusy.Reset(); OnIsNotBusy.Reset(); OnStatusUpdated.Reset(); OnLocksUpdated.Reset(); OnCurrentBranchAndRemoteUpdated.Reset(); OnHeadUpdated.Reset(); OnLocalBranchListUpdated.Reset(); OnRemoteBranchListUpdated.Reset(); OnLocalBranchUpdated.Reset(); OnLocalBranchAdded.Reset(); OnLocalBranchRemoved.Reset(); OnRemoteBranchAdded.Reset(); OnRemoteBranchRemoved.Reset(); }