显示所有当前文件和目录,包括其状态

时间:2015-10-18 14:02:00

标签: git libgit2 libgit2sharp

我正在努力学习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);
            }
        }
    }

是否可以使用Git获取当前的Reository结构,包括新文件?

1 个答案:

答案 0 :(得分:0)

  

我想显示当前的Repository文件结构,包括已添加但尚未提交的新文件。

看起来你正在追求 git status 之类的东西。

这可以通过repo.RetrieveStatus()方法使用LibGit2Sharp轻松完成。

为了更广泛地了解该功能及其用例,我建议您查看 StatusFixture 测试套件。