0
我正在學習Git。現在我正在使用LibGit2Sharp
庫來玩我的Git存儲庫。顯示所有當前文件和目錄及其狀態
我想顯示當前的Repository文件結構,包括已添加但尚未完成的新文件。
我看到,我可以得到最新的Tree
犯我做:
using (var repo = new Repository(repositoryPath))
{
Tree tree = repo.Head.Tip.Tree;
TraverseTree(tree);
}
void TraverseTree(Tree tree)
{
foreach (TreeEntry item in tree.ToList())
{
Console.WriteLine(item.Path);
if (item.TargetType == TreeEntryTargetType.Tree)
{
Tree subTree = (Tree)item.Target;
TraverseTree(subTree);
}
}
}
可以獲取當前Reository結構,包括使用Git新的文件?
完美,謝謝!我仍然有一個問題:'repo.RetrieveStatus()'給我一個修改文件的摘要。如果我想顯示當前的文件樹結構,我將不得不遍歷實際上的文件夾/文件,並基於'RepositoryStatus'對象更新UI?因爲存儲庫樹只包含已經上演的內容 – Catalin
您可以在「Repository.Index」中找到上演的內容。 'Repository.Head.Tip.Tree'包含了已經提交的內容。頭部樹的遍歷可以讓你顯示頭部提交的內容。 – nulltoken