Closed jacobweber closed 7 months ago
Suspect some encoding issue. I'm getting it occasionally.
Me too with unicode symbols. E.g. insert the following ¯\_(ツ)_/¯
to any utf8 file and you will notice gutter.
VS Code treats such file as CP1252 (see https://github.com/Microsoft/vscode/issues/33720), encoding detection should be fixed. So I guess it's vscode problem, particularly see my comment.
My bug is different
I'm getting it with ×
In my original example, there were no non-ASCII characters in the file. So I don't think it's an encoding issue (although I can also see that issue). In my case, the diffs show actual SVN diffs, but for changes that have already been committed. In fact, one file is showing diffs from multiple previous commits.
:tada: This issue has been resolved in version 1.47.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:
This is still happening for me, using svn-scm 1.47.5. It wasn't the encoding issue in my case.
How this extension work for diff gutter:
svn cat <file path>
, and set content to ContentProvider
, respecting files.encoding
config.files.autoGuessEncoding
is true
and the encoding of document if different of files.encoding
, or, user change the encoding without change the configurationWe need this to better work: Microsoft/vscode#824
@edgardmessias But I’m not seeing the diffs on non-ASCII characters; I’m seeing them on lines that were changed and committed. Maybe the diff info is cached somewhere?
Maybe, your file contains "\r\n" and "\n", yum can check with "notepad++" with show symbols
Yes there is a cache for the diff. Maybe this should be cleared on commits.
@edgardmessias I just checked one of the files that has the diffs, and it uses CR everywhere; there's no LF.
You can check the svn cat output?
Em ter, 19 de mar de 2019 8:51 PM, Jacob Weber notifications@github.com escreveu:
@edgardmessias https://github.com/edgardmessias I just checked one of the files that has the diffs, and it uses CR everywhere; there's no LF.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/JohnstonCode/svn-scm/issues/483#issuecomment-474628970, or mute the thread https://github.com/notifications/unsubscribe-auth/ABdcdUvNbdn0SFZkjfi5Phd_FwWF7Kjaks5vYXgOgaJpZM4bGVQy .
@jacobweber If you make changes to the open file and commit does the gutter stiff show the changes made? Also if you go to a different window and back are they still there?
It's sporadic, so I'll answer you the next time it happens.
But in the past, it would show diffs from multiple already-committed versions of the file. And they'd still be there after closing/opening the window.
OK, I just saw it on a file, with the gutter showing changes from several already-committed revisions.
I verified that the file only uses UNIX line endings, and has no non-ASCII characters.
I still see the gutter after closing and re-opening the file, or going to a different window and back.
If I make changes to the file, they're added to the existing changes in the gutter.
But I don't see them anymore after closing and re-opening the project containing that file.
Not sure, but I'd guess this issue is related to https://github.com/microsoft/vscode/issues/824. Unfortunately there seems to be some reluctance to fix the issue
After some tests, the problem occurs after convert EOL of file from CR
to LF
But, when open another file and back, working fine (On windows machine)
:tada: This issue has been resolved in version 1.50.3 :tada:
The release is available on:
Your semantic-release bot :package::rocket:
Bad news...I still see it. I installed 1.52.2 yesterday, and have restarted since then.
I just committed a change, and still see the diffs for it. Then I committed another change to the same file, and I see the diffs for both changes.
The file I'm seeing it on has all UNIX line breaks (LF), and I don't think that has changed recently.
@jacobweber, small test, try open another file and back. My opinion is a bug on VSCode.
I can close this file and re-open it, and it still shows the diffs.
@jacobweber, the problem of cache are fixed on 1.50.3
, and 1.52.2
it is released today
Sorry, you're right. But I installed 1.50.3 as soon as it was released, and have restarted since then.
@jacobweber, this line is called on each file is opened: https://github.com/JohnstonCode/svn-scm/blob/f16c9f45f4b0b3f900854e514398e7ecc8c60fa1/src/svnContentProvider.ts#L97
See in you log, each time you open another file and back, a svn cat
command is called.
Please, open another file and back, after, paste log here
OK. I just restarted, so I'll get the logs when it happens again.
Saw it again, and closed the file. Any time I reopen it now, I just see an info
command in the log:
[myProject]$ svn info --xml /path/to/myProject/src/myFile.js
But if I open a different file, I see an info
and a cat
:
[myProject]$ svn info --xml /path/to/myProject/src/myOtherFile.js
[myProject]$ svn cat src/myOtherFile.js
FYI, after I open the file with the problem, and I make a change to it, I get this in the logs:
[myProject]$ svn stat --xml --no-ignore --ignore-externals
[node_modules]$ svn info --xml
[config.json]$ svn info --xml
[node_modules]$ svn info --xml
[node_modules]$ svn: warning: W155010: The node '/path/to/myProject/node_modules' was not found.
[node_modules]$ svn: E200009: Could not display info for all targets because some targets don't exist[node_modules]$ svn: warning: W155010: The node '/path/to/myProject/src/node_modules' was not found.
[node_modules]$ svn: E200009: Could not display info for all targets because some targets don't exist
config.json
and node_modules
are non-versioned files, which aren't open. So this may be normal.
The svn info --xml
if called by "Tree View", and svn cat
by diff gutter.
@jacobweber, try reproduce same problem with GIT
I'll try if I get some time, but I don't work regularly with git.
FYI, I'm seeing this with other projects, and the behavior is the same -- when I open the file with problems, it shows a "svn info" but no "svn cat" command.
Could we re-open this? I'm seeing it a lot still.
Is the encoding you see for the file in vscode correct?
@JohnstonCode I'm seeing it now on one file that I just committed. The encoding in the status bar says UTF-8
and LF
. I verified that the file has no non-ASCII characters (using file -I
), and has only LF for line endings (using dos2unix -i
), so it seems correct.
I also see the same behavior as above, where when I open this one file, the SVN shows a "svn info" but no "svn cat" command.
How are you committing? The extension or cli?
The extension.
@jacobweber can you send me some sample files that this is happening with?
Will do, next time it happens. Although I have a feeling it’s about the timing or environment, rather than the file contents.
Here's one (inside sample.zip).
Doing "svn diff" or "svn stat" on the file shows no changes. It has only Unix line feeds, and no non-ASCII characters.
Thanks
Issue
The diff in the gutter of an editor sometimes appears, even after all changes have been committed.
Steps to Reproduce
Doesn't always happen, but when it does:
Running
svn stat
shows nothing, so I'm sure the files have been committed.SVN Output
When I open the file:
Screenshots