microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
164.14k stars 29.28k forks source link

Git: Synchronizing changes stays in loop in VSCODE #139202

Open bwiczkowsk96 opened 2 years ago

bwiczkowsk96 commented 2 years ago

Hello,

I got issue with my visual studio code. I want to note that was working couple month ago, but now is not working.

I'm doing change in the file, staging changes and doing commit. But when I click Sync Changes it stays in loop nothing is happening.

When I'm doing git pull or git push from terminal it's working. Only issue in VSCODE.

bwiczkowsk96 commented 2 years ago

Hi, My VSCODE is working on Windows machine. Version of vscode:

Version: 1.63.1 (user setup)
Commit: fe719cd3e5825bf14e14182fddeb88ee8daf044f
Date: 2021-12-14T02:13:54.292Z
Electron: 13.5.2
Chromium: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Windows_NT x64 10.0.19044

Installed extension: Docker, GitlabWorkflow, GitLens, Powershell, @builtinextension: Git, Git Base.

I'm doing changes into my code. Next I'm staging changes, filling out commit filed, running commit. Next Sync changes is active, clicking on that and since this moment it's working in the loop with no response.

Same situation is for pull and push from Source Control Panel.

Commands are working from terminal successfully.

bwiczkowsk96 commented 2 years ago

@lszomoru any update?

bwiczkowsk96 commented 2 years ago

@vscode-triage-bot

lszomoru commented 2 years ago

Sorry to hear about the issue that you are experiencing.

Could you please invoke the Git: Set Log Level... command from the command palette and set the log level to Trace, then try to sync your changes. After that use the Git: Show Git Output command from the command palette, and share the output.

bwiczkowsk96 commented 2 years ago

This is what I see from git output from VSCODE Output tab.

`

git status -z -u git symbolic-ref --short HEAD git for-each-ref --format=%(refname)%00%(upstream:short)%00%(objectname)%00%(upstream:track) refs/heads/master refs/remotes/master git for-each-ref --sort -committerdate --format %(refname) %(objectname) %(*objectname) git remote --verbose git config --get commit.template `

And it's going to be frozen.

irobot commented 2 years ago

I'm experiencing the same after I tried setting VSCode as the git editor and editing a commit message from within the integrated terminal.

For context, this is VSCode version 1.64.2 in Remote-WSL (WSL2, Ubuntu-20.04)

git config --global core.editor "code -w"
git commit --amend

The commit message is updated, but the Git extension starts producing the same message in the Git Output as above, over and over, and the Git extension icon keeps flashing momentarily every few seconds.

A somewhat acceptable workaround is to have git launch the editor in a new window:

git config --global core.editor "code -w -n"

This works as expected, though not as seamless as having the commit message pop in the current editor.

mmbannert commented 2 years ago

Hi,

This sounds a lot like the same problem I am experiencing. This problem occurs when publishing a branch or when pushing to a remote branch. VS Code says it is "Synchronizing Changes" and it never stops again. Curiously, when I close VS Code and then check on GitHub/GitLab, my commits do show up remotely, however. It is just very annoying that I have to close and reopen the editor to push my changes.

My Git output looks like the process gets stuck at...

git config --get commit.template

My VS Code version:

Version: 1.65.2 Commit: c722ca6c7eed3d7987c0d5c3df5c45f6b15e77d1 Date: 2022-03-10T15:36:26.048Z Electron: 13.5.2 Chromium: 91.0.4472.164 Node.js: 14.16.0 V8: 9.1.269.39-electron.0 OS: Linux x64 5.4.0-104-generic

Extensions that are installed in the container that I would like to push from: Extension Author (truncated) Version jupyter-keymap ms- 1.0.0 remote-containers ms- 0.224.3 remote-ssh ms- 0.77.2022031115 remote-ssh-edit ms- 0.76.1 remote-wsl ms- 0.64.2 vscode-remote-extensionpack ms- 0.21.0 python ms- 2022.2.1924087327 vscode-pylance ms- 2022.3.2 jupyter ms- 2022.2.1030672458 jupyter-keymap ms- 1.0.0 jupyter-renderers ms- 1.0.6

y-x-c commented 2 years ago

experiencing the same issue here, git syncs fine for a few times and then stays in loop, can't tell what's the trigger yet. I have turned on trace level output, will provide info next time I encounter this.

GigglePocket commented 2 years ago

Hello. I'm experiencing a similar issue.

The last output from vs code after following Iszomoru's instruction:

