Perforce 无法在工作区位置打开文件以编辑特定文件格式
使用p4api.net方法,我试图打开特定文件格式GP100**的文件进行编辑,但返回null。如果我从filespec中删除GP100**格式,那么它会在客户端工作区loc的变更列表中打开所有文件进行编辑,这是显而易见的。我不想打开所有文件进行编辑,而是只打开格式为GP100**的文件。有什么想法可以实现吗Perforce 无法在工作区位置打开文件以编辑特定文件格式,perforce,p4v,p4api.net,Perforce,P4v,P4api.net,使用p4api.net方法,我试图打开特定文件格式GP100**的文件进行编辑,但返回null。如果我从filespec中删除GP100**格式,那么它会在客户端工作区loc的变更列表中打开所有文件进行编辑,这是显而易见的。我不想打开所有文件进行编辑,而是只打开格式为GP100**的文件。有什么想法可以实现吗 // to open files for edit in a given changelist at certain loc with particular file format pub
// to open files for edit in a given changelist at certain loc with particular file format
public IList<FileSpec> EditChangeList(string clNumber, string fileFormat, string destinationPath)
{
try
{
var rep = Connect();
var opts = new Options(ChangeCmdFlags.None, ChangeListType.None);
opts["-c"] = clNumber;
var fs = new FileSpec(new DepotPath(destinationPath + "/..." + "GP100*.*"));
IList<FileSpec> editedFileSpec = rep.Connection.Client.EditFiles(new List<FileSpec> {fs}, opts);
return editedFileSpec;
}
catch (Exception exc)
{
Logger.LogError(exc.Message);
throw;
}
}
你所描述的应该有用。例如,不带GP100**的函数示例会很有帮助,它会打开文件,例如:var fs=new FileSpecnew DepotPathdestinationPath+/。。。;以及打开这些文件后打开的p4输出。我想知道destinationPath、区分大小写等中是否出现了像流浪字符这样的情况,但如果不看到一些示例输出,就无法调试。@SamStafford。谢谢,这是一个区分大小写的问题,而且很有效。我传递的文件格式是GP100**,工作区位置中的文件格式是GP100*。因此,由于区分大小写,它返回null,这是有意义的。如果我在命令提示符下手动运行该命令以打开特定格式的文件进行编辑,为什么不显示区分大小写的特性?这是区分大小写的p4api.net行为吗?不,这是服务器端行为。我怀疑,当您在命令行上运行它时,shell正在拦截通配符表达式并将其规范化为磁盘上的大小写。同样,我需要查看您运行的命令和输出以确认:使用命令promptcd D:\p4\sw\dev\resources p4 edit-c clnumber GP100*手动运行命令*