zokugun / vscode-sync-settings

Easily synchronize your settings
MIT License
146 stars 12 forks source link

Confused about extensions.yml #70

Open TonyGravagno opened 2 months ago

TonyGravagno commented 2 months ago

The screenshot below shows a "disabled:" section in extensions.yml. That is what I get with the command to "View differences between actual and saved settings".

But note also that I have no Disabled extensions, and in the current environment only 7 installed+enabled.

Every time I use Sync Settings to do a commit+push of current settings, the GitHub repo shows that the file was updated, but it shows the old (red) version. See the second screenshot below.

Again: The way I'm reading this is that the right side of the diff should indicate additions that were made, and we see "adzero" on the right side at line 6. We see "adzero" on the left at line 8. so it seems this extension was simply moved up in the list of disabled extensions. But in the live repo, updated just a few minutes ago (and many times before this), line 8 still has the "adzero" extension that was supposedly moved out. Also note that there should not be any disabled extensions in this list at all, while extensions.yml shows about 150 old extensions. (It's remotely possible that this is getting confused with extensions that are still on the system in other VS Profiles, but I doubt that.)

I don't understand what's happening. 1) It has a ton of old data. 2) It's not actually updating the remote repo with the current data.

I am expecting the remote repo extensions.yml to reflect the current set of installed and disabled extensions.
Is that not a valid expectation?

image

image

daiyam commented 2 months ago

A known issue is that the list isn't ordered. I haven't took the time since nobody was bothered by it...

It's remotely possible that this is getting confused with extensions that are still on the system in other VS Profiles, but I doubt that.

I don't use VS Profiles so I don't the extension behaviour in that case but it does look for all the extensions. So the support of VS Profiles will need to be added.

TonyGravagno commented 2 months ago

The issue isn't that the list of extensions isn't ordered. This extension doesn't care about the contents of a file.

The issue seems to be that the wrong extensions.yml is being saved and used for comparison.

Test:

  1. Check your repo for extensions.yml. Note the last update and contents.
  2. Add an extension.
  3. Use the extension to check a diff. Is it right?
  4. Use the extension to commit and push to the remote repo.
  5. Repeat step 1. Is it right?
  6. Repeat step 3. There should be no difference.
  7. Repeat step 4. Does it recommit extensions.yml even though there were no changes?

When I have time, I'll look to see which version of extensions.yml it's using on my system.

Thanks!