diff --git a/src/main/java/org/gitlab4j/api/ProjectApi.java b/src/main/java/org/gitlab4j/api/ProjectApi.java index de1954cbc..a275c7725 100644 --- a/src/main/java/org/gitlab4j/api/ProjectApi.java +++ b/src/main/java/org/gitlab4j/api/ProjectApi.java @@ -1031,6 +1031,7 @@ public Project createProject(Project project, String importUrl) throws GitLabApi .withParam("build_git_strategy", project.getBuildGitStrategy()) .withParam("build_coverage_regex", project.getBuildCoverageRegex()) .withParam("ci_config_path", project.getCiConfigPath()) + .withParam("repository_object_format", project.getRepositoryObjectFormat()) .withParam("suggestion_commit_message", project.getSuggestionCommitMessage()) .withParam("remove_source_branch_after_merge", project.getRemoveSourceBranchAfterMerge()) .withParam("squash_option", project.getSquashOption()); @@ -2254,7 +2255,7 @@ public ProjectHook addHook(Object projectIdOrPath, String url, boolean doPushEve boolean doIssuesEvents, boolean doMergeRequestsEvents) throws GitLabApiException { return addHook(projectIdOrPath, url, doPushEvents, doIssuesEvents, doMergeRequestsEvents, null); } - + /** * Adds a hook to project. * Convenience method for {@link #addHook(Object, String, ProjectHook, Boolean, String)} @@ -4044,7 +4045,7 @@ public ProjectAccessToken createProjectAccessToken(Object projectIdOrPath, Strin public ProjectAccessToken rotateProjectAccessToken(Object projectIdOrPath, Long tokenId) throws GitLabApiException { return rotateProjectAccessToken(projectIdOrPath, tokenId, null); } - + /** * Rotates the given project access token. * The token is revoked and a new one which will expire in one week is created to replace it. diff --git a/src/main/java/org/gitlab4j/api/models/Project.java b/src/main/java/org/gitlab4j/api/models/Project.java index b475f6d70..34251e2b8 100644 --- a/src/main/java/org/gitlab4j/api/models/Project.java +++ b/src/main/java/org/gitlab4j/api/models/Project.java @@ -114,6 +114,7 @@ public String toString() { private AutoDevopsDeployStrategy autoDevopsDeployStrategy; private Boolean autocloseReferencedIssues; private Boolean emailsDisabled; + private String repositoryObjectFormat; private String suggestionCommitMessage; private SquashOption squashOption; private String mergeCommitTemplate; @@ -900,6 +901,19 @@ public Project withEmailsDisabled(Boolean emailsDisabled) { return this; } + public String getRepositoryObjectFormat() { + return repositoryObjectFormat; + } + + public void setRepositoryObjectFormat(String repositoryObjectFormat) { + this.repositoryObjectFormat = repositoryObjectFormat; + } + + public Project withRepositoryObjectFormat(String repositoryObjectFormat) { + this.repositoryObjectFormat = repositoryObjectFormat; + return this; + } + public String getSuggestionCommitMessage() { return this.suggestionCommitMessage; } diff --git a/src/test/java/org/gitlab4j/api/TestProjectApi.java b/src/test/java/org/gitlab4j/api/TestProjectApi.java index 5f091acfe..4a3e909d4 100644 --- a/src/test/java/org/gitlab4j/api/TestProjectApi.java +++ b/src/test/java/org/gitlab4j/api/TestProjectApi.java @@ -224,6 +224,7 @@ public void testCreate() throws GitLabApiException { .withMergeRequestsEnabled(true) .withWikiEnabled(true) .withSnippetsEnabled(true) + .withRepositoryObjectFormat("sha1") .withVisibility(Visibility.PUBLIC) .withTagList(Arrays.asList("tag1", "tag2")); @@ -235,6 +236,7 @@ public void testCreate() throws GitLabApiException { assertEquals(project.getMergeRequestsEnabled(), newProject.getMergeRequestsEnabled()); assertEquals(project.getWikiEnabled(), newProject.getWikiEnabled()); assertEquals(project.getSnippetsEnabled(), newProject.getSnippetsEnabled()); + assertEquals(project.getRepositoryObjectFormat(), newProject.getRepositoryObjectFormat()); assertEquals(project.getTagList(), newProject.getTagList()); assertTrue(Visibility.PUBLIC == newProject.getVisibility() || Boolean.TRUE == newProject.getPublic()); } @@ -323,7 +325,7 @@ else if (TEST_PROJECT_NAME_2.equals(project.getName())) @Test @Disabled("Required Gitlab version not less then 16.9") public void testGetAvatar() throws GitLabApiException, IOException { - + assumeTrue(testProject != null); File avatarFile = new File("src/test/resources/org/gitlab4j/api", AVATAR_FILENAME);