andy-5 / wslgit

Use Git installed in Bash on Windows/Windows Subsystem for Linux (WSL) from Windows and Visual Studio Code (VSCode)
MIT License
1.18k stars 59 forks source link

Issue with bash not showing the commit details in Fork #134

Closed andROYdified closed 1 year ago

andROYdified commented 1 year ago

Just recently, I noticed that Fork was not showing the 'Commit/Changes/File Tree' pane, with an error message: /bin/bash: !--RevisionMessageEnd--; No such file or directory

At first, I thought that the issue is with Fork, so I tried reinstall Fork, but the issue still persist.

The message disappeared only when I changed the Git Instance under preference to the default git that was include with the app.

So it's suggesting to me that the issue is with the wslgit symlink.

image

I'm using Fork Version 1.80

Hope you can help me,

Thanks

carlolars commented 1 year ago

Just updated to Fork 1.80 and got the same problem :/

carlolars commented 1 year ago

The problem is that Fork changed one argument to --pretty=format:%H±.%aN±.%aE±.%at±.%cN±.%cE±.%ct±.%P±.%B<!--RevisionMessageEnd-->, and bash don't like unescaped <, ! and >. I have implemented a fix that I'm testing now.

sneakyvv commented 1 year ago

Same problem, did same steps, so I'm also assuming the issue is with wslgit

sneakyvv commented 1 year ago

@carlolars seems like a promising fix. I tried to test it, but there's no release in your fork repo (yet), so I tried to build the package but it seems I'm missing a build script for the wslgit.exe file. I guess I'll wait for your PR, unless there's something I can help with?

DanPristupov commented 1 year ago

Hi! I'm sorry for making problems for you.

The problem is that Fork changed one argument to --pretty=format:%H±.%aN±.%aE±.%at±.%cN±.%cE±.%ct±.%P±.%B<!--RevisionMessageEnd-->, and bash don't like unescaped <, ! and >. I have implemented a fix that I'm testing now.

Yes, I confirm that. I didn't know that this particular message could cause an issue. It's been working on Mac for some time and now we did the same on Windows.

fabiomaggio commented 1 year ago

I'm having the same issue here...

sneakyvv commented 1 year ago

@DanPristupov Is there a way to get the old release for Fork (< 1.80) somewhere temporarily? I didn't find a page for them on https://git-fork.com.

DanPristupov commented 1 year ago

@sneakyvv You can download Fork 1.79 here (https://cdn.fork.dev/prerelease/ForkInstaller-1.79.exe), but you must disable automatic updates. You must be very quick , otherwise Fork will check and install 1.80 already.

sneakyvv commented 1 year ago

@DanPristupov Thanks! And thanks for the heads-up, I just disabled my wifi before installing, so I had enough time ;-)

andy-5 commented 1 year ago

There is now a test build of wslgit with the fix by @carlolars available for download.

sneakyvv commented 1 year ago

You guys are all stars! 🤘

Can confirm it works on Fork 1.80 now 🎉

andROYdified commented 1 year ago

Confirming that the test build works for Fork 1.80, 1.71 and 1.78 :)

You guys are awesome!

Thanks so much!

andROYdified commented 1 year ago

@sneakyvv You can download Fork 1.79 here (https://cdn.fork.dev/prerelease/ForkInstaller-1.79.exe), but you must disable automatic updates. You must be very quick , otherwise Fork will check and install 1.80 already.

This is the same thing I did. After downloading the installer, I disabled my WiFi, then proceed to setting it up (and most importantly disable automatic updates). :)

DanPristupov commented 1 year ago

@carlolars @andy-5 will that be better if we change the separator to --RevisionMessageEnd-- in the next update?

MichalGow commented 1 year ago

There is now a test build of wslgit with the fix by @carlolars available for download.

New wslgit (1.2.0-alpha3) doesn't work for me. Now I am getting fatal: unrecognized argument: --diff-merges=1

Which needs to be fixed by updating GIT inside WSL - https://unix.stackexchange.com/questions/33617/how-can-i-update-to-a-newer-version-of-git-using-apt-get

andy-5 commented 1 year ago

@MichalGow Yes, the --diff-merges=1 flag seems to be a quite recent addition to git. I think you need at least version 2.31. There is nothing wslgit can do about that.

@DanPristupov I think there is no need to change the separator, now that wslgit can properly escape the special characters.

jonbeebe commented 1 year ago

I also ran into this issue and the steps described here fixed it:

andy-5 commented 1 year ago

The changes to fix this are now released as wslgit v1.2.0.