@@ -218,7 +218,7 @@ public class CLIGitCommand extends Main { | |||
inquote = !inquote; | |||
continue; | |||
case '\\': | |||
if (inquote || ip == commandLine.length()) | |||
if (inDblQuote || inquote || ip == commandLine.length()) | |||
r.append(b); // literal within a quote | |||
else | |||
r.append(commandLine.charAt(ip++)); |
@@ -51,9 +51,11 @@ public class CLIGitCommandTest { | |||
@Test | |||
public void testSplit() throws Exception { | |||
assertArrayEquals(new String[0], split("")); | |||
assertArrayEquals(new String[] { "a" }, split("a")); | |||
assertArrayEquals(new String[] { "a", "b" }, split("a b")); | |||
assertArrayEquals(new String[] { "a", "b c" }, split("a 'b c'")); | |||
assertArrayEquals(new String[] { "a", "b c" }, split("a \"b c\"")); | |||
assertArrayEquals(new String[] { "a", "b\\c" }, split("a \"b\\c\"")); | |||
} | |||
} |