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