diff --git a/vcs/src/main/java/org/openjdk/skara/vcs/Patch.java b/vcs/src/main/java/org/openjdk/skara/vcs/Patch.java index 7bb56fc06..3b1d430b8 100644 --- a/vcs/src/main/java/org/openjdk/skara/vcs/Patch.java +++ b/vcs/src/main/java/org/openjdk/skara/vcs/Patch.java @@ -104,10 +104,10 @@ public BinaryPatch asBinaryPatch() { public void write(BufferedWriter w) throws IOException { // header - var sourcePath = source.path().isPresent() ? - source.path().get().toString() : target.path().get().toString(); - var targetPath = target.path().isPresent() ? - target.path().get().toString() : source.path().get().toString(); + var sourcePath = pathWithUnixSeps(source.path().isPresent() ? + source.path().get() : target.path().get()); + var targetPath = pathWithUnixSeps(target.path().isPresent() ? + target.path().get() : source.path().get()); w.append("diff --git "); w.append("a/" + sourcePath); @@ -196,10 +196,10 @@ public void write(BufferedWriter w) throws IOException { } w.append("--- "); - w.append(source.path().isPresent() ? "a/" + source.path().get().toString() : "/dev/null"); + w.append(source.path().isPresent() ? "a/" + sourcePath : "/dev/null"); w.append("\n"); w.append("+++ "); - w.append(target.path().isPresent() ? "b/" + target.path().get().toString() : "/dev/null"); + w.append(target.path().isPresent() ? "b/" + targetPath : "/dev/null"); w.newLine(); if (isBinary()) { @@ -220,4 +220,8 @@ public void toFile(Path p) throws IOException { write(w); } } + + public static String pathWithUnixSeps(Path p) { + return p.toString().replace('\\', '/'); + } } diff --git a/webrev/src/main/java/org/openjdk/skara/webrev/AddedPatchView.java b/webrev/src/main/java/org/openjdk/skara/webrev/AddedPatchView.java index 23e4c0131..e51f93d43 100644 --- a/webrev/src/main/java/org/openjdk/skara/webrev/AddedPatchView.java +++ b/webrev/src/main/java/org/openjdk/skara/webrev/AddedPatchView.java @@ -44,14 +44,14 @@ public void render(Writer w) throws IOException { try (var fw = Files.newBufferedWriter(patchFile)) { fw.write("diff a/"); - fw.write(patch.target().path().get().toString()); + fw.write(ViewUtils.pathWithUnixSeps(patch.target().path().get())); fw.write(" b/"); - fw.write(patch.target().path().get().toString()); + fw.write(ViewUtils.pathWithUnixSeps(patch.target().path().get())); fw.write("\n"); fw.write("--- /dev/null"); fw.write("\n"); fw.write("+++ b/"); - fw.write(patch.target().path().get().toString()); + fw.write(ViewUtils.pathWithUnixSeps(patch.target().path().get())); fw.write("\n"); assert patch.hunks().size() == 1; diff --git a/webrev/src/main/java/org/openjdk/skara/webrev/PatchView.java b/webrev/src/main/java/org/openjdk/skara/webrev/PatchView.java index ffe102cef..949c194d3 100644 --- a/webrev/src/main/java/org/openjdk/skara/webrev/PatchView.java +++ b/webrev/src/main/java/org/openjdk/skara/webrev/PatchView.java @@ -56,15 +56,15 @@ public void render(Writer w) throws IOException { try (var fw = Files.newBufferedWriter(patchFile)) { fw.write("diff a/"); - fw.write(patch.source().path().get().toString()); + fw.write(ViewUtils.pathWithUnixSeps(patch.source().path().get())); fw.write(" b/"); - fw.write(patch.target().path().get().toString()); + fw.write(ViewUtils.pathWithUnixSeps(patch.target().path().get())); fw.write("\n"); fw.write("--- a/"); - fw.write(patch.source().path().get().toString()); + fw.write(ViewUtils.pathWithUnixSeps(patch.source().path().get())); fw.write("\n"); fw.write("+++ b/"); - fw.write(patch.target().path().get().toString()); + fw.write(ViewUtils.pathWithUnixSeps(patch.target().path().get())); fw.write("\n"); var coalescer = new HunkCoalescer(NUM_CONTEXT_LINES, sourceContent, destContent); diff --git a/webrev/src/main/java/org/openjdk/skara/webrev/RemovedPatchView.java b/webrev/src/main/java/org/openjdk/skara/webrev/RemovedPatchView.java index fa88cce54..dbb233952 100644 --- a/webrev/src/main/java/org/openjdk/skara/webrev/RemovedPatchView.java +++ b/webrev/src/main/java/org/openjdk/skara/webrev/RemovedPatchView.java @@ -37,19 +37,18 @@ public RemovedPatchView(Path out, Path file, TextualPatch patch) { this.file = file; this.patch = patch; } - public void render(Writer w) throws IOException { var patchFile = out.resolve(file.toString() + ".patch"); Files.createDirectories(patchFile.getParent()); try (var fw = Files.newBufferedWriter(patchFile)) { fw.write("diff a/"); - fw.write(patch.source().path().get().toString()); + fw.write(ViewUtils.pathWithUnixSeps(patch.source().path().get())); fw.write(" b/"); - fw.write(patch.source().path().get().toString()); + fw.write(ViewUtils.pathWithUnixSeps(patch.source().path().get())); fw.write("\n"); fw.write("--- a/"); - fw.write(patch.source().path().get().toString()); + fw.write(ViewUtils.pathWithUnixSeps(patch.source().path().get())); fw.write("\n"); fw.write("+++ /dev/null"); fw.write("\n"); diff --git a/webrev/src/main/java/org/openjdk/skara/webrev/ViewUtils.java b/webrev/src/main/java/org/openjdk/skara/webrev/ViewUtils.java index bd109f98a..82eb4654f 100644 --- a/webrev/src/main/java/org/openjdk/skara/webrev/ViewUtils.java +++ b/webrev/src/main/java/org/openjdk/skara/webrev/ViewUtils.java @@ -102,4 +102,8 @@ public static void writeWithLineNumber(Writer writer, String line, int lineNumbe writer.write(" "); writer.write(HTML.escape(line)); } + + public static String pathWithUnixSeps(Path p) { + return p.toString().replace('\\', '/'); + } }