C# Performce.net API同步站点文件
因为我很难理解P4API文档,所以我需要帮助。我在仓库里有一个文件夹,比如说//root/a/。。。首先,我运行一个预览,以了解变更列表上要同步的文件数,比如123 在rFiles中,我应该获得将要同步的文件列表同步预览,我将在后台工作程序中同步每个文件,但它会返回//root中的所有仓库文件 有人能帮忙吗? 当您执行以下操作时,请注意:C# Performce.net API同步站点文件,c#,perforce,p4.net,C#,Perforce,P4.net,因为我很难理解P4API文档,所以我需要帮助。我在仓库里有一个文件夹,比如说//root/a/。。。首先,我运行一个预览,以了解变更列表上要同步的文件数,比如123 在rFiles中,我应该获得将要同步的文件列表同步预览,我将在后台工作程序中同步每个文件,但它会返回//root中的所有仓库文件 有人能帮忙吗? 当您执行以下操作时,请注意: Client.ViewMap = new ViewMap(); Client.ViewMap.Add("//root/a/...", "//" + myWrk
Client.ViewMap = new ViewMap();
Client.ViewMap.Add("//root/a/...", "//" + myWrkSpace + "/a/...", MapType.Include);
您只是在程序的客户机对象中本地设置一些数据,而不是在服务器上
服务器运行时:
rFiles = rep.Connection.Client.SyncFiles(sFlags, null);
它使用存储在服务器上的视图映射
如果从CMD.EXE提示符运行,并使用工作区的真实名称:
p4 client -o myWrkSpace
您将在服务器上看到工作区的实际视图映射
我打赌你会看到它是:
//root/... //myWrkSpace/...
这就是为什么要同步所有仓库文件的原因
因此,如果您想更改视图映射,您必须做的不仅仅是在本地设置它,还必须在运行同步之前更新服务器上的工作区定义
有一件事可以帮助您调试这些东西,那就是充分熟悉p4命令行工具,使您能够从CMD.EXE提示符运行命令,例如:
p4 sync -n @123
我认为这是您试图从API程序运行的命令
然后可以从命令行查看该命令的工作方式,然后可以查看服务器的日志,查看API程序发出的实际命令,并将这些命令与从命令行运行的命令进行比较
p4 sync -n @123