Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/diff-tool.md
Original file line number Diff line number Diff line change
Expand Up @@ -397,11 +397,11 @@ DiffTools.UseOrder(DiffTool.ExamDiff);

* Example target on left arguments:
```
"targetFile.txt" "tempFile.txt" /nh /diffonly /dn1:targetFile.txt /dn2:tempFile.txt
"targetFile.txt" "tempFile.txt" /nh /diffonly /dn1:"targetFile.txt" /dn2:"tempFile.txt"
```
* Example target on right arguments:
```
"tempFile.txt" "targetFile.txt" /nh /diffonly /dn1:tempFile.txt /dn2:targetFile.txt
"tempFile.txt" "targetFile.txt" /nh /diffonly /dn1:"tempFile.txt" /dn2:"targetFile.txt"
```
* Scanned paths:
* `%ProgramFiles%\ExamDiff Pro*\ExamDiff.exe`
Expand Down
4 changes: 2 additions & 2 deletions src/DiffEngine.Tests/diffTools.include.md
Original file line number Diff line number Diff line change
Expand Up @@ -262,11 +262,11 @@ DiffTools.UseOrder(DiffTool.ExamDiff);

* Example target on left arguments:
```
"targetFile.txt" "tempFile.txt" /nh /diffonly /dn1:targetFile.txt /dn2:tempFile.txt
"targetFile.txt" "tempFile.txt" /nh /diffonly /dn1:"targetFile.txt" /dn2:"tempFile.txt"
```
* Example target on right arguments:
```
"tempFile.txt" "targetFile.txt" /nh /diffonly /dn1:tempFile.txt /dn2:targetFile.txt
"tempFile.txt" "targetFile.txt" /nh /diffonly /dn1:"tempFile.txt" /dn2:"targetFile.txt"
```
* Scanned paths:
* `%ProgramFiles%\ExamDiff Pro*\ExamDiff.exe`
Expand Down
7 changes: 5 additions & 2 deletions src/DiffEngine/Implementation/ExamDiff.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,17 @@ static string LeftArguments(string temp, string target)
{
var tempTitle = Path.GetFileName(temp);
var targetTitle = Path.GetFileName(target);
return $"\"{target}\" \"{temp}\" /nh /diffonly /dn1:{targetTitle} /dn2:{tempTitle}";
// Quoted, like the paths beside them and like WinMerge and VisualStudio do with
// the same titles. A snapshot name with a space in it - which a parameterised
// test produces routinely - otherwise splits into extra positional arguments
return $"\"{target}\" \"{temp}\" /nh /diffonly /dn1:\"{targetTitle}\" /dn2:\"{tempTitle}\"";
}

static string RightArguments(string temp, string target)
{
var tempTitle = Path.GetFileName(temp);
var targetTitle = Path.GetFileName(target);
return $"\"{temp}\" \"{target}\" /nh /diffonly /dn1:{tempTitle} /dn2:{targetTitle}";
return $"\"{temp}\" \"{target}\" /nh /diffonly /dn1:\"{tempTitle}\" /dn2:\"{targetTitle}\"";
}

return new(
Expand Down
Loading