public static GitSubmodule CreateGitSubmodule(GitModule aModule, string submodule) { var gitSubmodule = new GitSubmodule(aModule) { Initialized = submodule[0] != '-', UpToDate = submodule[0] != '+', CurrentCommitGuid = submodule.Substring(1, 40).Trim() }; var name = submodule.Substring(42).Trim(); if (name.Contains("(")) { gitSubmodule.Name = name.Substring(0, name.IndexOf("(")); gitSubmodule.Branch = name.Substring(name.IndexOf("(")).Trim(new[] { '(', ')', ' ' }); } else { gitSubmodule.Name = name; } return(gitSubmodule); }
internal static GitSubmodule CreateGitSubmodule(string submodule) { var gitSubmodule = new GitSubmodule { Initialized = submodule[0] != '-', UpToDate = submodule[0] != '+', CurrentCommitGuid = submodule.Substring(1, 40).Trim() }; var name = submodule.Substring(42).Trim(); if (name.Contains("(")) { gitSubmodule.Name = name.Substring(0, name.IndexOf("(")); gitSubmodule.Branch = name.Substring(name.IndexOf("(")).Trim(new[] { '(', ')', ' ' }); } else gitSubmodule.Name = name; return gitSubmodule; }
internal static GitSubmodule CreateGitSubmodule(GitModule aModule, string submodule) { var gitSubmodule = new GitSubmodule(aModule) { Initialized = submodule[0] != '-', UpToDate = submodule[0] != '+', CurrentCommitGuid = submodule.Substring(1, 40).Trim() }; var localPath = submodule.Substring(42).Trim(); if (localPath.Contains("(")) { gitSubmodule.LocalPath = localPath.Substring(0, localPath.IndexOf("(")).TrimEnd(); gitSubmodule.Branch = localPath.Substring(localPath.IndexOf("(")).Trim(new[] { '(', ')', ' ' }); } else gitSubmodule.LocalPath = localPath; return gitSubmodule; }
public IList<IGitSubmodule> GetSubmodules() { string[] submodules = RunCmd(Settings.GitCommand, "submodule status").Split('\n'); IList<IGitSubmodule> submoduleList = new List<IGitSubmodule>(); string lastLine = null; foreach (string submodule in submodules) { if (submodule.Length < 43) continue; if (submodule.Equals(lastLine)) continue; lastLine = submodule; GitSubmodule gitSubmodule = new GitSubmodule(); gitSubmodule.Initialized = submodule[0] != '-'; gitSubmodule.UpToDate = submodule[0] != '+'; gitSubmodule.CurrentCommitGuid = submodule.Substring(1, 40).Trim(); string name = submodule.Substring(42).Trim(); if (name.Contains("(")) { gitSubmodule.Name = name.Substring(0, name.IndexOf("(")); gitSubmodule.Branch = name.Substring(name.IndexOf("(")).Trim(new char[] { '(', ')', ' ' }); } else gitSubmodule.Name = name; submoduleList.Add(gitSubmodule); } return submoduleList; }
private void Initialize() { if (bw != null) bw.CancelAsync(); UseWaitCursor = true; oldSubmodule = null; if (Submodules.SelectedRows.Count == 1) oldSubmodule = Submodules.SelectedRows[0].DataBoundItem as GitSubmodule; lock (modules) modules.Clear(); bw = new BackgroundWorker(); bw.DoWork += bw_DoWork; bw.ProgressChanged += bw_ProgressChanged; bw.RunWorkerCompleted += bw_RunWorkerCompleted; bw.WorkerReportsProgress = true; bw.WorkerSupportsCancellation = true; bw.RunWorkerAsync(); }