private static void extractFileName( final String curLine, final FilePatch patch, final boolean before, final boolean gitPatch) { String fileName = curLine.substring(4); int pos = fileName.indexOf('\t'); if (pos < 0) { pos = fileName.indexOf(' '); } if (pos >= 0) { String versionId = fileName.substring(pos).trim(); fileName = fileName.substring(0, pos); if (versionId.length() > 0 && !EMPTY_REVISION_INFO_PATTERN.matcher(versionId).matches()) { if (before) { patch.setBeforeVersionId(versionId); } else { patch.setAfterVersionId(versionId); } } } if ("/dev/null".equals(fileName)) return; if (before) { if (gitPatch && fileName.startsWith("a/")) { fileName = fileName.substring(2); } patch.setBeforeName(fileName); } else { if (gitPatch && fileName.startsWith("b/")) { fileName = fileName.substring(2); } patch.setAfterName(fileName); } }