I happened to be in my Windows 7 boot fixing a site in IE, so I decided to try out "Git Extensions", that Git gui to see how well Git support is in Windows.
Installation was nice, the Git Extensions installer also came with mysgit and kdiff(?), which it would optionally install, since they're important I let it install them. The mysgit installation process was nice. It nicely asked for a preference while installing on how to treat CRLFs, and explained each option. Installation had three options for shell, the third one had a warning, something about replacing stuff... The second option seamed to be a setup which was meant to play nice with users that like to use cygwin. I chose the first option, bash. mysgit seams to bundle a bash shell with it, it's easily accessible from Git Extensions gui. The only downside is it doesn't seam to support paste that I could find, however since you're not going to be using it to do any cloning or anything that doesn't seam important. That aside, the bash shell included has all the nice unixy goodies like ls, and probably completion. And it does it without any of the cygwin messyness. Git Extensions has a bundled plugin with support for GitHub, it sorta works, sorta doesn't... Honestly, you don't really need it, just open up your web browser, click the button to copy a repo url, and paste. You don't need to use the Gui to make a pull request either. I had a little awkwardness trying to get keys working, though most of this was awkwardness with PuTTY, if you already have PuTTY setup you shouldn't have as many issues. Just make sure to find the "Test Connection" option in the "Manage Remotes" section of Git Extensions. That was the only way I could find to get it to remember github's identity key to stop that from causing errors when trying to do things. It seamed to work a little better to clone a public repo using a publicly accessible clone url, and then afterwards use the Manage Remotes to tweak it to use a repo url you have push access to. Perhaps there are less issues after you've cloned your first repo (that remote identity key thing and all). Git Extensions includes a manual with it, one about Git Extensions itself. But I didn't look at the other options, I believe it has some built in info on git as well. Git Extensions also includes git's own git gui if you ever feel like using it. The built in git gui aside, Git Extensions includes just about every option I could think of. Managing remotes, submodules, pushing and pulling, commit, a good log view right in front of you, diff viewing, bisect (what did that do again), all the merge options in pull right in front of you, .......and on and on and on. It actually looks better and has more than any of the screenshots I saw of it, perhaps I should make my own overview and capture it a bit.
All in all... I think the support in Windows for git, especially if you use Git Extensions, is good. Doesn't look like it's a good reason to disqualify git anymore. Also, since the bash shell is there, I think we can legitimately use some custom scripts to help with dealing with piles of repos at once. I'd probably pick python, ;) though theoretically you could write bash scripts and use them on Windows with the Git Extensions setup.
Also, since the bash shell is there, I think we can legitimately use some custom scripts to help with dealing with piles of repos at once. I'd probably pick python, ;) though theoretically you could write bash scripts and use them on Windows with the Git Extensions setup.
Many people belive [1] it helps to have a set of scripts to properly implement the workflow of their project. Given how git is constructed (it is indeed a bunch of scripts in different programming languages), this might seem natural in this environment. Frankly, I am not sure I grasped "porcelain" (the "user friendly frontend") commands enough to tackle the "plumbing" ("the internals").
Aside of people learning how to use the VCS properly (I feel I'm re-learning git everytime I use it but that's my limitation) you need to make sure everyone's on the same page and has the same set of scripts (Python you say) installed. I think this can be really difficult.
//Marcin
[1] http://jeetworks.com/node/58 [2] http://whygitisbetterthanx.com/#easy-to-learn
I am a strong believer in Git. I use it on my local system and it could be very good for offline developers, myself included. I hope that we will soon change over to a Git based system and this will hopefully make it much easier for people to make changes to the MW source and therefore bring us more excellent developers who would not normally be able to get their hands on the source code. I hope that you all follow my views and that Git support will rise in the coming timescale!
TIA - Joseph Roberts
On 30 March 2011 13:57, Marcin Cieslak saper@saper.info wrote:
Also, since the bash shell is there, I think we can legitimately use some custom scripts to help with dealing with piles of repos at once. I'd probably pick python, ;) though theoretically you could write bash scripts and use them on Windows with the Git Extensions setup.
Many people belive [1] it helps to have a set of scripts to properly implement the workflow of their project. Given how git is constructed (it is indeed a bunch of scripts in different programming languages), this might seem natural in this environment. Frankly, I am not sure I grasped "porcelain" (the "user friendly frontend") commands enough to tackle the "plumbing" ("the internals").
Aside of people learning how to use the VCS properly (I feel I'm re-learning git everytime I use it but that's my limitation) you need to make sure everyone's on the same page and has the same set of scripts (Python you say) installed. I think this can be really difficult.
//Marcin
[1] http://jeetworks.com/node/58 [2] http://whygitisbetterthanx.com/#easy-to-learn
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
wikitech-l@lists.wikimedia.org