Hub: [Bug] error using text editor for pull request message

Created on 8 Feb 2017  Â·  4Comments  Â·  Source: github/hub

1. Summary

When I migrate to Windows 64-bit, I can not to create pull request via hub.

2. Expected behavior

Successfully pull request.

3. Actual behavior

D:\hub>hub pull-request
error using text editor for pull request message

4. Settings

D:\hub>where subl
D:\Sublime Text 3 x64\subl.exe
D:\hub>git config --list --show-origin
file:"C:\\ProgramData/Git/config"       core.symlinks=false
file:"C:\\ProgramData/Git/config"       core.autocrlf=true
file:"C:\\ProgramData/Git/config"       core.fscache=true
file:"C:\\ProgramData/Git/config"       color.diff=auto
file:"C:\\ProgramData/Git/config"       color.status=auto
file:"C:\\ProgramData/Git/config"       color.branch=auto
file:"C:\\ProgramData/Git/config"       color.interactive=true
file:"C:\\ProgramData/Git/config"       help.format=html
file:"C:\\ProgramData/Git/config"       http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
file:"C:\\ProgramData/Git/config"       diff.astextplain.textconv=astextplain
file:"C:\\ProgramData/Git/config"       rebase.autosquash=true
file:"C:\\Program Files\\Git\\mingw64/etc/gitconfig"    credential.helper=manager
file:C:/Users/SashaChernykh/.gitconfig  [email protected]
file:C:/Users/SashaChernykh/.gitconfig  user.name=Kristinita
file:C:/Users/SashaChernykh/.gitconfig  core.editor=subl -n -w
file:C:/Users/SashaChernykh/.gitconfig  core.commentchar=%
file:C:/Users/SashaChernykh/.gitconfig  core.autocrlf=true
file:C:/Users/SashaChernykh/.gitconfig  filter.lfs.clean=git-lfs clean -- %f
file:C:/Users/SashaChernykh/.gitconfig  filter.lfs.smudge=git-lfs smudge -- %f
file:C:/Users/SashaChernykh/.gitconfig  filter.lfs.required=true
file:C:/Users/SashaChernykh/.gitconfig  filter.lfs.process=git-lfs filter-process
file:C:/Users/SashaChernykh/.gitconfig  hub.protocol=https
file:C:/Users/SashaChernykh/.gitconfig  alias.l=log --graph --date=short --pretty=format:'%C(yellow bold)%h%Creset%C(auto)%d%Creset - %s %C(green bold)[%an]%Creset %C(blue bold)(%ad, %cr)%Creset'
file:C:/Users/SashaChernykh/.gitconfig  push.default=current
file:.git/config        core.repositoryformatversion=0
file:.git/config        core.filemode=false
file:.git/config        core.bare=false
file:.git/config        core.logallrefupdates=true
file:.git/config        core.symlinks=false
file:.git/config        core.ignorecase=true
file:.git/config        remote.origin.url=https://github.com/github/hub.git
file:.git/config        remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
file:.git/config        branch.master.remote=origin
file:.git/config        branch.master.merge=refs/heads/master
file:.git/config        remote.Kristinita.url=https://github.com/Kristinita/hub.git
file:.git/config        remote.Kristinita.fetch=+refs/heads/*:refs/remotes/Kristinita/*

My C:\Users\SashaChernykh\.gitconfig file:

[user]
    email = [email protected]
    name = Kristinita
[core]
    editor = subl -n -w
    commentChar = %
    autocrlf = true
[filter "lfs"]
    clean = git-lfs clean -- %f
    smudge = git-lfs smudge -- %f
    required = true
    process = git-lfs filter-process
[hub]
    protocol = https
[alias]
    l = log --graph --date=short --pretty=format:'%C(yellow bold)%h%Creset%C(auto)%d%Creset - %s %C(green bold)[%an]%Creset %C(blue bold)(%ad, %cr)%Creset'
[push]
    default = current

5. Steps to reproduce

D:\>hub clone github/hub
Cloning into 'hub'...
remote: Counting objects: 13716, done.
remote: Compressing objects: 100% (53/53), done.
remote: Total 13716 (delta 25), reused 0 (delta 0), pack-reused 13663
Receiving objects: 100% (13716/13716), 3.66 MiB | 1.12 MiB/s, done.
Resolving deltas: 100% (8649/8649), done.

D:\>cd hub

D:\hub>D:\hub\README.md

# I edit and save README.MD file.

D:\hub>git add .

D:\hub>git commit -m "[Test] hub pull request"
[master 7d4e60e] [Test] hub pull request
 1 file changed, 1 insertion(+), 1 deletion(-)

D:\hub>hub fork
Updating Kristinita
From https://github.com/github/hub
 * [new branch]      1.11-stable     -> Kristinita/1.11-stable
 * [new branch]      1.12-stable     -> Kristinita/1.12-stable
 * [new branch]      2.2-stable      -> Kristinita/2.2-stable
 * [new branch]      code-coverage   -> Kristinita/code-coverage
 * [new branch]      gh-pages        -> Kristinita/gh-pages
 * [new branch]      master          -> Kristinita/master
 * [new branch]      travis-packages -> Kristinita/travis-packages
new remote: Kristinita

D:\hub>git checkout -b SashaGoddess
Switched to a new branch 'SashaGoddess'

D:\hub>git push Kristinita SashaGoddess
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 326 bytes | 0 bytes/s, done.
Total 3 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/Kristinita/hub.git
 * [new branch]      SashaGoddess -> SashaGoddess

D:\hub>hub pull-request
error using text editor for pull request message

Now I set:

D:\hub>set HUB_VERBOSE=1



Click here to see full output.

D:\hub>hub pull-request
$ git config alias.pull-request
$ git rev-parse -q --git-dir
$ git remote -v
$ git config --get-all hub.host
$ git config push.default
$ git rev-parse -q --git-path refs\remotes\Kristinita\SashaGoddess
> GET https://api.github.com/repos/Kristinita/hub
> Authorization: token [REDACTED]
< HTTP 200
{"id":81307784,"name":"hub","full_name":"Kristinita/hub","owner":{"login":"Kristinita","id":17247677,"avatar_url":"https://avatars.githubusercontent.com/u/17247677?v=3","gravatar_id":"","url":"https://api.github.com/users/Kristinita","html_url":"https://github.com/Kristinita","followers_url":"https://api.github.com/users/Kristinita/followers","following_url":"https://api.github.com/users/Kristinita/following{/other_user}","gists_url":"https://api.github.com/users/Kristinita/gists{/gist_id}","starred_url":"https://api.github.com/users/Kristinita/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Kristinita/subscriptions","organizations_url":"https://api.github.com/users/Kristinita/orgs","repos_url":"https://api.github.com/users/Kristinita/repos","events_url":"https://api.github.com/users/Kristinita/events{/privacy}","received_events_url":"https://api.github.com/users/Kristinita/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Kristinita/hub","description":"hub helps you win at git.","fork":true,"url":"https://api.github.com/repos/Kristinita/hub","forks_url":"https://api.github.com/repos/Kristinita/hub/forks","keys_url":"https://api.github.com/repos/Kristinita/hub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Kristinita/hub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Kristinita/hub/teams","hooks_url":"https://api.github.com/repos/Kristinita/hub/hooks","issue_events_url":"https://api.github.com/repos/Kristinita/hub/issues/events{/number}","events_url":"https://api.github.com/repos/Kristinita/hub/events","assignees_url":"https://api.github.com/repos/Kristinita/hub/assignees{/user}","branches_url":"https://api.github.com/repos/Kristinita/hub/branches{/branch}","tags_url":"https://api.github.com/repos/Kristinita/hub/tags","blobs_url":"https://api.github.com/repos/Kristinita/hub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Kristinita/hub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Kristinita/hub/git/refs{/sha}","trees_url":"https://api.github.com/repos/Kristinita/hub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Kristinita/hub/statuses/{sha}","languages_url":"https://api.github.com/repos/Kristinita/hub/languages","stargazers_url":"https://api.github.com/repos/Kristinita/hub/stargazers","contributors_url":"https://api.github.com/repos/Kristinita/hub/contributors","subscribers_url":"https://api.github.com/repos/Kristinita/hub/subscribers","subscription_url":"https://api.github.com/repos/Kristinita/hub/subscription","commits_url":"https://api.github.com/repos/Kristinita/hub/commits{/sha}","git_commits_url":"https://api.github.com/repos/Kristinita/hub/git/commits{/sha}","comments_url":"https://api.github.com/repos/Kristinita/hub/comments{/number}","issue_comment_url":"https://api.github.com/repos/Kristinita/hub/issues/comments{/number}","contents_url":"https://api.github.com/repos/Kristinita/hub/contents/{+path}","compare_url":"https://api.github.com/repos/Kristinita/hub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Kristinita/hub/merges","archive_url":"https://api.github.com/repos/Kristinita/hub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Kristinita/hub/downloads","issues_url":"https://api.github.com/repos/Kristinita/hub/issues{/number}","pulls_url":"https://api.github.com/repos/Kristinita/hub/pulls{/number}","milestones_url":"https://api.github.com/repos/Kristinita/hub/milestones{/number}","notifications_url":"https://api.github.com/repos/Kristinita/hub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Kristinita/hub/labels{/name}","releases_url":"https://api.github.com/repos/Kristinita/hub/releases{/id}","deployments_url":"https://api.github.com/repos/Kristinita/hub/deployments","created_at":"2017-02-08T08:48:33Z","updated_at":"2017-02-08T08:48:36Z","pushed_at":"2017-02-08T08:49:11Z","git_url":"git://github.com/Kristinita/hub.git","ssh_url":"[email protected]:Kristinita/hub.git","clone_url":"https://github.com/Kristinita/hub.git","svn_url":"https://github.com/Kristinita/hub","homepage":"http://hub.github.com/","size":3779,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"parent":{"id":401025,"name":"hub","full_name":"github/hub","owner":{"login":"github","id":9919,"avatar_url":"https://avatars.githubusercontent.com/u/9919?v=3","gravatar_id":"","url":"https://api.github.com/users/github","html_url":"https://github.com/github","followers_url":"https://api.github.com/users/github/followers","following_url":"https://api.github.com/users/github/following{/other_user}","gists_url":"https://api.github.com/users/github/gists{/gist_id}","starred_url":"https://api.github.com/users/github/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github/subscriptions","organizations_url":"https://api.github.com/users/github/orgs","repos_url":"https://api.github.com/users/github/repos","events_url":"https://api.github.com/users/github/events{/privacy}","received_events_url":"https://api.github.com/users/github/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/github/hub","description":"hub helps you win at git.","fork":false,"url":"https://api.github.com/repos/github/hub","forks_url":"https://api.github.com/repos/github/hub/forks","keys_url":"https://api.github.com/repos/github/hub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/github/hub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/github/hub/teams","hooks_url":"https://api.github.com/repos/github/hub/hooks","issue_events_url":"https://api.github.com/repos/github/hub/issues/events{/number}","events_url":"https://api.github.com/repos/github/hub/events","assignees_url":"https://api.github.com/repos/github/hub/assignees{/user}","branches_url":"https://api.github.com/repos/github/hub/branches{/branch}","tags_url":"https://api.github.com/repos/github/hub/tags","blobs_url":"https://api.github.com/repos/github/hub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/github/hub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/github/hub/git/refs{/sha}","trees_url":"https://api.github.com/repos/github/hub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/github/hub/statuses/{sha}","languages_url":"https://api.github.com/repos/github/hub/languages","stargazers_url":"https://api.github.com/repos/github/hub/stargazers","contributors_url":"https://api.github.com/repos/github/hub/contributors","subscribers_url":"https://api.github.com/repos/github/hub/subscribers","subscription_url":"https://api.github.com/repos/github/hub/subscription","commits_url":"https://api.github.com/repos/github/hub/commits{/sha}","git_commits_url":"https://api.github.com/repos/github/hub/git/commits{/sha}","comments_url":"https://api.github.com/repos/github/hub/comments{/number}","issue_comment_url":"https://api.github.com/repos/github/hub/issues/comments{/number}","contents_url":"https://api.github.com/repos/github/hub/contents/{+path}","compare_url":"https://api.github.com/repos/github/hub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/github/hub/merges","archive_url":"https://api.github.com/repos/github/hub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/github/hub/downloads","issues_url":"https://api.github.com/repos/github/hub/issues{/number}","pulls_url":"https://api.github.com/repos/github/hub/pulls{/number}","milestones_url":"https://api.github.com/repos/github/hub/milestones{/number}","notifications_url":"https://api.github.com/repos/github/hub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/github/hub/labels{/name}","releases_url":"https://api.github.com/repos/github/hub/releases{/id}","deployments_url":"https://api.github.com/repos/github/hub/deployments","created_at":"2009-12-05T22:15:25Z","updated_at":"2017-02-08T05:24:41Z","pushed_at":"2017-02-06T14:30:09Z","git_url":"git://github.com/github/hub.git","ssh_url":"[email protected]:github/hub.git","clone_url":"https://github.com/github/hub.git","svn_url":"https://github.com/github/hub","homepage":"http://hub.github.com/","size":3779,"stargazers_count":9837,"watchers_count":9837,"language":"Go","has_issues":true,"has_downloads":false,"has_wiki":false,"has_pages":true,"forks_count":903,"mirror_url":null,"open_issues_count":149,"forks":903,"open_issues":149,"watchers":9837,"default_branch":"master"},"source":{"id":401025,"name":"hub","full_name":"github/hub","owner":{"login":"github","id":9919,"avatar_url":"https://avatars.githubusercontent.com/u/9919?v=3","gravatar_id":"","url":"https://api.github.com/users/github","html_url":"https://github.com/github","followers_url":"https://api.github.com/users/github/followers","following_url":"https://api.github.com/users/github/following{/other_user}","gists_url":"https://api.github.com/users/github/gists{/gist_id}","starred_url":"https://api.github.com/users/github/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/github/subscriptions","organizations_url":"https://api.github.com/users/github/orgs","repos_url":"https://api.github.com/users/github/repos","events_url":"https://api.github.com/users/github/events{/privacy}","received_events_url":"https://api.github.com/users/github/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/github/hub","description":"hub helps you win at git.","fork":false,"url":"https://api.github.com/repos/github/hub","forks_url":"https://api.github.com/repos/github/hub/forks","keys_url":"https://api.github.com/repos/github/hub/keys{/key_id}","collaborators_url":"https://api.github.com/repos/github/hub/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/github/hub/teams","hooks_url":"https://api.github.com/repos/github/hub/hooks","issue_events_url":"https://api.github.com/repos/github/hub/issues/events{/number}","events_url":"https://api.github.com/repos/github/hub/events","assignees_url":"https://api.github.com/repos/github/hub/assignees{/user}","branches_url":"https://api.github.com/repos/github/hub/branches{/branch}","tags_url":"https://api.github.com/repos/github/hub/tags","blobs_url":"https://api.github.com/repos/github/hub/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/github/hub/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/github/hub/git/refs{/sha}","trees_url":"https://api.github.com/repos/github/hub/git/trees{/sha}","statuses_url":"https://api.github.com/repos/github/hub/statuses/{sha}","languages_url":"https://api.github.com/repos/github/hub/languages","stargazers_url":"https://api.github.com/repos/github/hub/stargazers","contributors_url":"https://api.github.com/repos/github/hub/contributors","subscribers_url":"https://api.github.com/repos/github/hub/subscribers","subscription_url":"https://api.github.com/repos/github/hub/subscription","commits_url":"https://api.github.com/repos/github/hub/commits{/sha}","git_commits_url":"https://api.github.com/repos/github/hub/git/commits{/sha}","comments_url":"https://api.github.com/repos/github/hub/comments{/number}","issue_comment_url":"https://api.github.com/repos/github/hub/issues/comments{/number}","contents_url":"https://api.github.com/repos/github/hub/contents/{+path}","compare_url":"https://api.github.com/repos/github/hub/compare/{base}...{head}","merges_url":"https://api.github.com/repos/github/hub/merges","archive_url":"https://api.github.com/repos/github/hub/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/github/hub/downloads","issues_url":"https://api.github.com/repos/github/hub/issues{/number}","pulls_url":"https://api.github.com/repos/github/hub/pulls{/number}","milestones_url":"https://api.github.com/repos/github/hub/milestones{/number}","notifications_url":"https://api.github.com/repos/github/hub/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/github/hub/labels{/name}","releases_url":"https://api.github.com/repos/github/hub/releases{/id}","deployments_url":"https://api.github.com/repos/github/hub/deployments","created_at":"2009-12-05T22:15:25Z","updated_at":"2017-02-08T05:24:41Z","pushed_at":"2017-02-06T14:30:09Z","git_url":"git://github.com/github/hub.git","ssh_url":"[email protected]:github/hub.git","clone_url":"https://github.com/github/hub.git","svn_url":"https://github.com/github/hub","homepage":"http://hub.github.com/","size":3779,"stargazers_count":9837,"watchers_count":9837,"language":"Go","has_issues":true,"has_downloads":false,"has_wiki":false,"has_pages":true,"forks_count":903,"mirror_url":null,"open_issues_count":149,"for12:21 PM"open_issues":149,"watchers":9837,"default_branch":"master"},"network_count":903,"subscribers_count":1}
$ git rev-list --cherry-pick --right-only --no-merges Kristinita/SashaGoddess...
$ git remote -v
$ git remote -v
$ git rev-list --cherry-pick --right-only --no-merges origin/master...Kristinita/SashaGoddess
$ git show -s --format=%s%n%+b 7d4e60e33aee9f950fbf6019159a7fd7176c0743
$ git config core.commentchar
$ git var GIT_EDITOR
$ git config core.commentchar
$ D:Sublime Text 3 x64sublime_text.exe D:\hub\.git\PULLREQ_EDITMSG
error using text editor for pull request message


5. Not helped

I read #721, #835, #881, #1354, but it not helped for me.

6. Environment

Operating system and version:
Windows 10 Enterprise LTSB 64-bit EN
Sublime Text:
Build 3126
git:
version 2.11.1.windows.1
hub:
2.2.9

Thanks.

Most helpful comment

I see. Does this GIT_EDITOR value work for you for editing git commit messages, such as when you use git commit without -m?

If it does work for git commit, but doesn't work for hub pull-request, then this is a bug with hub. As a workaround, could you enclose the entire path to sublime_text.exe in double quotes? The final value of the GIT_EDITOR environment variable should be this:

"D:\Sublime Text 3 x64\sublime_text.exe"

If it turns out you need the -w parameter, you can add it outside of the quotes:

"D:\Sublime Text 3 x64\subl.exe" -w

All 4 comments

Hi, thanks for the amazingly detailed bug report! ✨
Is this related to our discussion https://github.com/github/hub/issues/1256#issuecomment-246292461?

The final line of the output looks like it might reveal a problem:

$ D:Sublime Text 3 x64sublime_text.exe D:\hub\.git\PULLREQ_EDITMSG

It looks like the backslashes in D:\Sublime Text 3 x64\sublime_text.exe were dropped somehow. However, it's weird that there is a full path to Sublime Text here, when your core.editor is supposedly subl -n -w.

  1. Can you check the output of git var GIT_EDITOR?
  2. Do you have GIT_EDITOR or EDITOR environment variables set to anything?

@mislav,

Is this related to our discussion #1256 (comment)?

No, I had not had this problem in Windows 10 32-bit.

Can you check the output of git var GIT_EDITOR?

SashaChernykh@DESKTOP-EEOT0TN D:\hub
$ git var GIT_EDITOR
D:\Sublime Text 3 x64\sublime_text.exe

Do you have GIT_EDITOR or EDITOR environment variables set to anything?

Yes, I have GIT_EDITOR user environment variable:

GIT_EDITOR

D:\Sublime Text 3 x64\sublime_text.exe is value of variable.

Thanks.

I see. Does this GIT_EDITOR value work for you for editing git commit messages, such as when you use git commit without -m?

If it does work for git commit, but doesn't work for hub pull-request, then this is a bug with hub. As a workaround, could you enclose the entire path to sublime_text.exe in double quotes? The final value of the GIT_EDITOR environment variable should be this:

"D:\Sublime Text 3 x64\sublime_text.exe"

If it turns out you need the -w parameter, you can add it outside of the quotes:

"D:\Sublime Text 3 x64\subl.exe" -w
"D:\Sublime Text 3 x64\sublime_text.exe" -n -w

This value of GIT_EDITOR was helped for me, see #1401.

Thank you!

Was this page helpful?
0 / 5 - 0 ratings