You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 15, 2022. It is now read-only.
Repository navigation
This repository was archived by the owner on Dec 15, 2022. It is now read-only.
Thanks for the trace output, and sorry for the issue. @smashwilson I assume we're somehow failing to copy the script out of the ASAR into the temp location in order to run it — anything stand out to you as a likely suspect?
Okay, I've done a little digging around in Git for Windows source, and I've managed to reproduce this on my machine. The error message is deceptive: the underlying execve() call isn't unable to find the gpg-wrapper.sh script; it's unable to find the shell binary. I traced the system calls with Procmon and you can see it searching for sh.exe (then, interestingly, busybox.exe):
The sh.exe that it should be finding is in the node_modules\dugite\git\usr\bin directory:
It's not clear to me yet why that directory isn't on the $env:PATH for this call. A quick fix may be to just append that directory to the path in GitShellOutStrategy, but I'd rather dig a little further and see if this is something that regressed upstream in dugite first.
This works just fine on my laptop at home, so it's something unique to the workstation
If I modify %PATH% to include a sh.exe I can commit, but every commit prompts for my GPG key's password so I don't think the missing sh is the entire issue.
@smashwilson Btw, on my laptop at home this works perfectly, so it seems to be something about the environment of the computer running it. I'm just not sure where to start tracking down what could be the difference between the two.
@Arcanemagus Do you have git's cmd directory on your path on your laptop? That's how it was working for me before - it was picking up the binaries from my other git install 😄
The other sh.exe could also be coming from a separate MinGW install, maybe?
One thing that jumps out at me: on your workstation, your home directory path has a space in it. Maybe that's breaking dugite's MinGW environment somehow?
One thing that jumps out at me: on your workstation, your home directory path has a space in it. Maybe that's breaking dugite's MinGW environment somehow?
Ooo, good catch. I know it's been the source of many issues being reported before 😉.
Workstation OS was re-installed, username there is now abneyl and the github package is once again working properly so I'd say your "space in path" theory has more evidence behind it... but I can't test the original environment directly any more. If needed I can try creating a user with a space in the name to test though 😉.
I also have a space in my user name and I am facing the exact same problem. I will create a new user since my Windows installation is relatively new and I will install Atom there to see if a username without spaces helps resolve the issue.
A new user account (one without spaces) with Atom BETA installed reports the same issue. So my guess is that this problem doesn't have any relation with usernames. It has to be something else.
Activity
BinaryMuse commentedon Sep 12, 2017
Thanks for the trace output, and sorry for the issue. @smashwilson I assume we're somehow failing to copy the script out of the ASAR into the temp location in order to run it — anything stand out to you as a likely suspect?
Arcanemagus commentedon Sep 12, 2017
No worries, that's what beta's are for: Catching things like this before it gets out to everyone 😉.
As always let me know if there is any additional testing or information I can do to help!
smashwilson commentedon Sep 13, 2017
Oh, weird, this regressed again? Let me see if I can reproduce... 🔎
Thanks for the report, @Arcanemagus 🙇
smashwilson commentedon Sep 15, 2017
Okay, I've done a little digging around in Git for Windows source, and I've managed to reproduce this on my machine. The error message is deceptive: the underlying
execve()call isn't unable to find thegpg-wrapper.shscript; it's unable to find the shell binary. I traced the system calls with Procmon and you can see it searching forsh.exe(then, interestingly,busybox.exe):The
sh.exethat it should be finding is in thenode_modules\dugite\git\usr\bindirectory:It's not clear to me yet why that directory isn't on the
$env:PATHfor this call. A quick fix may be to just append that directory to the path inGitShellOutStrategy, but I'd rather dig a little further and see if this is something that regressed upstream in dugite first.Arcanemagus commentedon Sep 18, 2017
A few additional points of data:
%PATH%to include ash.exeI can commit, but every commit prompts for my GPG key's password so I don't think the missingshis the entire issue.vanboom commentedon Oct 1, 2017
I get the unable to commit error also when attempting to specify a commit message that starts with an issue reference like:
#1200 implemented widget AOmit the # and the commit will work.
smashwilson commentedon Oct 8, 2017
I did a little investigation with a recent build of Atom and git seems to be finding
shcorrectly now:It isn't clear to me what's changed, since 0.6.3 doesn't include the dugite bump from #1197.
smashwilson commentedon Oct 8, 2017
That looks more like #962.
Arcanemagus commentedon Oct 8, 2017
@smashwilson Btw, on my laptop at home this works perfectly, so it seems to be something about the environment of the computer running it. I'm just not sure where to start tracking down what could be the difference between the two.
smashwilson commentedon Oct 8, 2017
@Arcanemagus Do you have git's
cmddirectory on your path on your laptop? That's how it was working for me before - it was picking up the binaries from my other git install 😄The other
sh.execould also be coming from a separate MinGW install, maybe?Arcanemagus commentedon Oct 9, 2017
Workstation (broken):

Laptop (working):

In other words neither environment has a
shavailable (outside of Atom).smashwilson commentedon Oct 9, 2017
Gotcha. Weird. My current hypothesis is that this has something to do with the way that MinGW converts paths to their POSIX-land form.
One thing that jumps out at me: on your workstation, your home directory path has a space in it. Maybe that's breaking dugite's MinGW environment somehow?
Arcanemagus commentedon Oct 9, 2017
Ooo, good catch. I know it's been the source of many issues being reported before 😉.
Arcanemagus commentedon Oct 18, 2017
Workstation OS was re-installed, username there is now
abneyland thegithubpackage is once again working properly so I'd say your "space in path" theory has more evidence behind it... but I can't test the original environment directly any more. If needed I can try creating a user with a space in the name to test though 😉.rdnt commentedon Nov 24, 2017
I also have a space in my user name and I am facing the exact same problem. I will create a new user since my Windows installation is relatively new and I will install Atom there to see if a username without spaces helps resolve the issue.
rdnt commentedon Nov 24, 2017
A new user account (one without spaces) with Atom BETA installed reports the same issue. So my guess is that this problem doesn't have any relation with usernames. It has to be something else.