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
Dunno, but Node, NPM, and 99% of assets are probably designed
for UNIX-like systems. Since Microsoft made Windows be the only
OS that is not UNIX-like, don't expect much support on there either...
Okay so node and npm are currently built entirely with windows in mind, that's why node-gyp exists. Not to mention the whole point of libgit2 is to be a cross-platform git implementation (yes, windows included). So what needs to be done to make this work under windows?
Frankly, I prefer to understand "multiplatform" as "on every standard platform".
Then Node-GYP wasn't specifically created to add support for Windows.
-- BEGIN RANT --
Microsoft paid Joyent to put some Windows support on Node.JS,
but it still creates a lot of problems because you expect a path to start with /, and you expect the url module to work both on URL paths and system
paths. And a lot more like these. You expect your system to be standard.
These, and more reasons, make Git itself not designed to run on Windows.
So, everyone out there, please don't use Windows. You make the others
(and yourself) a huge favour by using any other platform. I wouldn't even
consider Windows a platform. ;)
-- END RANT --
PD: I'm partidary of using Node-GYP, but not because of Windows support.
@jmrenner IF libgit2 was to be truly crossplatform, it would have to support Solaris, SPARC, Sun OS, Windows 98/95/NT/ME, etc too. "crossplatform" doesn't necessarily mean every platform.
I know, but I said Git is not designed to run on non-standard systems.
Of course, LibGit2/Node/Gitteh can workaround these problems but it's
better to not use Windows at all.
You see, everytime Windows is booted, someone in the world gets shot.[citation needed]
So, instead of demanding support for a corrupt platform, please make the switch.
We'll (nearly) all thank you. :)
@jmendeth Not sure I completely agree with you on this one.
To lead in, yes, Windows generally sucks and engineers tend to work with Linux more as it's much easier to reason with, is open source, etc. So I always considered my primary audience to be Linux/OSX users. Further, Node deployments on PaaS are the least masochistic way to get something running nowadays, and other than Azure I'm fairly sure most PaaS infrastructure out there would be Linux based.
BUT Windows support for gitteh is important, as it should be as cross platform as the native library it wraps.
That said, I have not been able to scrounge up enough time lately to do this project much justice for updating to the latest libgit2 and making install flow for Linux/OSX rock-solid as it is, let alone adding Windows to the mix. I can promise you that the current master branch is fundamentally where I want the library to be (The CoffeeScript bridge into native code will be where most of the work happens), so if anyone wants to put their hand up for making node-gyp + CMake work nicely under Windows, the Internets will be forever in your debt!
BUT Windows support for gitteh is important, as it should be as cross platform as the native library it wraps.
Well, a wrapper's goal is to expose functionality, not to get to the same platforms.
The Libgit2 guys wanted/knew/had the time to add the necessary workarounds,
but I may not, and that doesn't make my wrapper a bad wrapper, does it?
That said, I won't make changes specifically to add support just for one unstandard platform. BUT if someone takes the time to do it (or it works without doing nothing), then it's fine to
merge the changes. :)
Besides, by doing that we incite more people to switch, which is positive for all of us.
@jmendeth I understand you hate windows. Doesn't mean people don't use it.
I get that a lot of people don't want to work with Windows or put in the work to support it. So, I return to my original question, does anyone have something resembling a list of things that need to be done in order to support windows?
If not, I'll just dig a little and see if I'm able to make it happen.
@jmrenner Your last comment is spot on. There has been interest in Windows support in the past, and I am absolutely interested in making it happen for gitteh, but I personally don't have the time or care-factor to make it happen.
Here's what would need to happen though:
Existing native codebase of gitteh would need to be evaluated to see how hard it is to compile under MSVC.
Node-gyp config would need updating to handle Windows compilation.
libgit2 itself compiles under CMake, so build process would need to be able to trigger cmake build correctly in Windows, this process currently occurs in install.js
@jmrenner Just a clarification. I don't hate Windows. I just don't want to spend time supporting it.
That means if @samcday or you add the support for Windows, then I'm perfectly fine with it.
And I'd like to use Node-GYP, but not because of the Windows support.
@zaggino unfortunately gitteh is currently inactive, pending a primary contributor. So no, Windows support hasn't been added yet. You might want to check out nodegit, it may suit your needs.
Activity
mildsunrise commentedon Jan 31, 2013
Dunno, but Node, NPM, and 99% of assets are probably designed
for UNIX-like systems. Since Microsoft made Windows be the only
OS that is not UNIX-like, don't expect much support on there either...
djrenren commentedon May 29, 2013
Okay so node and npm are currently built entirely with windows in mind, that's why node-gyp exists. Not to mention the whole point of libgit2 is to be a cross-platform git implementation (yes, windows included). So what needs to be done to make this work under windows?
mildsunrise commentedon May 30, 2013
Frankly, I prefer to understand "multiplatform" as "on every standard platform".
Then Node-GYP wasn't specifically created to add support for Windows.
-- BEGIN RANT --Microsoft paid Joyent to put some Windows support on Node.JS,
but it still creates a lot of problems because you expect a path to start with
/, and you expect theurlmodule to work both on URL paths and systempaths. And a lot more like these. You expect your system to be standard.
These, and more reasons, make Git itself not designed to run on Windows.
So, everyone out there, please don't use Windows. You make the others
(and yourself) a huge favour by using any other platform. I wouldn't even
consider Windows a platform. ;)
-- END RANT --PD: I'm partidary of using Node-GYP, but not because of Windows support.
mildsunrise commentedon May 30, 2013
@jmrenner IF libgit2 was to be truly crossplatform, it would have to support Solaris, SPARC, Sun OS, Windows 98/95/NT/ME, etc too. "crossplatform" doesn't necessarily mean every platform.
djrenren commentedon May 30, 2013
I'd like to refer you all to the official libgit2 page:

