{"action":"created","issue":{"url":"https://api.github.com/repos/atom/atom/issues/2798","repository_url":"https://api.github.com/repos/atom/atom","labels_url":"https://api.github.com/repos/atom/atom/issues/2798/labels{/name}","comments_url":"https://api.github.com/repos/atom/atom/issues/2798/comments","events_url":"https://api.github.com/repos/atom/atom/issues/2798/events","html_url":"https://github.com/atom/atom/issues/2798","id":36960297,"number":2798,"title":"Embed git and detect system git without PATH","user":{"login":"damccull","id":401104,"avatar_url":"https://avatars.githubusercontent.com/u/401104?v=3","gravatar_id":"","url":"https://api.github.com/users/damccull","html_url":"https://github.com/damccull","followers_url":"https://api.github.com/users/damccull/followers","following_url":"https://api.github.com/users/damccull/following{/other_user}","gists_url":"https://api.github.com/users/damccull/gists{/gist_id}","starred_url":"https://api.github.com/users/damccull/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damccull/subscriptions","organizations_url":"https://api.github.com/users/damccull/orgs","repos_url":"https://api.github.com/users/damccull/repos","events_url":"https://api.github.com/users/damccull/events{/privacy}","received_events_url":"https://api.github.com/users/damccull/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/atom/atom/labels/enhancement","name":"enhancement","color":"bfd4f2"},{"url":"https://api.github.com/repos/atom/atom/labels/windows","name":"windows","color":"c7def8"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2014-07-02T08:11:11Z","updated_at":"2016-05-05T20:20:42Z","closed_at":null,"body":"As of now, installing atom on windows involves cloning the repo and building it from source. This assumes you already have git because the build system uses git to download other parts of the program.\r\n\r\nAs atom gets an official windows build, however, git may or may not be installed on users machines. A user may also choose between github's Git for Desktop or msysgit. There should be 4 operating modes for atom based on these cases.\r\n1. Integrate with github's Git for Desktop.\r\n2. Detect the user's msysgit installation WITHOUT using the PATH environment variable. First check the default installation location, and if it's not there, prompt the user to supply a path where it's installed. Call the binaries directly from that path.\r\n3. Operate with an embedded version of git. This can be accomplished in the same way atlassian's SourceTree works: Download a portable release of msysgit, and use the binaries from that.\r\n4. Operate without git integration and not complain.\r\n\r\nThe user should have the option to choose any of the 4 modes in the the settings dialog, and by default, atom should attempt to use them in that order.\r\n\r\nThis suggestion is mostly based on the windows version of atom, but could apply equally across all platforms with minor modifications. Remove the github desktop option, substitute msysgit for git, etc."},"comment":{"url":"https://api.github.com/repos/atom/atom/issues/comments/217266711","html_url":"https://github.com/atom/atom/issues/2798#issuecomment-217266711","issue_url":"https://api.github.com/repos/atom/atom/issues/2798","id":217266711,"user":{"login":"damieng","id":118951,"avatar_url":"https://avatars.githubusercontent.com/u/118951?v=3","gravatar_id":"","url":"https://api.github.com/users/damieng","html_url":"https://github.com/damieng","followers_url":"https://api.github.com/users/damieng/followers","following_url":"https://api.github.com/users/damieng/following{/other_user}","gists_url":"https://api.github.com/users/damieng/gists{/gist_id}","starred_url":"https://api.github.com/users/damieng/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/damieng/subscriptions","organizations_url":"https://api.github.com/users/damieng/orgs","repos_url":"https://api.github.com/users/damieng/repos","events_url":"https://api.github.com/users/damieng/events{/privacy}","received_events_url":"https://api.github.com/users/damieng/received_events","type":"User","site_admin":false},"created_at":"2016-05-05T20:20:42Z","updated_at":"2016-05-05T20:20:42Z","body":"This is a nice feature to have but execution is somewhat problematic.\r\n\r\nFor all the packages to reliably work git has to be in the PATH. Which means Atom would need to add it there. This is not too difficult although you'd probably have to restart Atom and is obviously a no-go for portable versions.\r\n\r\n1. The path changed for GitHub for Desktop every release, we'd have to scan for it\r\n2. I'm not sure this would work - normally packages/Atom shell out via cmd.exe not msysgit. Would probably require a whole bunch of additional plumbing and troubleshooting to support shelling out to bash on Windows.\r\n3. An embedded version would be possible although going with the regular official Git for Windows binaries would seem to make more sense given 2.\r\n4. A bunch of packages need to check things out - I think this would be an ongoing break as authors continued to expect it to be available.\r\n\r\n"}}