On Tue, Jul 5, 2011 at 5:26 PM, Ivan Kozik email@example.com wrote:
On Tue, Jul 5, 2011 at 22:19, Kevin Horn firstname.lastname@example.org wrote:
Git requires bash. This makes it painful for me (on Windows).
In what sense? You can run git from cmd.exe, without having to deal with bash. (You're not required to use 'Git Bash'.)
Interesting. I was told (and had read) that it _was_ required. So I've been operating under that assumption. If you can run it in a cmd.exe window that _might_ relieve one of my pain points.
Also, Git _is_ worse on Windows than it is on *nix. It's just not as bad
it _used_ to be. It's functional. It works. But it is difficult to
with, and a lot of Windows users I have talked to (as well as myself, of
just don't like using it.
Is there anything in specific that is difficult? I haven't had Windows-specific problems with Git on Windows, and I've been using it a lot.
Nothing terribly specific comes to mind, as I don't _use_ git very often.
Only one of the projects I have ever contributed to uses git, and they just switched recently (from Mercurial, which makes very little sense to me as they are just about feature-equivalent). The others all use Mercurial, with the exception of Twisted. So when I started learning about DVCS, Mercurial was pretty much my introduction (aside: it seems to me that people in general seem to prefer whatever DVCS they were originally introduced to).
Every couple of months I pull down a "new" release of git or TortoiseGit or whatever and tinker around with it, but it just isn't very nice compared to Mercurial. Maybe it will be someday.
And it's not that anything is particularly _difficult_, so much as annoying. I find the CLI interface weird and clunky. I recall thinking some of the design decisions were not particularly good (though it's been long enough that I can't recall what they were exactly...and I have some complaints about the design of pretty much every DVCS out there, so...). These aren't Windows-specific issues of course, but when you add the Windows-specific issues on top of them, it just makes git that much worse to deal with.
Of course, this is entirely subjective, and is totally my own opinion. Maybe the next time I update git it will annoy me less.
As far as specific Windows-related issues, here's what I can come up with. These are all pretty vague, I'm afraid...
- Let's start with installing. It would be really nice to be able to go to a website, download a package or archive or something, read some instructions and install git. Preferably with Tortoise-X-like Explorer shell integration (though I can live without that). I have never been able to do that. Instead, it's try the above, have it not work, search Google for a bunch of tutorial-style blog posts, try a bunch of stuff, maybe edit or move some files in whichever of several distributions I've had to download, and spend at least a couple of hours getting things working. At this point I'm already annoyed with git and I haven't even started using it yet.
- Now I'm going to check things out. OK, fine. First hurdle is that terminology is different from what I'm used to, though that's hardly Git's fault, and I can deal with that. But in order to deal with the change in terminology, coming from Mercurial, I'd really like to see some nice online help. Last I checked, git totally failed in this area, and was noticeably worse on Windows than on *nix. (This was maybe 3 or 4 months ago). Ok, so now I'm having to search web/man pages for how to use git properly. Admittedly, some of this is necessary anyway for something as complex as a DVCS system, but it shouldn't be necessary for basic commands. I also seem to recall being annoyed by syntax for various commands actually being slightly _different_ on Windows than on *nix, but I can't say definitely that that was the case now (it was a long time ago, my memory is hazy, and I may have just misunderstood something). I have no idea if this is still a problem (assuming it ever really was).
- I definitely miss Mercurial's friendly little warnings about when I might be about to screw things up. I doubt git will ever have anything like this. It seems antithetical to the git mindset.
- Git just seems like it's second class citizen in the git world (this is true of a _huge_ number of open source projects, so it isn't just git, but I have a whole other rant about why this is a Bad Thing [tm] ). A lot of complaints about git on Win32 (which I find to be pretty valid complaints) I see answered with a sneer and something like: "Oh sure, but that's what you get for using _Windows_."
To sum up, I use both Windows and Linux. That is unlikely to change any time soon. I want my tools to work nicely and be polished in both environments. Git has not impressed me as being able to do this yet. Even if it ever does get to this point, I still probably won't like it as much as Mercurial, just because hg is what I've become used to, and git doesn't offer much that hg doesn't already have.
Well, this is already way longer than I had intended it to be...