Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用p4v java将文件从本地工作区签入/签出到perforce_Java_Perforce_P4v_Perforce Client Spec - Fatal编程技术网

使用p4v java将文件从本地工作区签入/签出到perforce

使用p4v java将文件从本地工作区签入/签出到perforce,java,perforce,p4v,perforce-client-spec,Java,Perforce,P4v,Perforce Client Spec,这是我从perforce获取文件(步骤1)并在perforce中签入文件(步骤2)的代码 我能够成功地获取该文件。 但是当我把文件签回仓库时,我收到一条信息: 没有要提交的文件。 有人能帮我找到我可能丢失的东西吗 String serverUri = "p4java://my-perforce:1666"; IServer server; try { //getting server server = ServerFactory.getSe

这是我从perforce获取文件(步骤1)并在perforce中签入文件(步骤2)的代码

我能够成功地获取该文件。 但是当我把文件签回仓库时,我收到一条信息: 没有要提交的文件。

有人能帮我找到我可能丢失的东西吗

    String serverUri = "p4java://my-perforce:1666";
    IServer server;
    try {
        //getting server
        server = ServerFactory.getServer(serverUri, null);

        //connecting to server
        server.connect();
        server.setUserName("username");
        server.login("password");

        //Step 1 -- GETTING FILE FROM PERFORCE.
        //getting client (local workspace name)
        IClient client = server.getClient("myPerforce");

        //setting it as current workspace
        server.setCurrentClient(client);

        //getting the file from perforce depot
        List<IFileSpec> fileList = server.getDepotFiles(FileSpecBuilder.makeFileSpecList("//myLocalWorkspaceLocation/up.json"), false);

        //sync workspace with perforce depot
        client.sync(fileList, null);

        //STEP 2 -- CHECKING IN FILE IN PERFORCE
        //creating a changelist
        Changelist changeListImpl = new Changelist(
                IChangelist.UNKNOWN, 
                client.getName(), 
                "username", 
                ChangelistStatus.NEW, 
                new Date(), 
                "Testing checking in file from JAVA", 
                false,
                (Server) server);
        IChangelist changelist = client.createChangelist(changeListImpl);

        //Edit file options
        EditFilesOptions editFilesOptions = new EditFilesOptions().setChangelistId(changelist.getId());
        List<IFileSpec> editList = client.editFiles(FileSpecBuilder.makeFileSpecList("//myLocalWorkspaceLocation/up.json"), editFilesOptions);

        //updating the changelist and submitting the changes. 
        changelist.update();
        List<IFileSpec> submitFiles = changelist.submit(false);

        //disconnecting
        server.disconnect();

    } catch (Exception e) {
        System.out.println("ERROR!!!>> " + e.getMessage());
    }
String serverUri=“p4java://my-perforce:1666";
iSeries服务器;
试一试{
//获取服务器
server=ServerFactory.getServer(serverUri,null);
//连接到服务器
connect();
setUserName(“用户名”);
服务器登录名(“密码”);
//步骤1——从PERFORCE获取文件。
//正在获取客户端(本地工作区名称)
IClient client=server.getClient(“myPerforce”);
//将其设置为当前工作区
setCurrentClient(客户端);
//从perforce depot获取文件
List fileList=server.getDepotFiles(FileSpecBuilder.makeFileSpecList(“//myLocalWorkspaceLocation/up.json”),false);
//与perforce depot同步工作区
client.sync(文件列表,空);
//第2步--在PERFORCE中签入文件
//创建变更列表
Changelist changeListImpl=新变更列表(
天使主义者,未知,
client.getName(),
“用户名”,
ChangelistStatus.NEW,
新日期(),
“测试从JAVA签入文件”,
假,,
(服务器)服务器);
IChangelist changelist=client.createChangelist(changeListImpl);
//编辑文件选项
editFileOptions editFileOptions=new editFileOptions().setChangelistId(changelist.getId());
List editList=client.editFiles(FileSpecBuilder.makeFileSpecList(“//myLocalWorkspaceLocation/up.json”),editFilesOptions);
//更新变更列表并提交变更。
changelist.update();
List submitFiles=changelist.submit(false);
//断开
server.disconnect();
}捕获(例外e){
System.out.println(“ERROR!!!>>”+e.getMessage());
}

您能否在
changelist.update()之后添加
changelist.refresh()?已尝试。文件仍然没有被签入。没有错误。是否有任何方法通知文件已更改/编辑?您是否也可以尝试
tmpClient.sync(FileSpecBuilder.makeFileSpecList(“//myLocalWorkspaceLocation/up.json”)、false、false、true、false);tmpClient.editFiles(FileSpecBuilder.makeFileSpecList(“//myLocalWorkspaceLocation/up.json”)、false、false、changelist.getId()、null
而不是您的
客户端.editFiles()
您必须打开文件进行编辑才能提交新版本。@solorad,谢谢您的建议。我试过了,但还是无法输入文件。想知道为什么对于p4vjava来说chk out和check-in的基本操作变得如此复杂!能否在
changelist.update()之后添加
changelist.refresh()?已尝试。文件仍然没有被签入。没有错误。是否有任何方法通知文件已更改/编辑?您是否也可以尝试
tmpClient.sync(FileSpecBuilder.makeFileSpecList(“//myLocalWorkspaceLocation/up.json”)、false、false、true、false);tmpClient.editFiles(FileSpecBuilder.makeFileSpecList(“//myLocalWorkspaceLocation/up.json”)、false、false、changelist.getId()、null
而不是您的
客户端.editFiles()
您必须打开文件进行编辑才能提交新版本。@solorad,谢谢您的建议。我试过了,但还是无法输入文件。想知道为什么对于p4vjava来说chk out和check-in的基本操作变得如此复杂!