diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/service/GitService.java b/karavan-app/src/main/java/org/apache/camel/karavan/service/GitService.java index 1ce9f35e33b..cba60873be4 100644 --- a/karavan-app/src/main/java/org/apache/camel/karavan/service/GitService.java +++ b/karavan-app/src/main/java/org/apache/camel/karavan/service/GitService.java @@ -165,7 +165,7 @@ private List readProjectsFromRepository(Git git, String... filter) { LOGGER.info("Read projects..."); List result = new ArrayList<>(); try { - String folder = git.getRepository().getDirectory().getAbsolutePath().replace("/.git", ""); + String folder = git.getRepository().getDirectory().getAbsolutePath().replace(File.separator + ".git", ""); List projects = readProjectsFromFolder(folder, filter); for (String project : projects) { Map filesRead = readProjectFilesFromFolder(folder, project); @@ -173,7 +173,7 @@ private List readProjectsFromRepository(Git git, String... filter) { for (Map.Entry entry : filesRead.entrySet()) { String name = entry.getKey(); String body = entry.getValue(); - Tuple2 fileCommit = lastCommit(git, project + File.separator + name); + Tuple2 fileCommit = lastCommit(git, project + "/" + name); files.add(new GitRepoFile(name, fileCommit.getItem2().longValue() * 1000, body)); } Tuple2 commit = lastCommit(git, project); @@ -290,7 +290,7 @@ public RevCommit commitAddedAndPush(Git git, String branch, String message, Stri LOGGER.info("Commit and push changes to the branch " + branch); AddCommand add = git.add(); for (String fileName : fileNames) { - add = add.addFilepattern(projectId + File.separator + fileName); + add = add.addFilepattern(projectId + "/" + fileName); } LOGGER.info("Git add: " + add.call()); RevCommit commit = git.commit().setMessage(message).setAuthor(new PersonIdent(authorName, authorEmail)).call(); @@ -315,7 +315,7 @@ public Git init(String dir, String uri, String branch) throws GitAPIException, I private void addDeletedFolderToIndex(Git git, String projectId) { LOGGER.infof("Add folder %s to git index.", projectId); try { - git.rm().addFilepattern(projectId + File.separator).call(); + git.rm().addFilepattern(projectId + "/").call(); } catch (GitAPIException e) { throw new RuntimeException(e); } @@ -333,6 +333,7 @@ public void deleteProject(String projectId, String authorName, String authorEmai addDeletedFolderToIndex(git, projectId); commitAddedAndPush(git, gitConfig.getBranch(), commitMessage, authorName, authorEmail, List.of("."), projectId); LOGGER.info("Delete Temp folder " + folder); + git.close(); vertx.fileSystem().deleteRecursiveBlocking(folder, true); LOGGER.infof("Project %s deleted from Git", projectId); } catch (RefNotFoundException e) { @@ -557,4 +558,4 @@ private static AbstractTreeIterator prepareTreeParser(Repository repository, Rev return treeParser; } } -} \ No newline at end of file +}