我正在使用 p4api.net(版本 2015.1.105.4164)尝试检索一些影响特定路径的更改列表。 我的问题是:所有返回的列表都声明根本没有文件,这很矛盾,因为没有受影响文件的更改列表根本不代表更改。在 P4V 中,返回的更改列表当然至少显示一个文件。
我做错了什么?为什么每个返回的更改列表的 Files.Property 总是空的?
private void ListSubmittedChangeLists(string path, string client, string user, int maxLists)
{
ChangesCmdFlags flags = ChangesCmdFlags.IncludeTime & ChangesCmdFlags.FullDescription;
var options = new Options(flags, client, maxLists, ChangeListStatus.Submitted, user);
IList<Changelist> lists = Repository.GetChangelists(options, new FileSpec(new DepotPath(path), VersionSpec.Head));
Console.WriteLine("{0} lists found.", lists.Count);
foreach (Changelist list in lists)
{
Console.WriteLine("{0} files found in changelist {1}.", list.Files.Count, list.Id);
foreach (FileMetaData file in list.Files)
{
Console.WriteLine(file.ClientPath);
}
}
Console.WriteLine("Done.");
Console.ReadLine();
}
编辑:我找到了一个解决方法:对于返回的每个更改列表,我必须调用 Repository.GetChangeList(list.Id);这将返回一个列表对象,其文件集合已填充...
最佳答案
您在编辑问题时描述的解决方法实际上是正确的答案。
GetChangelists
返回有关更改的摘要信息,但不返回有关更改中每个文件的信息。 GetChangeList
返回更改中文件的详细信息。
关于c# - Perforce API : Repository. GetChangeLists 返回没有文件的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38583870/