As you can see windows is supported. So regardless of how all of you define "crossplatform" we should be able to get this working under windows.
mildsunrise commentedon May 30, 2013
@jmrenner
I know, but I said Git is not designed to run on non-standard systems.
Of course, LibGit2/Node/Gitteh can workaround these problems but it's
better to not use Windows at all.
You see, everytime Windows is booted, someone in the world gets shot.[citation needed]
So, instead of demanding support for a corrupt platform, please make the switch.
We'll (nearly) all thank you. :)
samcday commentedon May 30, 2013
@jmendeth Not sure I completely agree with you on this one.
To lead in, yes, Windows generally sucks and engineers tend to work with Linux more as it's much easier to reason with, is open source, etc. So I always considered my primary audience to be Linux/OSX users. Further, Node deployments on PaaS are the least masochistic way to get something running nowadays, and other than Azure I'm fairly sure most PaaS infrastructure out there would be Linux based.
BUT Windows support for gitteh is important, as it should be as cross platform as the native library it wraps.
That said, I have not been able to scrounge up enough time lately to do this project much justice for updating to the latest libgit2 and making install flow for Linux/OSX rock-solid as it is, let alone adding Windows to the mix. I can promise you that the current
masterbranch is fundamentally where I want the library to be (The CoffeeScript bridge into native code will be where most of the work happens), so if anyone wants to put their hand up for making node-gyp + CMake work nicely under Windows, the Internets will be forever in your debt!mildsunrise commentedon May 30, 2013
Well, a wrapper's goal is to expose functionality, not to get to the same platforms.
The Libgit2 guys wanted/knew/had the time to add the necessary workarounds,
but I may not, and that doesn't make my wrapper a bad wrapper, does it?
That said, I won't make changes specifically to add support just for one unstandard platform.
BUT if someone takes the time to do it (or it works without doing nothing), then it's fine to
merge the changes. :)
Besides, by doing that we incite more people to switch, which is positive for all of us.
djrenren commentedon May 30, 2013
@jmendeth I understand you hate windows. Doesn't mean people don't use it.
I get that a lot of people don't want to work with Windows or put in the work to support it. So, I return to my original question, does anyone have something resembling a list of things that need to be done in order to support windows?
If not, I'll just dig a little and see if I'm able to make it happen.
samcday commentedon May 31, 2013
@jmrenner Your last comment is spot on. There has been interest in Windows support in the past, and I am absolutely interested in making it happen for gitteh, but I personally don't have the time or care-factor to make it happen.
Here's what would need to happen though:
install.jsmildsunrise commentedon May 31, 2013
@jmrenner Just a clarification. I don't hate Windows. I just don't want to spend time supporting it.
That means if @samcday or you add the support for Windows, then I'm perfectly fine with it.
And I'd like to use Node-GYP, but not because of the Windows support.
ben commentedon Jun 8, 2013
I took a look at this, and it doesn't seem that hard.
whichandenv. The libgit2 build throughcmakeshould already work.Expect a PR when the more immediate build issues are resolved.
zaggino commentedon Feb 23, 2014
Hi guys, are there any news on this?
samcday commentedon Feb 24, 2014
@zaggino unfortunately gitteh is currently inactive, pending a primary contributor. So no, Windows support hasn't been added yet. You might want to check out nodegit, it may suit your needs.