Description
- GitHub Extension for Visual Studio version: 2.4.1
- Visual Studio version: All
What happened (with steps, logs and screenshots, if possible)
- Added inline comment using GitHub Extension: Ensure that the GitHubPaneViewModel is initalized. #1426 (review)
- Comment appears on PR page (possibly the line above where I added it, not sure)
- Open
IPullRequestSessionManager.cs
from PR details view - Inline comment doesn't appear on diff view or PR file tree
Diagnosis
It appears the issue caused a dependency in the use of the git diff --indent-heuristic
option. GitHub.com uses this but command line and libgit2 doesn't use it by default.
You can see the difference in the output from the following commands (on the github/VisualStudio
repo):
git diff a39d0bb8..87058c77
git diff a39d0bb8..87058c77 --indent-heuristic
See here for when it was introduced:
https://github.com/github/experience-engineering-code/issues/483
Fix
The --indent-heuristic
option is available in libgit:
https://github.com/libgit2/libgit2/blob/da8138b01217824cf211fa491608a7b067cf8e43/include/git2/diff.h#L134
But isn't currently available in libgit2sharp.
https://github.com/libgit2/libgit2sharp/blob/master/LibGit2Sharp/Core/GitDiff.cs#L191
Needs to learn about the new flag.
https://github.com/libgit2/libgit2sharp/blob/3f9b415fa1edfc31ce1ec2b4b3d18441c34adfff/LibGit2Sharp/Diff.cs#L21
Needs to know to set it.
We would need a DiffModifiers.IndentHeuristic
bool
If you have a GitDiffOptions
then you can turn on bit (1 << 31)
of the Flags
(which unfortunately we don't have access to). See libgit2/libgit2@7e3faf5
@ethomson said he might have a chance to tackle this on on a long flight tomorrow. It would be very much appreciated if he was able to! 😃
Update: it looks like this has changed to GIT_DIFF_INDENT_HEURISTIC = (1u << 18)
in recent versions.
libgit2/libgit2@2d9d246
Metadata
Metadata
Assignees
Type
Projects
Status