Example #1
0
        public virtual void ListTags(string path)
        {
            NGit.Api.Git repository = NGit.Api.Git.Open(path);

            // repository.GetRepository().GetTags()

            System.Collections.Generic.IList <NGit.Ref> call = repository.TagList().Call();

            foreach (NGit.Ref refa in call)
            {
                System.Console.WriteLine("Tag: " + refa + " " + refa.GetName() + " " + refa.GetObjectId().Name);

                NGit.Api.LogCommand log = repository.Log();

                if (refa.GetPeeledObjectId() != null)
                {
                    log.Add(refa.GetPeeledObjectId());
                }
                else
                {
                    log.Add(refa.GetObjectId());
                }

                Sharpen.Iterable <NGit.Revwalk.RevCommit> logs = log.Call();

                foreach (NGit.Revwalk.RevCommit rev in logs)
                {
                    System.Console.WriteLine("Commit: " + rev /* + ", name: " + rev.getName() + ", id: " + rev.getId().getName() */);
                } // Next rev
            }     // Next refa

            CloseRepository(repository);
        } // End Sub ListTags