Skip to content

Commit

Permalink
Correcting owner/repo name cloneUrl without dot git
Browse files Browse the repository at this point in the history
  • Loading branch information
tomasbjerre committed Jul 25, 2017
1 parent 70e03d1 commit eac21b7
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 6 deletions.
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

Changelog for tomasbjerre git-changelog-lib.

## Next release
## 1.70
### GitHub [#49](https://github.com/tomasbjerre/git-changelog-lib/issues/49) Ability to grab the url from the git config. *enhancement*

**Gathering repo provider information**

* Getting ownerName and repoName from clone URL.
* Setting GitLab server and GitHub API from clone URL.

[a78e4cdcbe3ae07](https://github.com/tomasbjerre/git-changelog-lib/commit/a78e4cdcbe3ae07) Tomas Bjerre *2017-07-23 18:42:04*
[dd8497034624b12](https://github.com/tomasbjerre/git-changelog-lib/commit/dd8497034624b12) Tomas Bjerre *2017-07-23 19:10:43*


### Other changes
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@
import static com.google.common.collect.Lists.newArrayList;
import static com.google.common.collect.Sets.newTreeSet;

import com.google.common.base.Optional;
import java.util.List;
import java.util.Set;

import se.bjurr.gitchangelog.internal.git.model.GitCommit;
import se.bjurr.gitchangelog.internal.git.model.GitTag;

import com.google.common.base.Optional;

public class GitRepoData {
private final List<GitCommit> gitCommits;
private final List<GitTag> gitTags;
Expand Down Expand Up @@ -59,18 +61,20 @@ public Optional<String> findGitLabServer() {
}

public Optional<String> findOwnerName() {
return repoUrlPartFromEnd(2);
return repoUrlPartFromEnd(1);
}

public Optional<String> findRepoName() {
return repoUrlPartFromEnd(1);
return repoUrlPartFromEnd(0);
}

private Optional<String> repoUrlPartFromEnd(int i) {
if (originCloneUrl == null) {
return absent();
}
String[] parts = this.originCloneUrl.split("[/:\\.]");
String[] parts = this.originCloneUrl//
.replaceAll("\\.git$", "")//
.split("[/:\\.]");
if (parts.length > i) {
return Optional.of(parts[parts.length - i - 1]);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@

import java.util.ArrayList;
import java.util.List;

import org.junit.Test;

import se.bjurr.gitchangelog.internal.git.model.GitTag;

public class GitRepoDataTest {
Expand All @@ -29,6 +31,21 @@ public void testGitHubRepo() {
.isEqualTo(null);
}

@Test
public void testGitHubRepoNoDotGit() {
GitRepoData sut = newGitRepoData("https://github.com/VoltzEngine-Project/Build");

assertThat(sut.findOwnerName().orNull()) //
.isEqualTo("VoltzEngine-Project");
assertThat(sut.findRepoName().orNull()) //
.isEqualTo("Build");

assertThat(sut.findGitHubApi().orNull()) //
.isEqualTo("https://api.github.com/repos/VoltzEngine-Project/Build");
assertThat(sut.findGitLabServer().orNull()) //
.isEqualTo(null);
}

@Test
public void testGitBitbucketRepo() {
GitRepoData sut =
Expand Down

0 comments on commit eac21b7

Please sign in to comment.