Could you please invoke the Git: Set Log Level... command from the command palette and set the log level to Trace, then try to sync your changes. After that use the Git: Show Git Output command from the command palette, and share the output.

Is: [2022-05-08T18:11:49.447Z] > git show --textconv :transfer.py [60ms]

My V.S. Code Specs:

RensGits commented 2 years ago

Working from mac here. Was stuck in the same loop. It might have something to do with authentication. When I rebooted VSC OS asked me for credentials. Filled in my password and it instantly pushed.

I also had this issue when using the VSC integrated terminal for the commit message.

mmbannert commented 2 years ago

@RensGits: I doubt that authentication is the problem in my case at least. If authentication failure were the problem, the pushes would not show up despite the never-ending loop. The problem is that VSC looks like it is synchronizing forever. And when I just close it while it is in that stage, I can then see that the synchronization with the repo was in fact successful. It would just be nice if VSC could reflect that.

skube commented 2 years ago

I'm experiencing the same, but only in one of my folders. Interestingly, when git pull from Terminal (or even integrated VSCode terminal), everything seems fine and completes swiftly. Only seems to freeze from within VSCode when doing Git: Pull.

Ozodimgba commented 2 years ago

Same issue too..but worked fine on the web ide

GVN79 commented 2 years ago

I'm experiencing the same, using wsl, git push using terminal is ok after prompting for SSH authentication. with Git: Pull I'haven't got any authentication prompted. any idea how to pass the key passphrase ?

PierreAntoineLarge commented 2 years ago

I had this problem. (Synchronizing changes staying in loop in VSCODE)

The reason ? I was trying to push my commit in the main branch of my project.

The solution ? I just checked-out to a branch, and the pushs i do are so quick now !👯

How did I checked-out to a branch ?

1 - clic on ( ... ) near to "SOURCE CONTROL" 2 - select "CHECKOUT TO ..." 3 - select what you prefer in the list...

I hope it will help some people having the same problem I had...

reason

quoctiennguyen commented 2 years ago

Close the VS code and open again, issue has gone

nbouvrette commented 2 years ago

I had the same issue and for some reason, a Github action (in this case related to Husky) was failing but the error was not visible anywhere. I managed to see the error by downloading Github Desktop which I was able to fix and then restore normal functions in VSCode.

Spongman commented 2 years ago

I have the same issue. the only fix for me is to restart vscode - not an acceptable workaround. I can git push just fine from the terminal. btw: i'm using ssh-agent.

GVN79 commented 2 years ago

workaround for me => use RSA private key without passphrase. it seems vscode can't display a prompt to ask the passphrase. (using SSH)

lszomoru commented 2 years ago

The latest version of VS Code (1.72) adds support for SSH keys with a passphrase. Could you please upgrade to the latest version and let me know if the quick input field is not being shown?

GVN79 commented 2 years ago

I'm using Version: 1.72.2 (user setup) Commit: d045a5eda657f4d7b676dedbfa7aab8207f8a075 Date: 2022-10-12T22:15:18.074Z Electron: 19.0.17 Chromium: 102.0.5005.167 Node.js: 16.14.2 V8: 10.2.154.15-electron.0 OS: Windows_NT x64 10.0.19044 Sandboxed: No with Remote WSL Ubuntu

=> Sorry, I don't see any popup asking for the passphrase

Spongman commented 2 years ago

I'm running 1.72.2, and no input field is shown.

lszomoru commented 2 years ago

@GVN79, @Spongman could you please share a screenshot of the state of VS Code after clicking the "Synchronize Changes" button? Thank you!

GVN79 commented 2 years ago

@lszomoru , I haven't got the "Synchronize Changes", so I clic on Source control :: Pull

2022-10-31 18_11_08-Clipboard

qaninjauk commented 2 years ago

