Exemple #1
0
        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;
        }
Exemple #3
0
        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;
        }
Exemple #4
0
        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();
 }