diff --git a/vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java b/vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java index 97921d81e..3478a9e63 100644 --- a/vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java +++ b/vcs/src/main/java/org/openjdk/skara/vcs/git/GitRepository.java @@ -413,7 +413,9 @@ public void fetchAll() throws IOException { @Override public void fetchRemote(String remote) throws IOException { - try (var p = capture("git", "fetch", "--recurse-submodules=on-demand", "--tags", "--prune", "--prune-tags", remote)) { + var lines = config("remote." + remote + ".fetch"); + var refspec = lines.size() == 1 ? lines.get(0) : "+refs/heads/*:refs/remotes/" + remote + "/*"; + try (var p = capture("git", "fetch", "--recurse-submodules=on-demand", "--prune", remote, refspec, "+refs/tags/*:refs/tags/*")) { await(p); } }