I have tried to sync to git hub but the spinner just spins and nothing happens :(

Screenshot 2022-11-03 at 6 44 08 pm

I am on vscode Version 1.73.0 (Universal)

Using Python 3.10.7

Can anyone help please? It used to work fine but now nothing will push to my repository

Many thanks in advance,

lszomoru commented 1 year ago

@GVN79, what happens when you click the "Publish Branch" button? @qaninjauk, could you please share the contents of the git output window?

GVN79 commented 1 year ago

@lszomoru vscode_nothing_when_private_key_with_passphrase

You can see in the attached screenshot: first try: the ssh private key is protected with a passphrase => Nothing seems to be done second try, after removing the passphrase => Communication with Github is ok, as I received an error

lszomoru commented 1 year ago

@GVN79, thanks for the recording. Would it be possible for you to try without using WSL? I am asking because we have added support for displaying a quick input widget at the top of the screen when using SSH keys with a passphrase. I wonder if this functionality does not work as expected with WSL.

Rahabib commented 1 year ago

this one affects me as well.

Version: 1.73.1 (Universal) Commit: 6261075646f055b99068d3688932416f2346dd3b Date: 2022-11-09T02:08:38.961Z (1 wk ago) Electron: 19.0.17 Chromium: 102.0.5005.167 Node.js: 16.14.2 V8: 10.2.154.15-electron.0 OS: Darwin x64 21.6.0 Sandboxed: No

GVN79 commented 1 year ago

Directly from windows (no wsl), a popup for the passphrase is appearing:

image
lszomoru commented 1 year ago

@GVN79, thank you very much. Will look into this later this week and will try to get a fix in.

sunstep commented 1 year ago

I just had this issue. For me, the issue was that it wasn't properly signing in. When clicking on sign in using browser, the pop-up to sign in disappears and nothing happens. Except for the fact that it keeps trying to sync changes. Restarting VS Code, then getting that sign in pop up again and using a code to log in (alternative way to sign in) actually signed me in, which made it work for me.

Mohdx commented 1 year ago

In terminal following commands fix the issue:

âž¡ git pull warning: could not find UI helper 'GitHub.UI' Select an authentication method for 'https://github.com/':

  1. Web browser (default)
  2. Device code
  3. Personal access token

âž¡ 1 info: please complete authentication in your browser...

Already up to date.

âž¡ git push Enumerating objects: 37, done. Counting objects: 100% (37/37), done. Delta compression using up to 8 threads Compressing objects: 100% (23/23), done. Writing objects: 100% (23/23), 2.20 KiB | 562.00 KiB/s, done. Total 23 (delta 16), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 100% (16/16), completed with 11 local objects. To https://github.com/***/***-app.git bd..b82 staging -> staging

âž¡ git push Everything up-to-date

DairyWeb3638077 commented 1 year ago

I know this is not the answer you were looking for but, you could Undo Last Commit on VSC until you no longer get the option to sync your changes, then download GitHub Desktop. It worked for me.

miguelgargallo commented 1 year ago

git push

Thanks, that helped me a lot, on mbp, lates apple software, Ventura

Theo-Dancoisne commented 1 year ago

Hi, I've got the same problem and I wanted to know where it was to fix it I noticed the problem comes from the popup that doesn't showing up, I know that the one of this extension works fine: https://github.com/Microsoft/vscode-remote-release

yasinalm commented 1 year ago

Probably it's the worst solution, but clearing your /Home/<user>/.vscode-server works 🙄

xscottxbrownx commented 1 year ago

This is still an issue...

reported over a year ago!!!

UmerTariq1 commented 1 year ago

facing the same issue. I have spent 4 hours now and am unable to make it work. I can still push it through terminal but not from vs code. and its not this repo specific. I tried deleting and republishing the repo from local but the error persists.

VS code: 1.76.0 (Universal)

OS : M1 ( 13.0 (22A380) )

As someone asked for the trace above. so here is mine: 2023-03-08 00:32:07.462 [trace] Operation start: Commit (blocking: true, readOnly: false; retry: false; showProgress: true) 2023-03-08 00:32:07.597 [trace] [svte] Scan visible text editors. autoRepositoryDetection=true 2023-03-08 00:32:07.605 [trace] [svte] Scan visible text editors. autoRepositoryDetection=true 2023-03-08 00:32:07.605 [trace] [svte] Repository for editor resource (REDACTED: Proejct Folder Path).git/COMMIT_EDITMSG already exists: (REDACTED: Proejct Folder Path) 2023-03-08 00:32:07.783 [debug] [.git] Change: (REDACTED: Proejct Folder Path).git/COMMIT_EDITMSG 2023-03-08 00:32:07.814 [trace] Operation start: Show (blocking: false, readOnly: true; retry: false; showProgress: false) 2023-03-08 00:32:07.815 [trace] Operation start: GetObjectDetails (blocking: false, readOnly: true; retry: false; showProgress: false) 2023-03-08 00:32:07.828 [info] > git show --textconv :.git/COMMIT_EDITMSG [14ms] 2023-03-08 00:32:07.829 [info] > git ls-files --stage -- (REDACTED: Proejct Folder Path).git/COMMIT_EDITMSG [13ms] 2023-03-08 00:32:07.829 [trace] Operation end: GetObjectDetails (blocking: false, readOnly: true; retry: false; showProgress: false) 2023-03-08 00:32:07.829 [trace] Operation end: Show (blocking: false, readOnly: true; retry: false; showProgress: false) 2023-03-08 00:32:08.889 [trace] Operation start: GetObjectDetails (blocking: false, readOnly: true; retry: false; showProgress: false) 2023-03-08 00:32:08.891 [trace] Operation start: GetObjectDetails (blocking: false, readOnly: true; retry: false; showProgress: false) 2023-03-08 00:32:08.909 [info] > git ls-files --stage -- (REDACTED: Proejct Folder Path).git/COMMIT_EDITMSG [18ms] 2023-03-08 00:32:08.910 [trace] Operation end: GetObjectDetails (blocking: false, readOnly: true; retry: false; showProgress: false) 2023-03-08 00:32:08.910 [info] > git ls-files --stage -- (REDACTED: Proejct Folder Path)/README.md [21ms] 2023-03-08 00:32:08.912 [trace] Operation start: Show (blocking: false, readOnly: true; retry: false; showProgress: false) 2023-03-08 00:32:08.926 [info] > git show --textconv :.git/COMMIT_EDITMSG [14ms] 2023-03-08 00:32:08.926 [trace] Operation end: Show (blocking: false, readOnly: true; retry: false; showProgress: false) 2023-03-08 00:32:08.927 [info] > git cat-file -s 51ffff8cbc4bfa975c13e36ca1ab818be5868164 [16ms] 2023-03-08 00:32:08.927 [trace] Operation end: GetObjectDetails (blocking: false, readOnly: true; retry: false; showProgress: false) 2023-03-08 00:32:08.929 [trace] Operation start: Show (blocking: false, readOnly: true; retry: false; showProgress: false) 2023-03-08 00:32:08.942 [info] > git show --textconv :README.md [13ms] 2023-03-08 00:32:08.942 [trace] Operation end: Show (blocking: false, readOnly: true; retry: false; showProgress: false)

data-navigator commented 1 year ago

Had this issue in 1.72.2, the SSH password box did not open when publishing a branch and would not open for any further git actions, until I restarted my laptop. It seems fine now that I have restarted.

chrisyoung0101 commented 1 year ago

Mac, v 1.76.2 - After first being reported 458 days ago from today, this is still an issue. Thank you for inspiring me to look into other IDEs that are not managed by microsoft.

amirka-s commented 1 year ago

Solved the issue for me by adding a message before committing (to the text field above "Commit" button)

jdsom commented 1 year ago

I had the same issue since yesterday. It worked fine on when pushing/pulling/syncing on my MacBook but was stuck in the loop for my pc with the windows OS. I uninstalled Git and VS Code (disabled "Setting sync is On" so it doesn't remove my extensions from my Mac), removed the hidden ".vscode" folder from the "C:\Users\username\" and reinstalled everything. Now it's working normally again.

UmerTariq1 commented 1 year ago

removing vs code and git did not work for me. But, as suggested by @amirka-s , adding a message before committing did work. This is weird

agb commented 1 year ago

I solved it with this method.

sudo chown username -R .ssh/

Because the SSH file owner is the 'root' user NOT ME, you have to try as a 'root' user or change your user's permission.

https://docs.rackspace.com/support/how-to/enable-ssh-public-key-authentication/

Aziz-cs commented 1 year ago

Try to do Pull / Push separately

wasuaje commented 1 year ago

It seems the GitHub IP has changed

git pull
Warning: the ECDSA host key for 'github.com' differs from the key for the IP address '140.82.114.4'
Offending key for IP in /home/wasuaje/.ssh/known_hosts:19
Matching host key in /home/wasuaje/.ssh/known_hosts:66
Are you sure you want to continue connecting (yes/no)? yes
Already up to date.

I did several times but the git command was not able to replace the known host line

I remove it manually, did a git pull again (a couple of times to be sure it din´t asked it again), and the issue was solved!

sdoigmm commented 1 year ago

Had the same issue, was looking at the Syncing message, and didn't realise VS Code was waiting on an SSH password on the right

Screenshot 2023-07-31 at 1 38 47 pm
Taddeivitor commented 1 year ago

Hi, i use the command git push -u origin branchname and it ask for my authentication, after that the problem didnt appear

SiestaCat commented 1 year ago

Same here. 10-15 times per day. This is unusable.