■ ■ ■ ■ ■ ■ ■
src/main/java/io/onedev/k8shelper/KubernetesHelper.java
| skipped 18 lines |
19 | 19 | | import java.util.Iterator; |
20 | 20 | | import java.util.List; |
21 | 21 | | import java.util.Map; |
| 22 | + | import java.util.concurrent.atomic.AtomicBoolean; |
22 | 23 | | import java.util.function.Consumer; |
23 | 24 | | import java.util.regex.Matcher; |
24 | 25 | | import java.util.regex.Pattern; |
| skipped 27 lines |
52 | 53 | | import io.onedev.commons.utils.PathUtils; |
53 | 54 | | import io.onedev.commons.utils.TaskLogger; |
54 | 55 | | import io.onedev.commons.utils.command.Commandline; |
| 56 | + | import io.onedev.commons.utils.command.ExecutionResult; |
55 | 57 | | import io.onedev.commons.utils.command.LineConsumer; |
56 | 58 | | |
57 | 59 | | public class KubernetesHelper { |
| skipped 546 lines |
604 | 606 | | |
605 | 607 | | checkoutRepository(git, commitHash, infoLogger, errorLogger); |
606 | 608 | | |
| 609 | + | AtomicBoolean originExists = new AtomicBoolean(false); |
607 | 610 | | git.clearArgs(); |
608 | 611 | | git.addArgs("remote", "add", "origin", remoteUrl); |
609 | | - | git.execute(infoLogger, errorLogger).checkReturnCode(); |
| 612 | + | ExecutionResult result = git.execute(infoLogger, new LineConsumer() { |
| 613 | + | |
| 614 | + | @Override |
| 615 | + | public void consume(String line) { |
| 616 | + | if (line.equals("error: remote origin already exists.")) |
| 617 | + | originExists.set(true); |
| 618 | + | else |
| 619 | + | errorLogger.consume(line); |
| 620 | + | } |
| 621 | + | |
| 622 | + | }); |
| 623 | + | if (!originExists.get()) |
| 624 | + | result.checkReturnCode(); |
610 | 625 | | |
611 | 626 | | if (new File(git.workingDir(), ".gitmodules").exists()) { |
612 | 627 | | // deinit submodules in case submodule url is changed |
| skipped 408 lines |