如何检索工作目录中所有文件的列表
How to retrieve a list of all files in the Working Directory
我正在寻找一种方法来获取我工作目录中所有文件的列表,它们是 FileStatus
。
我发现 repo.RetrieveStatus()
是完美的,但它不是 return 未更改的文件。
private void GetFilesList()
{
//1. Get files in repository
Repository repo = new Repository(LocalRepo);
List<File> filelist = new List<File>();
foreach (var item in repo.RetrieveStatus()) //This only lists altered files
{
filelist.Add(new File(item.FilePath, this, item.State));
}
Files = filelist.ToArray<File>();
}
我能想到的唯一方法是创建两个列表,一个包含目录中的所有文件:Directory.GetFiles();
-(ListA)
然后将其与从 RetrieveStatus()
-(ListB) 创建的列表进行比较。然后我将不得不 假设 列表 A 中不在列表 B 中的任何文件都未更改。
肯定有更好的方法吗?
我已经在 GitHub 上搜索了存储库,我能找到的唯一问题是 this one ,它似乎没有相关性。
是否有人知道我可以将 LibGit2Sharp 库中的任何其他方法用于此目的?
提前致谢。
关于此确切功能的拉取请求正在进行中(请参阅 #863)。
建议的实现是将一个可选的布尔值传递给 StatusOptions
。
RepositoryStatus status = repo.RetrieveStatus(
new StatusOptions() { IncludeUnaltered = true | false });
随时订阅它,以便随时了解其最新进展(以及最终的合并)。
我正在寻找一种方法来获取我工作目录中所有文件的列表,它们是 FileStatus
。
我发现 repo.RetrieveStatus()
是完美的,但它不是 return 未更改的文件。
private void GetFilesList()
{
//1. Get files in repository
Repository repo = new Repository(LocalRepo);
List<File> filelist = new List<File>();
foreach (var item in repo.RetrieveStatus()) //This only lists altered files
{
filelist.Add(new File(item.FilePath, this, item.State));
}
Files = filelist.ToArray<File>();
}
我能想到的唯一方法是创建两个列表,一个包含目录中的所有文件:Directory.GetFiles();
-(ListA)
然后将其与从 RetrieveStatus()
-(ListB) 创建的列表进行比较。然后我将不得不 假设 列表 A 中不在列表 B 中的任何文件都未更改。
肯定有更好的方法吗?
我已经在 GitHub 上搜索了存储库,我能找到的唯一问题是 this one ,它似乎没有相关性。
是否有人知道我可以将 LibGit2Sharp 库中的任何其他方法用于此目的?
提前致谢。
关于此确切功能的拉取请求正在进行中(请参阅 #863)。
建议的实现是将一个可选的布尔值传递给 StatusOptions
。
RepositoryStatus status = repo.RetrieveStatus(
new StatusOptions() { IncludeUnaltered = true | false });
随时订阅它,以便随时了解其最新进展(以及最终的合并)。