]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-21885 LTS Backport: Fix native Git blame with Git CLI >= 2.43 9.9.6.92038
authorAntoine Vigneau <antoine.vigneau@sonarsource.com>
Mon, 17 Jun 2024 10:05:18 +0000 (12:05 +0200)
committersonartech <sonartech@sonarsource.com>
Mon, 17 Jun 2024 20:02:33 +0000 (20:02 +0000)
sonar-scanner-engine/src/main/java/org/sonar/scm/git/GitBlameCommand.java

index 5c4003c80da7fe32bf1760b3a309c5c1360f66f5..4a1e56a883d25be7d61cae4a186e6984b8b16af9 100644 (file)
@@ -53,7 +53,7 @@ public class GitBlameCommand {
   private static final String MINIMUM_REQUIRED_GIT_VERSION = "2.24.0";
   private static final String DEFAULT_GIT_COMMAND = "git";
   private static final String BLAME_LINE_PORCELAIN_FLAG = "--line-porcelain";
-  private static final String END_OF_OPTIONS_FLAG = "--end-of-options";
+  private static final String FILENAME_SEPARATOR_FLAG = "--";
   private static final String IGNORE_WHITESPACES = "-w";
 
   private static final Pattern whitespaceRegex = Pattern.compile("\\s+");
@@ -128,7 +128,7 @@ public class GitBlameCommand {
           gitCommand,
           GIT_DIR_FLAG, String.format(GIT_DIR_ARGUMENT, baseDir), GIT_DIR_FORCE_FLAG, baseDir.toString(),
           BLAME_COMMAND,
-          BLAME_LINE_PORCELAIN_FLAG, IGNORE_WHITESPACES, END_OF_OPTIONS_FLAG, fileName)
+          BLAME_LINE_PORCELAIN_FLAG, IGNORE_WHITESPACES, FILENAME_SEPARATOR_FLAG, fileName)
         .execute();
     } catch (UncommittedLineException e) {
       LOG.debug("Unable to blame file '{}' - it has uncommitted changes", fileName);