* Disable loc-related warnings (e.g., LF will be replaced by CRLF the
next time Git touches it).
* Simply build structure removing reset-commit steps that were responsible
for setting original PR commit's hash. Override `$(GitCommit)` and `$(GitSha)`
MSBuild properties instead.
Co-authored-by: Gerhard Olsson <6248932+gerhardol@users.noreply.github.com>
Co-authored-by: Michael Seibt <36601201+mstv@users.noreply.github.com>
(cherry picked from commit 24b715979f)
* Disable loc-related warnings (e.g., LF will be replaced by CRLF the
next time Git touches it).
* Simply build structure removing reset-commit steps that were responsible
for setting original PR commit's hash. Override `$(GitCommit)` and `$(GitSha)`
MSBuild properties instead.
Co-authored-by: Gerhard Olsson <6248932+gerhardol@users.noreply.github.com>
Co-authored-by: Michael Seibt <36601201+mstv@users.noreply.github.com>
Resolves#8000
The tests got broken for few reasons:
1. Earlier versions of ApprovalTests considered differences in EOL, and
these tests deal with precisely this.
However recently we have updated to the newer version of ApprovalTests
that no longer considered EOL differences as failures.
2. During migration to Arcade SDK (#7649) few approved files had their
EOL accidentally converted to CRLF, that was unnoticed due to the reasons
explained above.
CRLF conversion is moved out of `FileViewer` because it has no real
connection to it.
The tests refactored and verified for correctness.
Updated hMSBuild to 2.1.0 from https://github.com/3F/hMSBuild/
Use 64bit build where possible
Note: hMSBuild.bat is compressed/compiled compared to the "source"
A later release may include hMSBuild.full.bat that is easier to debug
* Remove unused code
* Blame view and parsing review
A few improvements to how blame data is parsed and displayed.
- Blame data structures made immutable
- Unit tests added for parsing behaviour
- O(N) algorithm replaced with O(1) which improves perf on longer files
- Many fewer temporary strings allocated
GitBlameLine now has a direct reference to GitBlameCommit, which avoids the linear lookup that was previously in GitBlame.FindHeaderForCommitGuid.
* Mouse highlights blame commit on LHS too
Previously only when hovering the mouse on the RHS would all lines from that commit be highlighted.
With this change, the mouse highlights all lines from the hovered commit in both the left and right views, no matter where the mouse is located.
It also avoids calling GitBlameCommit.ToString on every mouse move event then comparing the full string. Instead it does a quick reference comparison on the commit object, and only calls ToString if needed.