如何使用 Gitlab4j-api 从 Gitlab 移动文件/文件夹?

问题描述

我想使用 gitlab4j-api 移动文件/文件夹,根据 commits document,Commitaction 对象不需要指定“内容”字段,它将保留原始内容

"文件内容,除delete、chmod、move外都需要。移动 未指定内容的操作将保留现有文件 内容内容的任何其他值都将覆盖文件 内容。”

但是尝试后api报错:

"线程"main" org.gitlab4j.api.GitLabApiException 中的异常:您必须提供内容"

以下是我的代码

        <dependency>
            <groupId>org.gitlab4j</groupId>
            <artifactId>gitlab4j-api</artifactId>
            <version>4.15.7</version>
        </dependency>


        ArrayList<Commitaction> commitactions = new ArrayList<>();
        Commitaction commitaction = new Commitaction()
//                .withContent(null)
                .withAction(Commitaction.Action.MOVE)
                .withPrevIoUsPath("test/abc/README.md")
                .withFilePath("README.md");
        commitactions.add(commitaction);
        CommitPayload commitPayload = new CommitPayload()
                .withBranch("test-branch")
                .withCommitMessage("move commit .")
                .withActions(commitactions);
        Commit commit = gitLabApi.getCommitsApi().createCommit("datacenter/rtdp-client",commitPayload);
        System.out.println(commit.getId());

如何使用 gitlab4j-api 移动文件夹(包括重命名文件夹)?我应该遍历文件夹下的所有文件一个一个移动它们吗?或者只是通过指定以前的路径和当前路径来移动文件夹就足够了?谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...