* Windows support
@ 2007-07-25 10:35 Dmitry Kakurin
2007-07-25 10:40 ` Johannes Schindelin
` (5 more replies)
0 siblings, 6 replies; 69+ messages in thread
From: Dmitry Kakurin @ 2007-07-25 10:35 UTC (permalink / raw)
To: git
How serious are you guys about Windows support?
I'm talking fully-functional port, not Cygwin.
I did a lot of searching for a new SCM to switch to (from Perforce).
And Git is my #1 choice. I love it's internals design and it's
expressive power. I've also tested git-p4 and it has worked like a
charm with my depot (with few tweaks that I may contribute later).
But I do all my work on Windows so I need Git-For-Windows-Done-Right :-).
The current mingw port is not there yet.
Transition to the new SCM must happen now, so basically I have 2 choices:
1. Survive for a few months with the current CygWin port of Git
knowing that Windows support is coming
2. Use another SCM (#2 is Mercurial, #3 is Monotone)
I'd realy love to do #1, but I need to know how long do I have to wait.
- Dmitry
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 10:35 Windows support Dmitry Kakurin
@ 2007-07-25 10:40 ` Johannes Schindelin
2007-08-02 6:57 ` Asger Ottar Alstrup
2007-07-25 11:12 ` Steven Grimm
` (4 subsequent siblings)
5 siblings, 1 reply; 69+ messages in thread
From: Johannes Schindelin @ 2007-07-25 10:40 UTC (permalink / raw)
To: Dmitry Kakurin; +Cc: git
Hi,
On Wed, 25 Jul 2007, Dmitry Kakurin wrote:
> How serious are you guys about Windows support?
Okay, let's talk business:
> I'd realy love to do #1, but I need to know how long do I have to wait.
Pay me decently, and you will have to wait for a few weeks.
Ciao,
Dscho
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 10:35 Windows support Dmitry Kakurin
2007-07-25 10:40 ` Johannes Schindelin
@ 2007-07-25 11:12 ` Steven Grimm
2007-07-26 2:56 ` Dmitry Kakurin
2007-07-25 11:13 ` Steven Grimm
` (3 subsequent siblings)
5 siblings, 1 reply; 69+ messages in thread
From: Steven Grimm @ 2007-07-25 11:12 UTC (permalink / raw)
To: Dmitry Kakurin; +Cc: git
Dmitry Kakurin wrote:
> How serious are you guys about Windows support?
Well, it's really a matter of someone stepping up and doing the work.
Much (nearly all?) of the core git team never touches Windows, so they
both have no selfish motivation to get it working well and no way to
test their changes even if they decide to take it up for the greater good.
As has been pointed out, there are a lot of people coming to the list
and asking for Windows support, but precious few actually contributing
any code. If everyone who asked for Windows support had been willing to
fix one Windows-related issue, git's Windows support would be stellar by
now. I'm as guilty as anyone of asking for stuff without doing it
myself, so I say this as an observation, not an accusation!
> I'm talking fully-functional port, not Cygwin.
There is a port that uses MinGW instead of Cygwin, FYI. It is still
perhaps not as native-Windows-like as one might prefer, but it should be
less alien than Cygwin, anyway.
-Steve
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 10:35 Windows support Dmitry Kakurin
2007-07-25 10:40 ` Johannes Schindelin
2007-07-25 11:12 ` Steven Grimm
@ 2007-07-25 11:13 ` Steven Grimm
2007-07-25 12:13 ` Nguyen Thai Ngoc Duy
` (2 subsequent siblings)
5 siblings, 0 replies; 69+ messages in thread
From: Steven Grimm @ 2007-07-25 11:13 UTC (permalink / raw)
To: Dmitry Kakurin; +Cc: git
Dmitry Kakurin wrote:
> The current mingw port is not there yet.
Pfft, that'll teach me to reply after only skimming the original
message. Oops. But the main part of my reply is still valid, I think.
-Steve
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 10:35 Windows support Dmitry Kakurin
` (2 preceding siblings ...)
2007-07-25 11:13 ` Steven Grimm
@ 2007-07-25 12:13 ` Nguyen Thai Ngoc Duy
2007-07-25 14:10 ` Johannes Schindelin
2007-07-26 2:26 ` Dmitry Kakurin
2007-07-25 12:30 ` Steffen Prohaska
2007-07-25 17:41 ` Daniel Barkalow
5 siblings, 2 replies; 69+ messages in thread
From: Nguyen Thai Ngoc Duy @ 2007-07-25 12:13 UTC (permalink / raw)
To: Dmitry Kakurin; +Cc: git
On 7/25/07, Dmitry Kakurin <dmitry.kakurin@gmail.com> wrote:
> How serious are you guys about Windows support?
> I'm talking fully-functional port, not Cygwin.
> I did a lot of searching for a new SCM to switch to (from Perforce).
> And Git is my #1 choice. I love it's internals design and it's
> expressive power. I've also tested git-p4 and it has worked like a
> charm with my depot (with few tweaks that I may contribute later).
> But I do all my work on Windows so I need Git-For-Windows-Done-Right :-).
> The current mingw port is not there yet.
What features is mingw port missing?
> Transition to the new SCM must happen now, so basically I have 2 choices:
> 1. Survive for a few months with the current CygWin port of Git
> knowing that Windows support is coming
FYI, I'm working on getting rid of msys requirement from mingw port. I
can't tell you how long it would take though. Could be one month or
two.
--
Duy
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 10:35 Windows support Dmitry Kakurin
` (3 preceding siblings ...)
2007-07-25 12:13 ` Nguyen Thai Ngoc Duy
@ 2007-07-25 12:30 ` Steffen Prohaska
2007-07-25 15:34 ` Noel Grandin
2007-07-25 16:58 ` Stephen Cuppett
2007-07-25 17:41 ` Daniel Barkalow
5 siblings, 2 replies; 69+ messages in thread
From: Steffen Prohaska @ 2007-07-25 12:30 UTC (permalink / raw)
To: Dmitry Kakurin; +Cc: git
On Jul 25, 2007, at 12:35 PM, Dmitry Kakurin wrote:
> How serious are you guys about Windows support?
> I'm talking fully-functional port, not Cygwin.
What's wrong with the Cygwin port?
Is it just that windows developer hate cygwin because it's to
complex to install or is there any severe limitation?
functionality? stability? performance?
I'm personally only working on Windows if force to, but people
are asking me the same question that you have. Does git
seriously and fully support Windows?
Steffen
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 12:13 ` Nguyen Thai Ngoc Duy
@ 2007-07-25 14:10 ` Johannes Schindelin
2007-07-25 14:15 ` Nguyen Thai Ngoc Duy
2007-07-26 2:26 ` Dmitry Kakurin
1 sibling, 1 reply; 69+ messages in thread
From: Johannes Schindelin @ 2007-07-25 14:10 UTC (permalink / raw)
To: Nguyen Thai Ngoc Duy; +Cc: git
Hi,
On Wed, 25 Jul 2007, Nguyen Thai Ngoc Duy wrote:
> FYI, I'm working on getting rid of msys requirement from mingw port. I
> can't tell you how long it would take though. Could be one month or two.
Is there a repo out there?
Ciao,
Dscho
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 14:10 ` Johannes Schindelin
@ 2007-07-25 14:15 ` Nguyen Thai Ngoc Duy
2007-07-25 17:13 ` Johannes Schindelin
2007-07-26 13:00 ` Christian MICHON
0 siblings, 2 replies; 69+ messages in thread
From: Nguyen Thai Ngoc Duy @ 2007-07-25 14:15 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: git
On 7/25/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> Hi,
>
> On Wed, 25 Jul 2007, Nguyen Thai Ngoc Duy wrote:
>
> > FYI, I'm working on getting rid of msys requirement from mingw port. I
> > can't tell you how long it would take though. Could be one month or two.
>
> Is there a repo out there?
http://repo.or.cz/w/git/pclouds.git?a=shortlog;h=gitbox
There are some patches on mob I have not merged to gitbox branch yet.
--
Duy
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 12:30 ` Steffen Prohaska
@ 2007-07-25 15:34 ` Noel Grandin
2007-07-26 6:46 ` Johannes Schindelin
2007-07-25 16:58 ` Stephen Cuppett
1 sibling, 1 reply; 69+ messages in thread
From: Noel Grandin @ 2007-07-25 15:34 UTC (permalink / raw)
To: Steffen Prohaska; +Cc: Dmitry Kakurin, git
Cygwin tries to make Windows look like unix (from a command-line POV),
so it very much runs against the grain of "real" windows programs.
Plus, it's a pain to install and invoke,
and doesn't deal nicely with real windows paths (it maps the windows
filesystem to a unix-y style single root path structure),
Steffen Prohaska wrote:
>
> On Jul 25, 2007, at 12:35 PM, Dmitry Kakurin wrote:
>
>> How serious are you guys about Windows support?
>> I'm talking fully-functional port, not Cygwin.
>
> What's wrong with the Cygwin port?
>
> Is it just that windows developer hate cygwin because it's to
> complex to install or is there any severe limitation?
> functionality? stability? performance?
>
> I'm personally only working on Windows if force to, but people
> are asking me the same question that you have. Does git
> seriously and fully support Windows?
>
> Steffen
> -
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
Disclaimer: http://www.peralex.com/disclaimer.html
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 12:30 ` Steffen Prohaska
2007-07-25 15:34 ` Noel Grandin
@ 2007-07-25 16:58 ` Stephen Cuppett
2007-07-25 17:56 ` Russ Dill
` (2 more replies)
1 sibling, 3 replies; 69+ messages in thread
From: Stephen Cuppett @ 2007-07-25 16:58 UTC (permalink / raw)
To: Steffen Prohaska, git
On 7/25/07, Steffen Prohaska <prohaska@zib.de> wrote:
> Is it just that windows developer hate cygwin because it's to
> complex to install or is there any severe limitation?
> functionality? stability? performance?
I actually have no problems with cygwin and find it works pretty well
with git repositories. Starting the xserver to run git-gui is pretty
annoying though. Windows-based development teams are going to expect
easy access to those kinds of tooling. Otherwise, the champion will
be pushing a type of workflow change that would hinder adoption anyway
and leave a sour taste for a long time.
In addition, performance is atrocious. In my particular case I have
an older P4 running F7 and a newer machine running Windows and cygwin.
On a pserver based cvsimport of a large, enterprise project, Linux
was able to generate the full history in 4 hours, cygwin took 3 and a
half days. When I sync up every now and then, typical times for
windows are 25 minutes and Linux is around 4. That should give you an
idea of what kind of multiplier we are talking about.
I don't know if the performance problems are cygwin or not. More
knowledgeable people might be able to answer, it's just what I'm
observing right now. It could be more fundamental to the types of
access being performed en masse on inode-based versus NTFS systems.
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 14:15 ` Nguyen Thai Ngoc Duy
@ 2007-07-25 17:13 ` Johannes Schindelin
2007-07-26 13:00 ` Christian MICHON
1 sibling, 0 replies; 69+ messages in thread
From: Johannes Schindelin @ 2007-07-25 17:13 UTC (permalink / raw)
To: Nguyen Thai Ngoc Duy; +Cc: git
Hi,
On Wed, 25 Jul 2007, Nguyen Thai Ngoc Duy wrote:
> On 7/25/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > Hi,
> >
> > On Wed, 25 Jul 2007, Nguyen Thai Ngoc Duy wrote:
> >
> > > FYI, I'm working on getting rid of msys requirement from mingw port. I
> > > can't tell you how long it would take though. Could be one month or two.
> >
> > Is there a repo out there?
>
> http://repo.or.cz/w/git/pclouds.git?a=shortlog;h=gitbox
>
> There are some patches on mob I have not merged to gitbox branch yet.
Thanks,
Dscho
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 10:35 Windows support Dmitry Kakurin
` (4 preceding siblings ...)
2007-07-25 12:30 ` Steffen Prohaska
@ 2007-07-25 17:41 ` Daniel Barkalow
5 siblings, 0 replies; 69+ messages in thread
From: Daniel Barkalow @ 2007-07-25 17:41 UTC (permalink / raw)
To: Dmitry Kakurin; +Cc: git
On Wed, 25 Jul 2007, Dmitry Kakurin wrote:
> How serious are you guys about Windows support?
> I'm talking fully-functional port, not Cygwin.
> I did a lot of searching for a new SCM to switch to (from Perforce).
> And Git is my #1 choice. I love it's internals design and it's
> expressive power. I've also tested git-p4 and it has worked like a
> charm with my depot (with few tweaks that I may contribute later).
> But I do all my work on Windows so I need Git-For-Windows-Done-Right :-).
> The current mingw port is not there yet.
>
> Transition to the new SCM must happen now, so basically I have 2 choices:
> 1. Survive for a few months with the current CygWin port of Git
> knowing that Windows support is coming
> 2. Use another SCM (#2 is Mercurial, #3 is Monotone)
>
> I'd realy love to do #1, but I need to know how long do I have to wait.
If the issue is the shell scripts, replacing those with C code is coming
along nicely; there's a big section (fetch and everything it uses) which
is ready to go after 1.5.3 comes out, and I believe a number of the other
core parts are being taken care of in the same sort of time frame by the
GSoC people.
I've also been working on reducing the fork/exec usage, if that's the
issue, but I'm not sure how much of that is left to do or how long it will
take.
(Personally, I don't touch windows at all, but I have been working on
fixing things that seem to be problems for porting to windows, which may
be relevant)
-Daniel
*This .sig left intentionally blank*
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 16:58 ` Stephen Cuppett
@ 2007-07-25 17:56 ` Russ Dill
2007-07-25 19:04 ` Medve Emilian-EMMEDVE1
2007-07-25 18:43 ` Linus Torvalds
2007-07-26 3:36 ` Shawn O. Pearce
2 siblings, 1 reply; 69+ messages in thread
From: Russ Dill @ 2007-07-25 17:56 UTC (permalink / raw)
To: git
Stephen Cuppett <cuppett <at> gmail.com> writes:
> I actually have no problems with cygwin and find it works pretty well
> with git repositories. Starting the xserver to run git-gui is pretty
> annoying though. Windows-based development teams are going to expect
> easy access to those kinds of tooling. Otherwise, the champion will
> be pushing a type of workflow change that would hinder adoption anyway
> and leave a sour taste for a long time.
I have the version of git that came with cygwin, and I never have to run an X
server to run git-gui or gitk.
Personally, I can't imagine running git without cygwin. Course, I want my
desktop to feel as much like unix as possible. My experience with git under
cygwin has been excellent. My only gripe has to do with CRLF. The repository has
everything checked in with dos line endings, I'd like to check everything out
with unix line endings, and then check it back in with dos line endings. I hate
seeing the ^M's everywhere.
> In addition, performance is atrocious. In my particular case I have
> an older P4 running F7 and a newer machine running Windows and cygwin.
> On a pserver based cvsimport of a large, enterprise project, Linux
> was able to generate the full history in 4 hours, cygwin took 3 and a
> half days. When I sync up every now and then, typical times for
> windows are 25 minutes and Linux is around 4. That should give you an
> idea of what kind of multiplier we are talking about.
Granted, the performance isn't equal to git running on a real unix, but compared
to working with SVN under win32, I would say it performs quite well.
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 16:58 ` Stephen Cuppett
2007-07-25 17:56 ` Russ Dill
@ 2007-07-25 18:43 ` Linus Torvalds
2007-07-25 22:52 ` Wincent Colaiuta
2007-07-26 9:30 ` Marius Storm-Olsen
2007-07-26 3:36 ` Shawn O. Pearce
2 siblings, 2 replies; 69+ messages in thread
From: Linus Torvalds @ 2007-07-25 18:43 UTC (permalink / raw)
To: Stephen Cuppett; +Cc: Steffen Prohaska, git
On Wed, 25 Jul 2007, Stephen Cuppett wrote:
>
> I don't know if the performance problems are cygwin or not. More
> knowledgeable people might be able to answer, it's just what I'm
> observing right now. It could be more fundamental to the types of
> access being performed en masse on inode-based versus NTFS systems.
I think cygwin may add some overhead, but people should really realize
that Linux is quite often an order of magnitude faster (or more) than
other systems on some very basic operations.
That's especially true for filesystem operations. We really are just that
good.
Really simple things like stat/open/read/write/close are just damn fast on
Linux. To the point where you really do notice it when you compare to
other systems. If something takes hours on Linux, and it's very
filesystem-intensive, I'm not at all surprised that it might take days on
Windows.
(OS X is probably better than Windows when it comes to filesystem ops, but
their memory management absolutely sucks, and I can pretty much guarantee
that their filesystem operation latency doesn't hold a candle to Linux,
so while I'd expect git to perform "pretty well" on OS X, it's still
going to be slower than on Linux)
Linux really *can* be that much faster. You may not see it as much on some
other loads, where most of the load is about normal user code, and system
call performance is likely to be just a small fraction, but for git, most
of what it does is filesystem interactions (I used to think that SHA1's
would be noticeable - they're not, and while zlib overhead *can* be
noticeable, it usually isn't a big deal except for some very specific
cases).
But I bet that git ends up being faster on Windows than many other SCM's
are (on Windows). Going native will help, and avoiding things like shell
scripting will help a *lot*, but it's still always going to be slower on
Windows than it is on Linux. And that is not about anything else than the
fact that Linux simply kicks *ss on filesystem ops.
So for doing things like big imports, you might well want to do them on
Linux. But that doesn't mean that git will suck on Windows for normal
operations.
(It will just not be so *blazingly* fast, ie things like "git status" will
generally not be instantaneous).
Linus
^ permalink raw reply [flat|nested] 69+ messages in thread
* RE: Re: Windows support
2007-07-25 17:56 ` Russ Dill
@ 2007-07-25 19:04 ` Medve Emilian-EMMEDVE1
2007-07-25 19:13 ` Russ Dill
0 siblings, 1 reply; 69+ messages in thread
From: Medve Emilian-EMMEDVE1 @ 2007-07-25 19:04 UTC (permalink / raw)
To: git
Hi Russ,
Try playing with the core.autocrlf config option.
Cheers,
Emil.
This e-mail, and any associated attachments have been classified as:
--------------------------------------------------------------------
[x] Public
[ ] Freescale Semiconductor Internal Use Only
[ ] Freescale Semiconductor Confidential Proprietary
-----Original Message-----
From: git-owner@vger.kernel.org [mailto:git-owner@vger.kernel.org] On
Behalf Of Russ Dill
Sent: Wednesday, July 25, 2007 12:56 PM
To: git@vger.kernel.org
Subject: Re: Windows support
Stephen Cuppett <cuppett <at> gmail.com> writes:
> I actually have no problems with cygwin and find it works pretty well
> with git repositories. Starting the xserver to run git-gui is pretty
> annoying though. Windows-based development teams are going to expect
> easy access to those kinds of tooling. Otherwise, the champion will
> be pushing a type of workflow change that would hinder adoption anyway
> and leave a sour taste for a long time.
I have the version of git that came with cygwin, and I never have to run
an X
server to run git-gui or gitk.
Personally, I can't imagine running git without cygwin. Course, I want
my
desktop to feel as much like unix as possible. My experience with git
under
cygwin has been excellent. My only gripe has to do with CRLF. The
repository has
everything checked in with dos line endings, I'd like to check
everything out
with unix line endings, and then check it back in with dos line endings.
I hate
seeing the ^M's everywhere.
> In addition, performance is atrocious. In my particular case I have
> an older P4 running F7 and a newer machine running Windows and cygwin.
> On a pserver based cvsimport of a large, enterprise project, Linux
> was able to generate the full history in 4 hours, cygwin took 3 and a
> half days. When I sync up every now and then, typical times for
> windows are 25 minutes and Linux is around 4. That should give you an
> idea of what kind of multiplier we are talking about.
Granted, the performance isn't equal to git running on a real unix, but
compared
to working with SVN under win32, I would say it performs quite well.
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Re: Windows support
2007-07-25 19:04 ` Medve Emilian-EMMEDVE1
@ 2007-07-25 19:13 ` Russ Dill
0 siblings, 0 replies; 69+ messages in thread
From: Russ Dill @ 2007-07-25 19:13 UTC (permalink / raw)
To: git
Medve Emilian-EMMEDVE1 <Emilian.Medve <at> freescale.com> writes:
>
> Hi Russ,
>
> Try playing with the core.autocrlf config option.
>
It seems to do the exact opposite of what I would like. My repository is
imported from SVN with git-svn and all the text files have dos line endings. I
would like to checkout with unix line endings, and checkin with dos line endings.
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 18:43 ` Linus Torvalds
@ 2007-07-25 22:52 ` Wincent Colaiuta
2007-07-26 9:30 ` Marius Storm-Olsen
1 sibling, 0 replies; 69+ messages in thread
From: Wincent Colaiuta @ 2007-07-25 22:52 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Stephen Cuppett, Steffen Prohaska, git
El 25/7/2007, a las 20:43, Linus Torvalds escribió:
> I think cygwin may add some overhead, but people should really realize
> that Linux is quite often an order of magnitude faster (or more) than
> other systems on some very basic operations.
>
> That's especially true for filesystem operations. We really are
> just that
> good.
>
> Really simple things like stat/open/read/write/close are just damn
> fast on
> Linux. To the point where you really do notice it when you compare to
> other systems. If something takes hours on Linux, and it's very
> filesystem-intensive, I'm not at all surprised that it might take
> days on
> Windows.
>
> (OS X is probably better than Windows when it comes to filesystem
> ops, but
> their memory management absolutely sucks, and I can pretty much
> guarantee
> that their filesystem operation latency doesn't hold a candle to
> Linux,
> so while I'd expect git to perform "pretty well" on OS X, it's still
> going to be slower than on Linux)
Would be very interesting to see some "scientific" benchmarks of Git
performance on the different platforms.
Anyone got an Intel Mac with Windows and Linux installed on it as well?
Cheers,
Wincent
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 12:13 ` Nguyen Thai Ngoc Duy
2007-07-25 14:10 ` Johannes Schindelin
@ 2007-07-26 2:26 ` Dmitry Kakurin
2007-07-26 3:06 ` Junio C Hamano
2007-07-26 3:38 ` Johannes Schindelin
1 sibling, 2 replies; 69+ messages in thread
From: Dmitry Kakurin @ 2007-07-26 2:26 UTC (permalink / raw)
To: Nguyen Thai Ngoc Duy; +Cc: git
On 7/25/07, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
> What features is mingw port missing?
Well, 'git commit' from a regular cmd prompt does not work.
IMHO, That's a pretty serious omission :-).
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 11:12 ` Steven Grimm
@ 2007-07-26 2:56 ` Dmitry Kakurin
2007-07-26 3:15 ` Shawn O. Pearce
2007-07-26 5:11 ` Steven Grimm
0 siblings, 2 replies; 69+ messages in thread
From: Dmitry Kakurin @ 2007-07-26 2:56 UTC (permalink / raw)
To: Steven Grimm; +Cc: git
On 7/25/07, Steven Grimm <koreth@midwinter.com> wrote:
> > How serious are you guys about Windows support?
> Much (nearly all?) of the core git team never touches Windows, so they
> both have no selfish motivation to get it working well and no way to
> test their changes even if they decide to take it up for the greater good.
This actually answers my question (if it's true).
If core team is not interested in supporting Windows then I cannot
trust this system with my source code :-(.
My concerns are (mostly):
* lack of (or insufficient) testing for Windows platform
* possibly lower code quality of Windows port, since core devs don't
touch it and don't care
* possible troubles with support if issues arise
* Windows port could become abandoned if those few brave people, who
work on it right now will leave
In short, all kinds of issues associated with software not being a
first class citizen :-).
- Dmitry
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 2:26 ` Dmitry Kakurin
@ 2007-07-26 3:06 ` Junio C Hamano
2007-07-26 3:18 ` Shawn O. Pearce
2007-07-26 3:38 ` Johannes Schindelin
1 sibling, 1 reply; 69+ messages in thread
From: Junio C Hamano @ 2007-07-26 3:06 UTC (permalink / raw)
To: Dmitry Kakurin; +Cc: Nguyen Thai Ngoc Duy, git
"Dmitry Kakurin" <dmitry.kakurin@gmail.com> writes:
> On 7/25/07, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
>> What features is mingw port missing?
> Well, 'git commit' from a regular cmd prompt does not work.
> IMHO, That's a pretty serious omission :-).
I was under the impression that is only because you do not have
MSYS installed. Doesn't Windows people have automated way to
pull and install other packages on the dependency?
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 2:56 ` Dmitry Kakurin
@ 2007-07-26 3:15 ` Shawn O. Pearce
2007-07-26 6:25 ` Steffen Prohaska
2007-07-26 5:11 ` Steven Grimm
1 sibling, 1 reply; 69+ messages in thread
From: Shawn O. Pearce @ 2007-07-26 3:15 UTC (permalink / raw)
To: Dmitry Kakurin; +Cc: Steven Grimm, git
Dmitry Kakurin <dmitry.kakurin@gmail.com> wrote:
> On 7/25/07, Steven Grimm <koreth@midwinter.com> wrote:
> > > How serious are you guys about Windows support?
> > Much (nearly all?) of the core git team never touches Windows, so they
> > both have no selfish motivation to get it working well and no way to
> > test their changes even if they decide to take it up for the greater good.
>
> This actually answers my question (if it's true).
> If core team is not interested in supporting Windows then I cannot
> trust this system with my source code :-(.
It more or less is. Those of us that are most active as Git
developers don't really use Windows as our core development platform.
Well, that is not entirely true. Day-job forces Windows on me,
because its the Most Secure Operating System Evar!. :-) I run Cygwin
there so I have a sane user interface, and build Git under Cygwin
rather than MSYS because I just expect the UNIX-like environment
that Cygwin gives me.
Why Cygwin? Because I have to use Windows, but I'd rather use Linux.
No, Linux isn't permitted. And Solaris/x86 is only allowed on
"servers". I have yet to find a way to classify my desktop as
a server. :-|
git-gui is fairly well supported under Cygwin, as I use it a lot
in my day-job. As do a lot of my coworkers. Which actually gives
me a pretty good testing ground; ~20 people all beating on git-gui
all day long is a pretty sizable testing group. I actually wonder
some days if git-gui is better tested on Cygwin than it is on Linux.
But as has been stated on this thread, Cygwin isn't native Windows.
> My concerns are (mostly):
> * lack of (or insufficient) testing for Windows platform
> * possibly lower code quality of Windows port, since core devs don't
> touch it and don't care
We do care. Its just not our primary focus. Dscho, Junio, Daniel
Barkalow, Johannes Sixt, myself, even Linus have all contributed
patches to git that help make it run better on Windows, or make
it easier to port there. But none of us are running out and
dedicating our lives to making Git the best software to ever run
on that platform. There's other things more important to us.
> * possible troubles with support if issues arise
> * Windows port could become abandoned if those few brave people, who
> work on it right now will leave
That's always a concern. Heck, day-job invested untold fortunes in
a product we purchased from a large commerical vendor. Runs only on
Windows. Vendor just up and decided to no longer support the product
anymore and has left us hanging out to dry. Did I mention that the
product is also closed source and less stable than Git is on Windows?
So no matter what you use, if the developers leave, you are stuck.
But one thing I *really* love about Git is how simple the data
structures are and how easy it is to read the repository. Its under
500 lines of C code to unpack a working directory. More if you
want something that's blazing fast and always reliable, but if you
just want to get the data out its quite simple.
Its also fully open source. GPL'd even. So there's never the
issue that your vendor runs away and prevents you from taking on
development yourself, or just fixing those minor issues that you
really need to have fixed.
--
Shawn.
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 3:06 ` Junio C Hamano
@ 2007-07-26 3:18 ` Shawn O. Pearce
2007-07-26 4:30 ` Junio C Hamano
0 siblings, 1 reply; 69+ messages in thread
From: Shawn O. Pearce @ 2007-07-26 3:18 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Dmitry Kakurin, Nguyen Thai Ngoc Duy, git
Junio C Hamano <gitster@pobox.com> wrote:
> "Dmitry Kakurin" <dmitry.kakurin@gmail.com> writes:
>
> > On 7/25/07, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
> >> What features is mingw port missing?
> > Well, 'git commit' from a regular cmd prompt does not work.
> > IMHO, That's a pretty serious omission :-).
>
> I was under the impression that is only because you do not have
> MSYS installed. Doesn't Windows people have automated way to
> pull and install other packages on the dependency?
Package management? On Windows? Surely you aren't talking about
that silly "Add/Remove Programs" control panel that just destroys
your machine.
I do know the best way to uninstall dependencies on Windows is to
boot a live Linux CD and `mkfs /dev/hda1`. But as far as installing
things go you pray that your vendor has packaged everything you need
in their shiny click-through installer thing, and if they haven't,
you cry wolf and switch to another vendor.
--
Shawn.
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 16:58 ` Stephen Cuppett
2007-07-25 17:56 ` Russ Dill
2007-07-25 18:43 ` Linus Torvalds
@ 2007-07-26 3:36 ` Shawn O. Pearce
2 siblings, 0 replies; 69+ messages in thread
From: Shawn O. Pearce @ 2007-07-26 3:36 UTC (permalink / raw)
To: Stephen Cuppett; +Cc: Steffen Prohaska, git
Stephen Cuppett <cuppett@gmail.com> wrote:
> On 7/25/07, Steffen Prohaska <prohaska@zib.de> wrote:
>
> >Is it just that windows developer hate cygwin because it's to
> >complex to install or is there any severe limitation?
> >functionality? stability? performance?
>
> I actually have no problems with cygwin and find it works pretty well
> with git repositories. Starting the xserver to run git-gui is pretty
> annoying though.
I've never even tried to run it that way. I know the Cygwin packages
have two different Tcl/Tk binaries: one that is actually a hacked
up native Tcl/Tk (which uses native Win32 graphics) and one that
is a straightup recompile of the UNIX Tcl/Tk (which uses X11 only).
I only have the native Win32 Tcl/Tk installed, and thus run native
graphics.
An advantage of the native Tcl/Tk is just that, its native.
A downside is it is native. It doesn't use the Cygwin APIs for exec,
it directly goes through CreateProcess(). It doesn't use the Cygwin
APIs for file IO, it goes directly through the native Win32 stuff.
Which means it sometimes has a difficult time with Cygwin paths.
There are a few places in git-gui where I run `cygpath -w` just to
handle this.
I've also recently tested git-gui under the ActiveState Tcl
distribution. It ran, but for reasons unknown to me (I didn't
research it yet) the .git/info/exclude rules didn't apply when
git-gui spawned a `git ls-files --others` helper process.
I have considered doing a starkit of git-gui, msys based git
executables/dlls, and the ActiveState Tcl engine. That should give
users a single git-gui.exe that they can just download and launch,
no installation required. Haven't started it yet, partly because
I haven't finished removing the need for shell scripts to support
git-gui. I'm almost there, especially with Daniel Barkalow's work
on a native C fetch.
> Windows-based development teams are going to expect
> easy access to those kinds of tooling. Otherwise, the champion will
> be pushing a type of workflow change that would hinder adoption anyway
> and leave a sour taste for a long time.
I agree. They also want this thing called "explorer integration" or
something like that. I've never had good luck with cra^H^H^Hpackages
that install themselves into the Windows explorer UI. I would
probably never develop such a thing myself.
> I don't know if the performance problems are cygwin or not. More
> knowledgeable people might be able to answer, it's just what I'm
> observing right now. It could be more fundamental to the types of
> access being performed en masse on inode-based versus NTFS systems.
As Linus described its NTFS/Windows that is horrid here, and not
really Cygwin. Linux is just fast. Almost all modern UNIXes are.
At least when compared to the Windows kernel running on a crappy
4500 RPM IDE drive that is also hampered with a virus scanner that
wants to scan 12 GiB of data every 30 minutes, even when the volume
has only 8 GiB of files on it. ;-)
Git is fast. Its faster than SVN on the same hardware. Even under
Windows. About the only thing that I think is "slow" is two areas:
* status. Doing lstat() on 8,000+ files takes a little while.
Hooking into the OS' native file monitoring facility and having
that tell us which files are stat-dirty would reduce the need
for these massive lstat() runs.
* for-each-ref. Opening 400 ref files to read their current SHA-1
values is not fast on Windows. More aggressively packing refs
(at least on Windows) may actually be worthwhile. Another option
might be to have the same process that is watching the OS' file
monitoring interface cache the ref values, so we can get to them
via say shared memory or a pipe instead of file IO.
Neither feature is really necessary on a good UNIX however, as most
kernel development teams have just made sure their system has good
file IO throughput. Oh, and they don't have to run virus scanners
that get higher IO priority than everything else.
--
Shawn.
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 2:26 ` Dmitry Kakurin
2007-07-26 3:06 ` Junio C Hamano
@ 2007-07-26 3:38 ` Johannes Schindelin
2007-07-26 3:54 ` Dmitry Kakurin
2007-07-26 4:00 ` Shawn O. Pearce
1 sibling, 2 replies; 69+ messages in thread
From: Johannes Schindelin @ 2007-07-26 3:38 UTC (permalink / raw)
To: Dmitry Kakurin; +Cc: Nguyen Thai Ngoc Duy, git
Hi,
On Wed, 25 Jul 2007, Dmitry Kakurin wrote:
> On 7/25/07, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
> > What features is mingw port missing?
> Well, 'git commit' from a regular cmd prompt does not work.
> IMHO, That's a pretty serious omission :-).
Not true.
Ciao,
Dscho
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 3:38 ` Johannes Schindelin
@ 2007-07-26 3:54 ` Dmitry Kakurin
2007-07-26 4:00 ` Shawn O. Pearce
1 sibling, 0 replies; 69+ messages in thread
From: Dmitry Kakurin @ 2007-07-26 3:54 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: Nguyen Thai Ngoc Duy, git
On 7/25/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > On 7/25/07, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
> > > What features is mingw port missing?
> > Well, 'git commit' from a regular cmd prompt does not work.
> > IMHO, That's a pretty serious omission :-).
> Not true.
Well, repro is very simple:
* Follow instructions on Git Wiki and install Git from
http://lilypond.org/git/binaries/mingw/
* run git commit:
E:\Git\usr\bin>git commit
git: 'commit' is not a git-command
I've tried on both Win XP and Vista machines.
- Dmitry
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 3:38 ` Johannes Schindelin
2007-07-26 3:54 ` Dmitry Kakurin
@ 2007-07-26 4:00 ` Shawn O. Pearce
2007-07-26 5:30 ` Johannes Schindelin
1 sibling, 1 reply; 69+ messages in thread
From: Shawn O. Pearce @ 2007-07-26 4:00 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: Dmitry Kakurin, Nguyen Thai Ngoc Duy, git
Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> On Wed, 25 Jul 2007, Dmitry Kakurin wrote:
>
> > On 7/25/07, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
> > > What features is mingw port missing?
> > Well, 'git commit' from a regular cmd prompt does not work.
> > IMHO, That's a pretty serious omission :-).
>
> Not true.
Use git-gui. ;-) It doesn't need a shell to make commits.
It currently uses the shell for fetch and for merge. I'm fixing
merge this week. I'm hoping Daniel's native C fetch will fix
the fetch.
--
Shawn.
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 3:18 ` Shawn O. Pearce
@ 2007-07-26 4:30 ` Junio C Hamano
2007-07-26 5:28 ` Johannes Schindelin
0 siblings, 1 reply; 69+ messages in thread
From: Junio C Hamano @ 2007-07-26 4:30 UTC (permalink / raw)
To: Shawn O. Pearce; +Cc: Dmitry Kakurin, Nguyen Thai Ngoc Duy, git
"Shawn O. Pearce" <spearce@spearce.org> writes:
> I do know the best way to uninstall dependencies on Windows is to
> boot a live Linux CD and `mkfs /dev/hda1`. But as far as installing
> things go you pray that your vendor has packaged everything you need
> in their shiny click-through installer thing, and if they haven't,
> you cry wolf and switch to another vendor.
If that is the case, "Git for Windows" probably should package
MSYS as part of it, I would think, to match the expectation of
the users there. I know two Johannes'es and Han-Wen spent quite
a lot of effort on Windows port and packaging, but perhaps that
little (well, I should not be judging if that is a little or
huge, as I do not do Windows) finishing touch would make Windows
users much happier?
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 2:56 ` Dmitry Kakurin
2007-07-26 3:15 ` Shawn O. Pearce
@ 2007-07-26 5:11 ` Steven Grimm
1 sibling, 0 replies; 69+ messages in thread
From: Steven Grimm @ 2007-07-26 5:11 UTC (permalink / raw)
To: Dmitry Kakurin; +Cc: git
Wrote this reply privately earlier; forwarding to the list at Dmitry's
suggestion (though it's rendered slightly less relevant by his
clarifications)...
Dmitry Kakurin wrote:
> This actually answers my question (if it's true).
> If core team is not interested in supporting Windows then I cannot
> trust this system with my source code :-(.
>
I certainly understand the conclusion, but I'm not sure I would share
it. Unless you have reason to believe there's something in particular
about the Windows environment that would cause git to lose data in
circumstances where it wouldn't do so under UNIX-ish systems, it seems
like your data should be perfectly safe.
In the year-and-a-bit I've been lurking on the git mailing list and
making occasional contributions to the code, git has never lost any data
for anyone to my knowledge. Its design is extremely paranoid in that
regard, and the paranoia is not really anything platform-dependent. It's
stuff like, never overwrite files in place (always write a new file
then, once it's written successfully, get rid of the old one if needed).
Or, as importantly, keep SHA1 hashes of *everything* and double-check
them often. Those approaches are just as valid on Windows as on any
other OS. The SHA1 hashes in particular are pretty unimpeachable, IMO;
the times people have thought their git repositories have gotten
corrupted, it has always turned out to be underlying filesystem or disk
corruption that git's SHA1 checking has caught.
If there are data loss bugs in git (and of course it's possible, even if
none have been reported to my knowledge) IMO they're vastly more likely
to be generic than platform-specific.
One nice thing about git is you don't have to take its word for your
data integrity. You can, without a whole lot of effort, dump out every
file in the repository and verify that it is what git says it is.
Anyway, I guess my feeling would be, if I were going to choose to not
use git on Windows it would be because of smoothness of the experience,
lack of integration with Windows tools, difficult installation process,
or stuff like that. Data integrity would not even cross my mind as a
downside of git.
-Steve
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 4:30 ` Junio C Hamano
@ 2007-07-26 5:28 ` Johannes Schindelin
2007-07-26 5:56 ` Han-Wen Nienhuys
2007-07-26 9:11 ` Robin Rosenberg
0 siblings, 2 replies; 69+ messages in thread
From: Johannes Schindelin @ 2007-07-26 5:28 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Shawn O. Pearce, Dmitry Kakurin, Nguyen Thai Ngoc Duy, git
Hi,
On Wed, 25 Jul 2007, Junio C Hamano wrote:
> If that is the case, "Git for Windows" probably should package MSYS as
> part of it, I would think, to match the expectation of the users there.
> I know two Johannes'es and Han-Wen spent quite a lot of effort on
> Windows port and packaging, but perhaps that little (well, I should not
> be judging if that is a little or huge, as I do not do Windows)
> finishing touch would make Windows users much happier?
Windows users are only happy when they can bug developers.
Seriously again, the biggest problem with Han-Wen's installer was that it
insists on cross-compiling _all_ the packages. This makes it easy for
Han-Wen to upgrade packages and compile the thing on Linux in one go.
However, it never worked with bash, and I could not fix it: I can read
Python, but not _that_ Python.
So my plan was to wrap everything needed from an existing MinGW/MSYS
installation, with a minimal installer (NullSoft or whatever) to setup the
exec dir, perl lib path etc...
However, my time is scarce, and it does not exactly help that all I can
expect from those who should be thankful is even more complaining.
I mean, I understand Linus' point. I don't even expect a Windows user to
compile C. It's long time since I was silly enough to believe that. But
just wrapping it up in an installer, and a little testing, seems to be too
much to ask. When I don't need the darned thing to begin with.
Ciao,
Dscho
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 4:00 ` Shawn O. Pearce
@ 2007-07-26 5:30 ` Johannes Schindelin
2007-07-26 6:08 ` Henning Rogge
0 siblings, 1 reply; 69+ messages in thread
From: Johannes Schindelin @ 2007-07-26 5:30 UTC (permalink / raw)
To: Shawn O. Pearce; +Cc: Dmitry Kakurin, Nguyen Thai Ngoc Duy, git
Hi,
On Thu, 26 Jul 2007, Shawn O. Pearce wrote:
> Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > On Wed, 25 Jul 2007, Dmitry Kakurin wrote:
> >
> > > On 7/25/07, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
> > > > What features is mingw port missing?
> > > Well, 'git commit' from a regular cmd prompt does not work.
> > > IMHO, That's a pretty serious omission :-).
> >
> > Not true.
>
> Use git-gui. ;-) It doesn't need a shell to make commits.
Of course. Ever since I saw git-gui, I was convinced that _this_ is the
tool Windows users should use.
Ciao,
Dscho
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 5:28 ` Johannes Schindelin
@ 2007-07-26 5:56 ` Han-Wen Nienhuys
2007-07-26 6:40 ` Johannes Schindelin
2007-07-26 9:11 ` Robin Rosenberg
1 sibling, 1 reply; 69+ messages in thread
From: Han-Wen Nienhuys @ 2007-07-26 5:56 UTC (permalink / raw)
To: git
Cc: Junio C Hamano, Shawn O. Pearce, Dmitry Kakurin,
Nguyen Thai Ngoc Duy, git
Johannes Schindelin wrote:
>> If that is the case, "Git for Windows" probably should package MSYS as
>> part of it, I would think, to match the expectation of the users there.
>> I know two Johannes'es and Han-Wen spent quite a lot of effort on
>> Windows port and packaging, but perhaps that little (well, I should not
>> be judging if that is a little or huge, as I do not do Windows)
>> finishing touch would make Windows users much happier?
>
> Windows users are only happy when they can bug developers.
>
> Seriously again, the biggest problem with Han-Wen's installer was that it
> insists on cross-compiling _all_ the packages. This makes it easy for
> Han-Wen to upgrade packages and compile the thing on Linux in one go.
> However, it never worked with bash, and I could not fix it: I can read
> Python, but not _that_ Python.
>
The problem is not really the python. If you supply me with a shell
script that will x-compile bash, I'll hapily code the python spec. IMO
the real problem is that bash is a unix shell (tied to unix internals)
and therefore, compiling it for something as horrid as windows is far
from trivial.
fwiw, I briefly tried compiling msys, but I couldn't even find its
sources, so I quickly gave up.
A second option is that someone supplies me with an unpacked, installed
tree of msys' bash shell. I can easily package that up along with the
rest of the installer, if it doesnt' require further trickery (setting
registry entries, etc.)
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 5:30 ` Johannes Schindelin
@ 2007-07-26 6:08 ` Henning Rogge
2007-07-26 8:14 ` Andy Parkins
0 siblings, 1 reply; 69+ messages in thread
From: Henning Rogge @ 2007-07-26 6:08 UTC (permalink / raw)
To: git
On 7/26/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > Use git-gui. ;-) It doesn't need a shell to make commits.
>
> Of course. Ever since I saw git-gui, I was convinced that _this_ is the
> tool Windows users should use.
QGit might be a good alternative too, especially because QT4 is
available for Windows.
Henning
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 3:15 ` Shawn O. Pearce
@ 2007-07-26 6:25 ` Steffen Prohaska
2007-07-26 6:53 ` Shawn O. Pearce
0 siblings, 1 reply; 69+ messages in thread
From: Steffen Prohaska @ 2007-07-26 6:25 UTC (permalink / raw)
To: Shawn O. Pearce; +Cc: Dmitry Kakurin, Steven Grimm, git
On Jul 26, 2007, at 5:15 AM, Shawn O. Pearce wrote:
> Why Cygwin? Because I have to use Windows, but I'd rather use Linux.
> No, Linux isn't permitted. And Solaris/x86 is only allowed on
> "servers". I have yet to find a way to classify my desktop as
> a server. :-|
>
> git-gui is fairly well supported under Cygwin, as I use it a lot
> in my day-job. As do a lot of my coworkers. Which actually gives
> me a pretty good testing ground; ~20 people all beating on git-gui
> all day long is a pretty sizable testing group. I actually wonder
> some days if git-gui is better tested on Cygwin than it is on Linux.
>
> But as has been stated on this thread, Cygwin isn't native Windows.
So apparently you're working in a reasonably sized group of people all
testing git on cygwin. I'd be completely satisfied if git ran rock solid
on cygwin.
I found the following list of warnings about cygwin in the wiki
entry WindowsInstall [1]. Some points look quite scary to me.
What is your real-world experience? Are the warning still valid?
Must I really fear to break cygwin if I press Ctrl-C?
Do I really need to reboot regularly? I don't think this is an
option. Nowadays our Windows boxes run for months, too. I can't
seriously tell people that they need to regularly reboot if they
want to use git.
Here's the list, copied from http://git.or.cz/gitwiki/WindowsInstall
* Use git on local NTFS disks -- Network drives disks don't
support the filesystem semantics GIT needs; for interoperability
purposes you can store bare repositories on FAT32 disks.
* Be careful with the case in filenames. Similarly, avoid special
chars in filenames.
* Run git gc early and often. There are slowdowns with many
unpacked objects. Be careful to not create very big packfiles (bigger
than 2 Gb).
* Avoid using ActiveState Perl if possible. Ask in the
MailingLists if you must.
* Try to avoid interrupting (Ctrl-C) processes - it breaks cygwin.
* Consider setting core.fileMode to false (git repo-config
core.fileMode false) if file modes are frequently the only
differences detected by Git. Many Windows applications make the
execute bit be set in Cygwin when they save a file. Besides Cygwin
detects file mode by stupid combination of content analysis, file
name extension and moon phase.
* Insert "set CYGWIN=tty binmode" after the first line of C:
\cygwin\cygwin.bat, so you can use Ctrl-z in cygwin's bash to suspend
a program.
* Windows usually writes end-of-line as CRLF, while Unix/POSIX
writes LF. This can cause a variety of problems. There are current
efforts to address this.
* Setup binary mode for cygwin (there is an option in cygwin's
setup program), otherwise Cygwin mangles everything read and written
(Git repos have binary files in control structures).
* Avoid big repos.
* Avoid big blobs (very big files. Basically anything larger than
10Mb is too big).
* Avoid big trees (directories with many files in them).
* Avoid deep hierarchies.
* Reboot regularly (memory fragmentation)
* Defragment often (filesystems fragmentation)
Steffen
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 5:56 ` Han-Wen Nienhuys
@ 2007-07-26 6:40 ` Johannes Schindelin
2007-07-26 7:02 ` Han-Wen Nienhuys
0 siblings, 1 reply; 69+ messages in thread
From: Johannes Schindelin @ 2007-07-26 6:40 UTC (permalink / raw)
To: Han-Wen Nienhuys
Cc: git, Junio C Hamano, Shawn O. Pearce, Dmitry Kakurin,
Nguyen Thai Ngoc Duy
Hi,
[Funny, you quoted me, but culled _me_ from the Cc: list]
On Wed, 25 Jul 2007, Han-Wen Nienhuys wrote:
> Johannes Schindelin wrote:
> >> If that is the case, "Git for Windows" probably should package MSYS as
> >> part of it, I would think, to match the expectation of the users there.
> >> I know two Johannes'es and Han-Wen spent quite a lot of effort on
> >> Windows port and packaging, but perhaps that little (well, I should not
> >> be judging if that is a little or huge, as I do not do Windows)
> >> finishing touch would make Windows users much happier?
> >
> > Windows users are only happy when they can bug developers.
> >
> > Seriously again, the biggest problem with Han-Wen's installer was that it
> > insists on cross-compiling _all_ the packages. This makes it easy for
> > Han-Wen to upgrade packages and compile the thing on Linux in one go.
> > However, it never worked with bash, and I could not fix it: I can read
> > Python, but not _that_ Python.
> >
>
> The problem is not really the python.
For me, it is. Probably you know by now that I am not really a fan of
Python, mainly because people can write unelegant code which looks
elegant.
> If you supply me with a shell script that will x-compile bash, I'll
> hapily code the python spec. IMO the real problem is that bash is a unix
> shell (tied to unix internals) and therefore, compiling it for something
> as horrid as windows is far from trivial.
Will do.
Did you succeed in adding perl? It is not that important, because I plan
to make git-gui the main user interface with this installer. But Junio
keeps adding Perl scripts (ATM add -i and remote) that I have to convert
later...
Ciao,
Dscho
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 15:34 ` Noel Grandin
@ 2007-07-26 6:46 ` Johannes Schindelin
2007-07-26 6:48 ` Junio C Hamano
0 siblings, 1 reply; 69+ messages in thread
From: Johannes Schindelin @ 2007-07-26 6:46 UTC (permalink / raw)
To: Noel Grandin; +Cc: Steffen Prohaska, Dmitry Kakurin, git
Hi,
On Wed, 25 Jul 2007, Noel Grandin wrote:
> Cygwin tries to make Windows look like unix (from a command-line POV),
> so it very much runs against the grain of "real" windows programs.
Okay, just because you insist, I will introduce a crash, so that it does
not look too much like Unix. Maybe I will do this as an alternate
hang/crash.
Ciao,
Dscho
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 6:46 ` Johannes Schindelin
@ 2007-07-26 6:48 ` Junio C Hamano
0 siblings, 0 replies; 69+ messages in thread
From: Junio C Hamano @ 2007-07-26 6:48 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: Noel Grandin, Steffen Prohaska, Dmitry Kakurin, git
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> On Wed, 25 Jul 2007, Noel Grandin wrote:
>
>> Cygwin tries to make Windows look like unix (from a command-line POV),
>> so it very much runs against the grain of "real" windows programs.
>
> Okay, just because you insist, I will introduce a crash, so that it does
> not look too much like Unix. Maybe I will do this as an alternate
> hang/crash.
You forgot an obligatory smiley. That is not amusing.
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 6:25 ` Steffen Prohaska
@ 2007-07-26 6:53 ` Shawn O. Pearce
2007-07-26 9:41 ` Marius Storm-Olsen
0 siblings, 1 reply; 69+ messages in thread
From: Shawn O. Pearce @ 2007-07-26 6:53 UTC (permalink / raw)
To: Steffen Prohaska; +Cc: Dmitry Kakurin, Steven Grimm, git
Steffen Prohaska <prohaska@zib.de> wrote:
> On Jul 26, 2007, at 5:15 AM, Shawn O. Pearce wrote:
> >git-gui is fairly well supported under Cygwin, as I use it a lot
> >in my day-job. As do a lot of my coworkers. Which actually gives
> >me a pretty good testing ground; ~20 people all beating on git-gui
> >all day long is a pretty sizable testing group. I actually wonder
> >some days if git-gui is better tested on Cygwin than it is on Linux.
>
> So apparently you're working in a reasonably sized group of people all
> testing git on cygwin. I'd be completely satisfied if git ran rock solid
> on cygwin.
It is just as rock solid as it is on Mac OS X (my real Git
development system) and Solaris. If your Cygwin DLL does not
support pread() you do need to compile with NO_PREAD=1, but that's
a minor issue. Personally I build Git on Cygwin with pread() and
mmap() enabled and it runs fine. Of course we only use it on local
drives, and only on NTFS drives.
As has been stated already, Git's checksums work nicely to make
sure data hasn't been corrupted. I've seen one user have trouble
with checksums failing in his repository. Usually he recopies it
from another user and picks up where he left off. Twice I've seen
his packfile corrupted and Git caught the corruption. We seriously
suspect some bad blocks on his drive. But budget says we cannot
replace the disk for another 4 years.
> I found the following list of warnings about cygwin in the wiki
> entry WindowsInstall [1]. Some points look quite scary to me.
>
> What is your real-world experience? Are the warning still valid?
> Must I really fear to break cygwin if I press Ctrl-C?
Its not that Cygwin breaks. Its that sometimes pressing Ctrl-C
doesn't actually stop the process, e.g. the signal isn't sent or
just gets ignored. So its annoying because you can't abort things
as readily as you might on a good UNIX. Sometimes you get weird
stack traces from a Git process when you Ctrl-C it. But I also see
this same garbage out of a native Windows JVM when I Ctrl-C it from
a Cygwin bash. Its just general Cygwin-ism or something.
Despite those failures I've never seen that stack dump actually
corrupt Git data. Think about it. Git needs to be safe on any
platform, even if the running Git program terminates unexpectedly
in the middle of an operation, such as because of an OOM from the
kernel, or an angry admin `kill -9`ing it. So this little stack
spew is just annoying more than anything.
> Do I really need to reboot regularly? I don't think this is an
> option. Nowadays our Windows boxes run for months, too. I can't
> seriously tell people that they need to regularly reboot if they
> want to use git.
I *never* reboot my Windows system at day-job. Except when our
local adminstration staff shoves some Microsoft uber-patch down
onto our systems and that patch forces us to reboot the machine.
So I never reboot for Cygwin (or Git's) sake. Ever.
> Here's the list, copied from http://git.or.cz/gitwiki/WindowsInstall
>
> * Use git on local NTFS disks -- Network drives disks don't
> support the filesystem semantics GIT needs; for interoperability
> purposes you can store bare repositories on FAT32 disks.
Still true. Network drives have some issues as the SMB protocol
doesn't support everything nicely. NTFS locally is fine. FAT32 has
issues with mmap() not being well supported. If you must use
FAT32 compile Git with NO_MMAP. Which is the default on Cygwin,
as a lot of people still use FAT32.
> * Be careful with the case in filenames. Similarly, avoid special
> chars in filenames.
This is true. Git doesn't like getting file names with case only
differences on such a platform. E.g. just today I wanted to do
the following:
git mv foo.c Foo.c
but had to instead do:
git mv foo.c CRAP && git mv CRAP Foo.c
because the former won't work on a filesystem that ignores case.
I have the same problem on my Mac OS X HFS+ volume as it also
ignores case.
> * Run git gc early and often. There are slowdowns with many
> unpacked objects. Be careful to not create very big packfiles (bigger
> than 2 Gb).
Both of these are still true. git-gui on Windows suggests a repack
if you have ~256 loose objects, on UNIX platforms it suggest a repack
at ~2048 loose objects. The problem is really just a performance
issue, the more files we have to open to access data the slower
things go. The loose objects tend to be the really recent stuff
(that's why they aren't packed yet) and the really recent stuff
tends to be what is accessed most.
Opening 200 files takes time on Windows. Its just a limitation
of the OS apparently. And its a fundamental property of the Git
object store that we always write to loose objects first, as its
fast and easy to make safe.
Another aside to this is `git grep --cached` or `git grep ... TREE`
is *always* faster for me then grepping the working directory.
The first two will return nearly instantly (tiny lag) while the
working directory grep will take days. On Linux and Mac OS X the
exact reverse is true, the working directory grep is usually faster
if the disk cache is hot.
> * Avoid using ActiveState Perl if possible. Ask in the
> MailingLists if you must.
Yea, we've had some issues with that. This comes from one particular
user (Alex Riesen) who uses Cygwin but for strange reasons is
not allowed to use the Cygwin perl and instead must only use the
ActiveState Perl. We've had some issues in the past with our Perl
scripts running on that perl port. Alex has fixed many of them,
but some may still be lurking.
> * Try to avoid interrupting (Ctrl-C) processes - it breaks cygwin.
Already talked about above.
> * Consider setting core.fileMode to false (git repo-config
> core.fileMode false) if file modes are frequently the only
> differences detected by Git. Many Windows applications make the
> execute bit be set in Cygwin when they save a file. Besides Cygwin
> detects file mode by stupid combination of content analysis, file
> name extension and moon phase.
We currently default core.fileMode to false on Cygwin, for this
very reason. We used to not do that. We got smarter and realized
that although Cygwin itself (and all Cygwin tools) will properly
handle the executable bit on NTFS native Windows tools (e.g. Eclipse)
won't. Users use the native Windows tools, then blame Git. So we
disable it.
> * Insert "set CYGWIN=tty binmode" after the first line of C:
> \cygwin\cygwin.bat, so you can use Ctrl-z in cygwin's bash to suspend
> a program.
Oooooh. I did not know this tip. I still just cuss at Cygwin
anytime I want to suspend a job and cannot.
> * Windows usually writes end-of-line as CRLF, while Unix/POSIX
> writes LF. This can cause a variety of problems. There are current
> efforts to address this.
See the crlf feature in gitattributes. You can now have Git create
working tree files in CRLF format, but check them into the object
database with only LF.
> * Setup binary mode for cygwin (there is an option in cygwin's
> setup program), otherwise Cygwin mangles everything read and written
> (Git repos have binary files in control structures).
I think binary mode is the default now on Cygwin. It used to not
be. Because of this problem.
> * Avoid big repos.
Yea, sort of. I'm using about 180M (fully packed as best as I can
make Git do) and its fine. I don't know what a definition of "big"
is.
> * Avoid big blobs (very big files. Basically anything larger than
> 10Mb is too big).
This I can't speak to. All of my blobs are source code, so they
are small-ish.
> * Avoid big trees (directories with many files in them).
Probably true. Most of my trees are reasonably well distributed
(they aren't that big). I think my largest is 900 files in the
same directory.
> * Avoid deep hierarchies.
I/use/java/programs/on/windows/and/much/of/my/source/is/in/that/format.
:-) I don't really have issues with deep trees, and I have some
pretty darn deep source code trees.
> * Reboot regularly (memory fragmentation)
Don't see that.
> * Defragment often (filesystems fragmentation)
Yes! Very much so. The packfiles are the first things to fragment,
and what with all of the small files that Git creates, especially
with frequent branch switching, and then the small object files
that my build system creates, my drive is almost always completely
fragmented.
Which reminds me, I need to defrag again...
--
Shawn.
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 6:40 ` Johannes Schindelin
@ 2007-07-26 7:02 ` Han-Wen Nienhuys
2007-07-26 7:13 ` Shawn O. Pearce
2007-07-26 11:29 ` Nguyen Thai Ngoc Duy
0 siblings, 2 replies; 69+ messages in thread
From: Han-Wen Nienhuys @ 2007-07-26 7:02 UTC (permalink / raw)
To: Johannes Schindelin
Cc: git, Junio C Hamano, Shawn O. Pearce, Dmitry Kakurin,
Nguyen Thai Ngoc Duy
2007/7/25, Johannes Schindelin <Johannes.Schindelin@gmx.de>:
> Hi,
>
> [Funny, you quoted me, but culled _me_ from the Cc: list]
It's because gmane does not do SMTP
> > If you supply me with a shell script that will x-compile bash, I'll
> > hapily code the python spec. IMO the real problem is that bash is a unix
> > shell (tied to unix internals) and therefore, compiling it for something
> > as horrid as windows is far from trivial.
>
> Will do.
>
> Did you succeed in adding perl?
God forbid no. Perl is enormous, and I shudder at the thought of
making all those modules compile, or even worse, writing actual perl
code.
> It is not that important, because I plan
> to make git-gui the main user interface with this installer. But Junio
> keeps adding Perl scripts (ATM add -i and remote) that I have to convert
> later...
I don't see what this is good for. I would suggest to making a clear
decision of what are recommended languages, and move everything else
to contrib/ .. Currently, C and bash seem the most reasonable choice,
but you could decide for perl, but then the consequence should be that
the bash scripts are translated into perl. Having both bash and perl
serves no purpose, and will lead to duplication of library code to
interact with the git binary.
--
Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 7:02 ` Han-Wen Nienhuys
@ 2007-07-26 7:13 ` Shawn O. Pearce
2007-07-26 7:18 ` Han-Wen Nienhuys
2007-07-26 7:52 ` Julian Phillips
2007-07-26 11:29 ` Nguyen Thai Ngoc Duy
1 sibling, 2 replies; 69+ messages in thread
From: Shawn O. Pearce @ 2007-07-26 7:13 UTC (permalink / raw)
To: hanwen
Cc: Johannes Schindelin, git, Junio C Hamano, Dmitry Kakurin,
Nguyen Thai Ngoc Duy
Han-Wen Nienhuys <hanwenn@gmail.com> wrote:
> 2007/7/25, Johannes Schindelin <Johannes.Schindelin@gmx.de>:
> >Did you succeed in adding perl?
>
> >It is not that important, because I plan
> >to make git-gui the main user interface with this installer. But Junio
> >keeps adding Perl scripts (ATM add -i and remote) that I have to convert
> >later...
>
> I don't see what this is good for.
What git-gui is good for? Its a GUI. For people who perfer to use
mice and push buttons over keys and a command prompt. A large number
of people in this world (many of them on Windows) like these things.
Me, I'm more command line than I am GUI, yet I develop git-gui.
So I find myself using it a lot, just so I can eat my own dogfood.
Or do you mean Dscho's other point about rewriting tools into C?
> I would suggest to making a clear
> decision of what are recommended languages, and move everything else
> to contrib/ .. Currently, C and bash seem the most reasonable choice,
> but you could decide for perl, but then the consequence should be that
> the bash scripts are translated into perl. Having both bash and perl
> serves no purpose, and will lead to duplication of library code to
> interact with the git binary.
Sure, but there's some stuff that shell is good at, and other stuff
that Perl is good at. Forcing everything into one mold while we
prototype new features is really limiting.
But both are slower on fork challenged systems than using native C.
Look at git-fetch for example; my ~400+ branch repository is taking
upwards of 5 minutes to run a no-argument, no-changes git-fetch in.
All sh and fork overhead.
--
Shawn.
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 7:13 ` Shawn O. Pearce
@ 2007-07-26 7:18 ` Han-Wen Nienhuys
2007-07-26 21:39 ` Jakub Narebski
2007-07-26 7:52 ` Julian Phillips
1 sibling, 1 reply; 69+ messages in thread
From: Han-Wen Nienhuys @ 2007-07-26 7:18 UTC (permalink / raw)
To: Shawn O. Pearce
Cc: Johannes Schindelin, git, Junio C Hamano, Dmitry Kakurin,
Nguyen Thai Ngoc Duy
2007/7/26, Shawn O. Pearce <spearce@spearce.org>:
> Han-Wen Nienhuys <hanwenn@gmail.com> wrote:
> > 2007/7/25, Johannes Schindelin <Johannes.Schindelin@gmx.de>:
> > >Did you succeed in adding perl?
> >
> > >It is not that important, because I plan
> > >to make git-gui the main user interface with this installer. But Junio
> > >keeps adding Perl scripts (ATM add -i and remote) that I have to convert
> > >later...
> >
> > I don't see what this is good for.
>
> What git-gui is good for? Its a GUI. For people who perfer to use
> mice and push buttons over keys and a command prompt. A large number
> of people in this world (many of them on Windows) like these things.
> Me, I'm more command line than I am GUI, yet I develop git-gui.
> So I find myself using it a lot, just so I can eat my own dogfood.
>
> Or do you mean Dscho's other point about rewriting tools into C?
The last one. The windows installers actually includes a copy of
tcl/tk so you can run gitk on windows. .
> > I would suggest to making a clear
> > decision of what are recommended languages, and move everything else
> > to contrib/ .. Currently, C and bash seem the most reasonable choice,
> > but you could decide for perl, but then the consequence should be that
> > the bash scripts are translated into perl. Having both bash and perl
> > serves no purpose, and will lead to duplication of library code to
> > interact with the git binary.
>
> Sure, but there's some stuff that shell is good at, and other stuff
> that Perl is good at. Forcing everything into one mold while we
> prototype new features is really limiting.
I'm not contradicting that, but merely suggesting that they go into
contrib/ and are not recommended as standard git commands, and don't
need to be packaged for windows.
--
Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 7:13 ` Shawn O. Pearce
2007-07-26 7:18 ` Han-Wen Nienhuys
@ 2007-07-26 7:52 ` Julian Phillips
1 sibling, 0 replies; 69+ messages in thread
From: Julian Phillips @ 2007-07-26 7:52 UTC (permalink / raw)
To: Shawn O. Pearce
Cc: hanwen, Johannes Schindelin, git, Junio C Hamano, Dmitry Kakurin,
Nguyen Thai Ngoc Duy
On Thu, 26 Jul 2007, Shawn O. Pearce wrote:
> Han-Wen Nienhuys <hanwenn@gmail.com> wrote:
>> 2007/7/25, Johannes Schindelin <Johannes.Schindelin@gmx.de>:
>>> Did you succeed in adding perl?
>>
>>> It is not that important, because I plan
>>> to make git-gui the main user interface with this installer. But Junio
>>> keeps adding Perl scripts (ATM add -i and remote) that I have to convert
>>> later...
>>
>> I don't see what this is good for.
>
> What git-gui is good for? Its a GUI. For people who perfer to use
> mice and push buttons over keys and a command prompt. A large number
> of people in this world (many of them on Windows) like these things.
> Me, I'm more command line than I am GUI, yet I develop git-gui.
> So I find myself using it a lot, just so I can eat my own dogfood.
>
> Or do you mean Dscho's other point about rewriting tools into C?
>
>> I would suggest to making a clear
>> decision of what are recommended languages, and move everything else
>> to contrib/ .. Currently, C and bash seem the most reasonable choice,
>> but you could decide for perl, but then the consequence should be that
>> the bash scripts are translated into perl. Having both bash and perl
>> serves no purpose, and will lead to duplication of library code to
>> interact with the git binary.
Well, that really doesn't make much sense from the Linux POV. Bash, perl
and C are all well supported languages, each with its own set of
strengths. The tools that are being written are true parts of git - not
optional contributed bolt-ons.
Admittedly it would probably increase the motivation to make everything
built in if only C programs were allowed outside of contrib - but git
would probably have not got where it is in that case.
> Sure, but there's some stuff that shell is good at, and other stuff
> that Perl is good at. Forcing everything into one mold while we
> prototype new features is really limiting.
>
> But both are slower on fork challenged systems than using native C.
> Look at git-fetch for example; my ~400+ branch repository is taking
> upwards of 5 minutes to run a no-argument, no-changes git-fetch in.
> All sh and fork overhead.
I have a repo with ~9000 refs - it's what motivated me to start rewriting
fetch in C ...
times for fetch to decide there were no changes (on Linux, local XFS
disk):
pure-shell: ~45 mins
shell + C (fetch--tool): ~30 secs
pure C: ~0.5 secs
(the C version isn't the current version that Daniel has, but rather an
older incomplete version that I had got far enough to do that much - so
it may actually be slightly slower now ...)
--
Julian
---
If you want to travel around the world and be invited to speak at a lot of
different places, just write a Unix operating system.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 6:08 ` Henning Rogge
@ 2007-07-26 8:14 ` Andy Parkins
0 siblings, 0 replies; 69+ messages in thread
From: Andy Parkins @ 2007-07-26 8:14 UTC (permalink / raw)
To: git; +Cc: Henning Rogge
On Thursday 2007 July 26, Henning Rogge wrote:
> QGit might be a good alternative too, especially because QT4 is
> available for Windows.
I have a colleague using qgit4 on Windows with git on cygwin. Works very
well; and qgit being native rather than tcl/tk+cygwin makes it a lot faster.
I've also seen him using gitweb for browsing around my repository.
We've never lost data, and have had significantly more success using git
itself rather than git-cvsserver, which was a constant struggle.
Andy
--
Dr Andy Parkins, M Eng (hons), MIET
andyparkins@gmail.com
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 5:28 ` Johannes Schindelin
2007-07-26 5:56 ` Han-Wen Nienhuys
@ 2007-07-26 9:11 ` Robin Rosenberg
2007-07-26 10:35 ` Johannes Sixt
1 sibling, 1 reply; 69+ messages in thread
From: Robin Rosenberg @ 2007-07-26 9:11 UTC (permalink / raw)
To: Johannes Schindelin
Cc: Junio C Hamano, Shawn O. Pearce, Dmitry Kakurin,
Nguyen Thai Ngoc Duy, git
torsdag 26 juli 2007 skrev Johannes Schindelin:
> Hi,
>
> On Wed, 25 Jul 2007, Junio C Hamano wrote:
>
> > If that is the case, "Git for Windows" probably should package MSYS as
> > part of it, I would think, to match the expectation of the users there.
> > I know two Johannes'es and Han-Wen spent quite a lot of effort on
> > Windows port and packaging, but perhaps that little (well, I should not
> > be judging if that is a little or huge, as I do not do Windows)
> > finishing touch would make Windows users much happier?
>
> Windows users are only happy when they can bug developers.
>
> Seriously again, the biggest problem with Han-Wen's installer was that it
> insists on cross-compiling _all_ the packages. This makes it easy for
> Han-Wen to upgrade packages and compile the thing on Linux in one go.
> However, it never worked with bash, and I could not fix it: I can read
> Python, but not _that_ Python.
Will windows developers need to get Linux just in order to do a two line fix,
or will the build process work on Windows too (provided the developer gets
a number of extra packages).
-- robin
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 18:43 ` Linus Torvalds
2007-07-25 22:52 ` Wincent Colaiuta
@ 2007-07-26 9:30 ` Marius Storm-Olsen
1 sibling, 0 replies; 69+ messages in thread
From: Marius Storm-Olsen @ 2007-07-26 9:30 UTC (permalink / raw)
To: Linus Torvalds; +Cc: Stephen Cuppett, Steffen Prohaska, git
[-- Attachment #1: Type: text/plain, Size: 2253 bytes --]
Linus Torvalds said the following on 25.07.2007 20:43:
> On Wed, 25 Jul 2007, Stephen Cuppett wrote:
>> I don't know if the performance problems are cygwin or not. More
>> knowledgeable people might be able to answer, it's just what I'm
>> observing right now. It could be more fundamental to the types
>> of access being performed en masse on inode-based versus NTFS
>> systems.
>
> I think cygwin may add some overhead, but people should really
> realize that Linux is quite often an order of magnitude faster (or
> more) than other systems on some very basic operations.
>
(..snip..)
>
> (It will just not be so *blazingly* fast, ie things like "git
> status" will generally not be instantaneous).
Let me present some numbers:
My repository is ~680MB, and 19323 tracked files, in 2264 directories.
When in a compiled state the total is 27540 files, in 4885 directories.
When file system cache is warm, I get the following times:
Native: dir /B /S 1.077s
dir /S 1.707s (shows time, size/type)
MSys: ls -f1AUR 34.608s
find . -type f 6.718s
git diff (empty diff) 1.18s
git status 5.5s
and when the system cach is cold:
git status 54.55s
Maybe you guys have other git commands which are also/more interesting
to look at/benchmark?
Windows people should also be aware that it's possible to tweak the
amount of memory which the OS uses for the file cache. On XP you can
change it _roughly_ in System Properties panel (Right-click on My
Computer), then Advanced - Performance Settings - Advanced -
Memory Usage:
Normal setting is "Programs" for non-servers Windows systems, while
you can select "System cache" make the OS allocate more memory for
the system caches. I've tried both, and the setting doesn't really
affect the file operations much when the cache is warm, but it
probably affects how long the cache stays warm.
Also note that you can use Sysinternal's CacheSet (free), to
manipulate the working-set parameters of the system file cache.
You'll find that here:
http://www.microsoft.com/technet/sysinternals/FileAndDisk/CacheSet.mspx
--
.marius
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 187 bytes --]
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 6:53 ` Shawn O. Pearce
@ 2007-07-26 9:41 ` Marius Storm-Olsen
2007-07-26 9:44 ` Marius Storm-Olsen
0 siblings, 1 reply; 69+ messages in thread
From: Marius Storm-Olsen @ 2007-07-26 9:41 UTC (permalink / raw)
To: Shawn O. Pearce; +Cc: Steffen Prohaska, Dmitry Kakurin, Steven Grimm, git
[-- Attachment #1: Type: text/plain, Size: 892 bytes --]
>> * Be careful with the case in filenames. Similarly, avoid
>> special chars in filenames.
>
> This is true. Git doesn't like getting file names with case only
> differences on such a platform. E.g. just today I wanted to do the
> following:
>
> git mv foo.c Foo.c
>
> but had to instead do:
>
> git mv foo.c CRAP && git mv CRAP Foo.c
>
> because the former won't work on a filesystem that ignores case. I
> have the same problem on my Mac OS X HFS+ volume as it also ignores
> case.
You can turn off case-insensitivity in the Windows kernel, by
using RegEdit, and setting the following registry key to 0:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\obcaseinsensitive
I haven't tried it, but it should help your case above. Just keep
in mind that you can then check in files which your coworkers can't
checkout :-)
--
.marius
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 187 bytes --]
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 9:41 ` Marius Storm-Olsen
@ 2007-07-26 9:44 ` Marius Storm-Olsen
0 siblings, 0 replies; 69+ messages in thread
From: Marius Storm-Olsen @ 2007-07-26 9:44 UTC (permalink / raw)
To: Shawn O. Pearce; +Cc: Steffen Prohaska, Dmitry Kakurin, Steven Grimm, git
[-- Attachment #1: Type: text/plain, Size: 511 bytes --]
> You can turn off case-insensitivity in the Windows kernel, by using
> RegEdit, and setting the following registry key to 0:
>
> HKLM\SYSTEM\CurrentControlSet\Control\Session
> Manager\kernel\obcaseinsensitive
>
> I haven't tried it, but it should help your case above. Just keep
> in mind that you can then check in files which your coworkers can't
> checkout :-)
PS: You'll have to reboot for it to take effect, and don't blame _me_
if it doesn't reboot successfully! ;-)
--
.marius
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 187 bytes --]
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 9:11 ` Robin Rosenberg
@ 2007-07-26 10:35 ` Johannes Sixt
0 siblings, 0 replies; 69+ messages in thread
From: Johannes Sixt @ 2007-07-26 10:35 UTC (permalink / raw)
To: git
Robin Rosenberg wrote:
> torsdag 26 juli 2007 skrev Johannes Schindelin:
> > Seriously again, the biggest problem with Han-Wen's installer was that it
> > insists on cross-compiling _all_ the packages. This makes it easy for
> > Han-Wen to upgrade packages and compile the thing on Linux in one go.
> > However, it never worked with bash, and I could not fix it: I can read
> > Python, but not _that_ Python.
>
> Will windows developers need to get Linux just in order to do a two line fix,
> or will the build process work on Windows too (provided the developer gets
> a number of extra packages).
The build process works on Windows, too. That's how I do it.
README.MinGW lists the packages that you need.
-- Hannes
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 7:02 ` Han-Wen Nienhuys
2007-07-26 7:13 ` Shawn O. Pearce
@ 2007-07-26 11:29 ` Nguyen Thai Ngoc Duy
2007-07-26 12:21 ` Christian MICHON
1 sibling, 1 reply; 69+ messages in thread
From: Nguyen Thai Ngoc Duy @ 2007-07-26 11:29 UTC (permalink / raw)
To: hanwen
Cc: Johannes Schindelin, git, Junio C Hamano, Shawn O. Pearce,
Dmitry Kakurin
On 7/26/07, Han-Wen Nienhuys <hanwenn@gmail.com> wrote:
> 2007/7/25, Johannes Schindelin <Johannes.Schindelin@gmx.de>:
> > Hi,
> >
> > [Funny, you quoted me, but culled _me_ from the Cc: list]
>
> It's because gmane does not do SMTP
>
> > > If you supply me with a shell script that will x-compile bash, I'll
> > > hapily code the python spec. IMO the real problem is that bash is a unix
> > > shell (tied to unix internals) and therefore, compiling it for something
> > > as horrid as windows is far from trivial.
> >
> > Will do.
> >
> > Did you succeed in adding perl?
>
> God forbid no. Perl is enormous, and I shudder at the thought of
> making all those modules compile, or even worse, writing actual perl
> code.
microperl [1] maybe? I haven't tried it yet.
[1] http://www.foo.be/docs/tpj/issues/vol5_3/tpj0503-0003.html
--
Duy
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 11:29 ` Nguyen Thai Ngoc Duy
@ 2007-07-26 12:21 ` Christian MICHON
2007-07-26 12:37 ` Nguyen Thai Ngoc Duy
0 siblings, 1 reply; 69+ messages in thread
From: Christian MICHON @ 2007-07-26 12:21 UTC (permalink / raw)
To: Nguyen Thai Ngoc Duy
Cc: hanwen, Johannes Schindelin, git, Junio C Hamano, Shawn O. Pearce,
Dmitry Kakurin
On 7/26/07, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
> microperl [1] maybe? I haven't tried it yet.
>
it won't work. I tried that few months back.
plus the fact you'll still need perl modules.
I just had a look at your gitbox gitweb. Did you really manage
to get busybox-1.6.1 to work with mingw ?
--
Christian
--
http://detaolb.sourceforge.net/, a linux distribution for Qemu
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 12:21 ` Christian MICHON
@ 2007-07-26 12:37 ` Nguyen Thai Ngoc Duy
2007-07-26 14:37 ` Johannes Schindelin
0 siblings, 1 reply; 69+ messages in thread
From: Nguyen Thai Ngoc Duy @ 2007-07-26 12:37 UTC (permalink / raw)
To: Christian MICHON
Cc: hanwen, Johannes Schindelin, git, Junio C Hamano, Shawn O. Pearce,
Dmitry Kakurin
On 7/26/07, Christian MICHON <christian.michon@gmail.com> wrote:
> On 7/26/07, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
> > microperl [1] maybe? I haven't tried it yet.
> >
>
> it won't work. I tried that few months back.
>
> plus the fact you'll still need perl modules.
>
> I just had a look at your gitbox gitweb. Did you really manage
> to get busybox-1.6.1 to work with mingw ?
Most of tools (that are included) work fine. Ash almost works. It can
run git status, git commit, git clone.. and most of test cases. There
are still some missing pieces and bugs to hunt down though.
--
Duy
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 14:15 ` Nguyen Thai Ngoc Duy
2007-07-25 17:13 ` Johannes Schindelin
@ 2007-07-26 13:00 ` Christian MICHON
2007-07-26 13:20 ` Nguyen Thai Ngoc Duy
1 sibling, 1 reply; 69+ messages in thread
From: Christian MICHON @ 2007-07-26 13:00 UTC (permalink / raw)
To: Nguyen Thai Ngoc Duy; +Cc: Johannes Schindelin, git
On 7/25/07, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
> On 7/25/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > Hi,
> >
> > On Wed, 25 Jul 2007, Nguyen Thai Ngoc Duy wrote:
> >
> > > FYI, I'm working on getting rid of msys requirement from mingw port. I
> > > can't tell you how long it would take though. Could be one month or two.
> >
> > Is there a repo out there?
>
> http://repo.or.cz/w/git/pclouds.git?a=shortlog;h=gitbox
>
> There are some patches on mob I have not merged to gitbox branch yet.
>
beautiful piece of work, IMHO. I really like the fact you managed some
busybox applets to actually work without msys. Really cool idea!
it seems you're not very far off. I believe you intend to replace in git-commit
"#!c:/msys/bin/sh" with something like "#!c:/gitbox/bin/gitbox ash", right ?
--
Christian
--
http://detaolb.sourceforge.net/, a linux distribution for Qemu
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 13:00 ` Christian MICHON
@ 2007-07-26 13:20 ` Nguyen Thai Ngoc Duy
2007-07-26 13:32 ` Christian MICHON
0 siblings, 1 reply; 69+ messages in thread
From: Nguyen Thai Ngoc Duy @ 2007-07-26 13:20 UTC (permalink / raw)
To: Christian MICHON; +Cc: Johannes Schindelin, git
On 7/26/07, Christian MICHON <christian.michon@gmail.com> wrote:
> On 7/25/07, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
> > On 7/25/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > > Hi,
> > >
> > > On Wed, 25 Jul 2007, Nguyen Thai Ngoc Duy wrote:
> > >
> > > > FYI, I'm working on getting rid of msys requirement from mingw port. I
> > > > can't tell you how long it would take though. Could be one month or two.
> > >
> > > Is there a repo out there?
> >
> > http://repo.or.cz/w/git/pclouds.git?a=shortlog;h=gitbox
> >
> > There are some patches on mob I have not merged to gitbox branch yet.
> >
>
> beautiful piece of work, IMHO. I really like the fact you managed some
> busybox applets to actually work without msys. Really cool idea!
>
> it seems you're not very far off. I believe you intend to replace in git-commit
> "#!c:/msys/bin/sh" with something like "#!c:/gitbox/bin/gitbox ash", right ?
No. I tweaked try_shell_exec() to use gitbox shell if the interpreter is "sh".
--
Duy
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 13:20 ` Nguyen Thai Ngoc Duy
@ 2007-07-26 13:32 ` Christian MICHON
2007-07-26 13:55 ` Nguyen Thai Ngoc Duy
0 siblings, 1 reply; 69+ messages in thread
From: Christian MICHON @ 2007-07-26 13:32 UTC (permalink / raw)
To: Nguyen Thai Ngoc Duy; +Cc: Johannes Schindelin, git
On 7/26/07, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
> On 7/26/07, Christian MICHON <christian.michon@gmail.com> wrote:
> > it seems you're not very far off. I believe you intend to replace in git-commit
> > "#!c:/msys/bin/sh" with something like "#!c:/gitbox/bin/gitbox ash", right ?
>
> No. I tweaked try_shell_exec() to use gitbox shell if the interpreter is "sh".
>
interesting. have you tried inserting busybox vi inside git-box ?
I can commit using "git commit -a -m ok", but then I get this kind of
error message (and ash dies, I go back to xp/cmd prompt)
mv: cannot rename '.git/next-index4540': File exists
C:/gitbox/bin/git-commit: exit: line 658: Illegal number: -1
nice piece of work. it could really be tiny once fixed.
I suggest to replace most git-* by git-box/ash shell wrappers,
calling the git.exe binary directly.
--
Christian
--
http://detaolb.sourceforge.net/, a linux distribution for Qemu
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 13:32 ` Christian MICHON
@ 2007-07-26 13:55 ` Nguyen Thai Ngoc Duy
2007-07-26 15:25 ` Johannes Sixt
0 siblings, 1 reply; 69+ messages in thread
From: Nguyen Thai Ngoc Duy @ 2007-07-26 13:55 UTC (permalink / raw)
To: Christian MICHON; +Cc: Johannes Schindelin, git
On 7/26/07, Christian MICHON <christian.michon@gmail.com> wrote:
> On 7/26/07, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
> > On 7/26/07, Christian MICHON <christian.michon@gmail.com> wrote:
> > > it seems you're not very far off. I believe you intend to replace in git-commit
> > > "#!c:/msys/bin/sh" with something like "#!c:/gitbox/bin/gitbox ash", right ?
> >
> > No. I tweaked try_shell_exec() to use gitbox shell if the interpreter is "sh".
> >
>
> interesting. have you tried inserting busybox vi inside git-box ?
Not yet. That would be fun but I rather focus on ash in the moment.
You could set EDITOR to notepad or something else.
> I can commit using "git commit -a -m ok", but then I get this kind of
> error message (and ash dies, I go back to xp/cmd prompt)
>
> mv: cannot rename '.git/next-index4540': File exists
Baah.. something goes wrong again.
> C:/gitbox/bin/git-commit: exit: line 658: Illegal number: -1
>
> nice piece of work. it could really be tiny once fixed.
Um.. that "Illegal number" might be an ash bug. Intended to fix it but
then forgot :(
>
> I suggest to replace most git-* by git-box/ash shell wrappers,
> calling the git.exe binary directly.
Cool. Will do.
> --
> Christian
> --
> http://detaolb.sourceforge.net/, a linux distribution for Qemu
>
--
Duy
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 12:37 ` Nguyen Thai Ngoc Duy
@ 2007-07-26 14:37 ` Johannes Schindelin
2007-07-26 15:07 ` Nguyen Thai Ngoc Duy
0 siblings, 1 reply; 69+ messages in thread
From: Johannes Schindelin @ 2007-07-26 14:37 UTC (permalink / raw)
To: Nguyen Thai Ngoc Duy; +Cc: git
Hi,
On Thu, 26 Jul 2007, Nguyen Thai Ngoc Duy wrote:
> On 7/26/07, Christian MICHON <christian.michon@gmail.com> wrote:
> > On 7/26/07, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
> > > microperl [1] maybe? I haven't tried it yet.
> > >
> >
> > it won't work. I tried that few months back.
> >
> > plus the fact you'll still need perl modules.
> >
> > I just had a look at your gitbox gitweb. Did you really manage
> > to get busybox-1.6.1 to work with mingw ?
>
> Most of tools (that are included) work fine. Ash almost works. It can
> run git status, git commit, git clone.. and most of test cases. There
> are still some missing pieces and bugs to hunt down though.
Thank you for working on this!
However, I am not completely convinced that having a builtin shell is all
that useful. I for one would like to have MinGW busybox _separate_ from
git...
Yes, you could not use the nice "ln -s busybox ash" idiom, since Windows
lacks symlinks, but you could still say "busybox ash" with a relatively
small, single executable.
Ciao,
Dscho
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 14:37 ` Johannes Schindelin
@ 2007-07-26 15:07 ` Nguyen Thai Ngoc Duy
2007-07-26 15:43 ` Johannes Schindelin
2007-07-26 16:58 ` Marius Storm-Olsen
0 siblings, 2 replies; 69+ messages in thread
From: Nguyen Thai Ngoc Duy @ 2007-07-26 15:07 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: git
On 7/26/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> Hi,
>
> On Thu, 26 Jul 2007, Nguyen Thai Ngoc Duy wrote:
>
> > On 7/26/07, Christian MICHON <christian.michon@gmail.com> wrote:
> > > On 7/26/07, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
> > > > microperl [1] maybe? I haven't tried it yet.
> > > >
> > >
> > > it won't work. I tried that few months back.
> > >
> > > plus the fact you'll still need perl modules.
> > >
> > > I just had a look at your gitbox gitweb. Did you really manage
> > > to get busybox-1.6.1 to work with mingw ?
> >
> > Most of tools (that are included) work fine. Ash almost works. It can
> > run git status, git commit, git clone.. and most of test cases. There
> > are still some missing pieces and bugs to hunt down though.
>
> Thank you for working on this!
>
> However, I am not completely convinced that having a builtin shell is all
> that useful. I for one would like to have MinGW busybox _separate_ from
> git...
I make MinGW busybox part of git for some reasons:
- Making a full MinGW busybox would take lots of time. I don't need
busybox for Windows. What I need is a shell and enough POSIX utilities
to run git shell scripts without any dependencies. Windows users
(including myself when I have to use Windows) hate dependencies.
- I don't want MinGW busybox to be used outside of git (if it is
installed separated from git), there are cygwin and msys already. I
don't want to compete them. And I don't like conflicts (not sure
though) because you have multiple UNIX emulations on the same system.
- Making ash part of git has an advantage that you could tune the
shell to fit git. Earlier you had to replace find/sort with
/usr/bin/find and /usr/bin/sort in git scripts to avoid Windows
alternatives. I don't like that. If you have control over the shell,
you could make it ignore whatever program out there and use your own
ones. This one is not a strong point though.
- MinGW busybox (or gitbox as I call it now) utilizes compat/mingw.c
and other stuff like run-command.c... Making it separate (as source
code) duplicates code for nothing.
- If you meant separating from git.exe binary, not from source code,
then it's ok.
>
> Yes, you could not use the nice "ln -s busybox ash" idiom, since Windows
> lacks symlinks, but you could still say "busybox ash" with a relatively
> small, single executable.
>
> Ciao,
> Dscho
>
>
--
Duy
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 13:55 ` Nguyen Thai Ngoc Duy
@ 2007-07-26 15:25 ` Johannes Sixt
0 siblings, 0 replies; 69+ messages in thread
From: Johannes Sixt @ 2007-07-26 15:25 UTC (permalink / raw)
To: git; +Cc: Johannes Schindelin, Christian MICHON
Nguyen Thai Ngoc Duy wrote:
>
> On 7/26/07, Christian MICHON <christian.michon@gmail.com> wrote:
> > I can commit using "git commit -a -m ok", but then I get this kind of
> > error message (and ash dies, I go back to xp/cmd prompt)
> >
> > mv: cannot rename '.git/next-index4540': File exists
>
> Baah.. something goes wrong again.
The problem is likely that rename() of MSCVRT.DLL is implemented in
terms of MoveFile(), which can't move over an existing file. A wrapper
is needed that uses MoveFileEx() instead.
We have the same problem also in git-apply: One of the tests fails for
this reason.
-- Hannes
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 15:07 ` Nguyen Thai Ngoc Duy
@ 2007-07-26 15:43 ` Johannes Schindelin
2007-07-26 16:11 ` Nguyen Thai Ngoc Duy
2007-07-26 16:58 ` Marius Storm-Olsen
1 sibling, 1 reply; 69+ messages in thread
From: Johannes Schindelin @ 2007-07-26 15:43 UTC (permalink / raw)
To: Nguyen Thai Ngoc Duy; +Cc: git
Hi,
On Thu, 26 Jul 2007, Nguyen Thai Ngoc Duy wrote:
> I make MinGW busybox part of git for some reasons:
>
> - Making a full MinGW busybox would take lots of time. I don't need
> busybox for Windows. What I need is a shell and enough POSIX utilities
> to run git shell scripts without any dependencies. Windows users
> (including myself when I have to use Windows) hate dependencies.
I think that if you succeed to compile ash on MinGW, the rest is easy.
> - I don't want MinGW busybox to be used outside of git (if it is
> installed separated from git), there are cygwin and msys already. I
> don't want to compete them. And I don't like conflicts (not sure
> though) because you have multiple UNIX emulations on the same system.
But you'd be my hero.
Installing Cygwin is often overkill if all I need is just a tiny shell
with just enough POSIX tools to run my scripts.
Installing MinGW is painful. Not because of MinGW, but because there is
no single installer for all I want. You need to install MinGW, MSYS, MSYS
DTK, iconv, bash (because the default is to old), etc. etc.
With busybox it would be busybox.exe.
> - Making ash part of git has an advantage that you could tune the
> shell to fit git. Earlier you had to replace find/sort with
> /usr/bin/find and /usr/bin/sort in git scripts to avoid Windows
> alternatives. I don't like that. If you have control over the shell,
> you could make it ignore whatever program out there and use your own
> ones. This one is not a strong point though.
I doubt that this is useful. We do want to support the other systems as
well, so we have to kinda stick with the available workarounds.
> - MinGW busybox (or gitbox as I call it now) utilizes compat/mingw.c
> and other stuff like run-command.c... Making it separate (as source
> code) duplicates code for nothing.
It is not duplication. It is forking. Which is a good thing.
> - If you meant separating from git.exe binary, not from source code,
> then it's ok.
Yes. Although I see your point in making it a builtin "git-ash" that can
be called without an extra fork(), using beginthread instead.
Ciao,
Dscho
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 15:43 ` Johannes Schindelin
@ 2007-07-26 16:11 ` Nguyen Thai Ngoc Duy
2007-07-26 18:13 ` David Kastrup
2007-07-26 18:18 ` Johannes Schindelin
0 siblings, 2 replies; 69+ messages in thread
From: Nguyen Thai Ngoc Duy @ 2007-07-26 16:11 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: git
On 7/26/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> Hi,
>
> On Thu, 26 Jul 2007, Nguyen Thai Ngoc Duy wrote:
>
> > I make MinGW busybox part of git for some reasons:
> >
> > - Making a full MinGW busybox would take lots of time. I don't need
> > busybox for Windows. What I need is a shell and enough POSIX utilities
> > to run git shell scripts without any dependencies. Windows users
> > (including myself when I have to use Windows) hate dependencies.
>
> I think that if you succeed to compile ash on MinGW, the rest is easy.
No it's not. With a couple of ifdefs you can compile it fine. Then
there goes fork(), fcntl(F_DUPFD), /dev/*, job/signal handling...
Fortunately Git does not use lots of features. It only needs /dev/null
(and /dev/zero for tests), SIGEXIT and no job usage.. That cuts down
the effort porting ash.
> > - I don't want MinGW busybox to be used outside of git (if it is
> > installed separated from git), there are cygwin and msys already. I
> > don't want to compete them. And I don't like conflicts (not sure
> > though) because you have multiple UNIX emulations on the same system.
>
> But you'd be my hero.
Can't say I don't love to ;-) It's just that I don't have enough time.
Once project "busybox for Windows" is born, people may scream for
features. Even if they don't, there are still bunch of work because I
have only ported a small number of tools. With Git as its sole
customer, I can beg Git contributors to limit POSIX tools that they
use.
But if someone steps up for the project, I'm all for it.
> Installing Cygwin is often overkill if all I need is just a tiny shell
> with just enough POSIX tools to run my scripts.
I see your point. Although you can install git and have git-box to
play with (oh spread git! lolz) Just keep in mind you don't have all
POSIX tools.
> > - MinGW busybox (or gitbox as I call it now) utilizes compat/mingw.c
> > and other stuff like run-command.c... Making it separate (as source
> > code) duplicates code for nothing.
>
> It is not duplication. It is forking. Which is a good thing.
I still don't see why duplicating compat/*, git-compat-util.h,
run-command.[ch]... and keeping fixing bugs in two places is a good
thing.
--
Duy
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 15:07 ` Nguyen Thai Ngoc Duy
2007-07-26 15:43 ` Johannes Schindelin
@ 2007-07-26 16:58 ` Marius Storm-Olsen
2007-07-26 19:43 ` Nguyen Thai Ngoc Duy
1 sibling, 1 reply; 69+ messages in thread
From: Marius Storm-Olsen @ 2007-07-26 16:58 UTC (permalink / raw)
To: Nguyen Thai Ngoc Duy; +Cc: git, Johannes Schindelin
[-- Attachment #1: Type: text/plain, Size: 1305 bytes --]
Nguyen Thai Ngoc Duy wrote:
> On 7/26/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
>> Thank you for working on this!
>>
>> However, I am not completely convinced that having a builtin shell is all
>> that useful. I for one would like to have MinGW busybox _separate_ from
>> git...
>
> I make MinGW busybox part of git for some reasons:
>
> - Making a full MinGW busybox would take lots of time. I don't need
> busybox for Windows. What I need is a shell and enough POSIX utilities
> to run git shell scripts without any dependencies. Windows users
> (including myself when I have to use Windows) hate dependencies.
> - I don't want MinGW busybox to be used outside of git (if it is
> installed separated from git), there are cygwin and msys already. I
> don't want to compete them. And I don't like conflicts (not sure
> though) because you have multiple UNIX emulations on the same system.
(..snip..)
Hi Duy,
*drool*
This was an extremely good idea! Thank you so much for working on it!
I'll be sure to play around with it, and see if there's any way I can
help out. Guess I finally have to get that MinGW compile environment set
up then :-)
Btw, are you compiling with MinGW on Windows, or cross-compiling on Linux?
Neat neat neat!
--
.marius
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 187 bytes --]
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 16:11 ` Nguyen Thai Ngoc Duy
@ 2007-07-26 18:13 ` David Kastrup
2007-07-26 19:39 ` Nguyen Thai Ngoc Duy
2007-07-26 18:18 ` Johannes Schindelin
1 sibling, 1 reply; 69+ messages in thread
From: David Kastrup @ 2007-07-26 18:13 UTC (permalink / raw)
To: Nguyen Thai Ngoc Duy; +Cc: Johannes Schindelin, git
"Nguyen Thai Ngoc Duy" <pclouds@gmail.com> writes:
> On 7/26/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
>> Hi,
>>
>> On Thu, 26 Jul 2007, Nguyen Thai Ngoc Duy wrote:
>>
>> > I make MinGW busybox part of git for some reasons:
>> >
>> > - Making a full MinGW busybox would take lots of time. I don't need
>> > busybox for Windows. What I need is a shell and enough POSIX utilities
>> > to run git shell scripts without any dependencies. Windows users
>> > (including myself when I have to use Windows) hate dependencies.
>>
>> I think that if you succeed to compile ash on MinGW, the rest is easy.
>
> No it's not. With a couple of ifdefs you can compile it fine. Then
> there goes fork(), fcntl(F_DUPFD), /dev/*, job/signal handling...
> Fortunately Git does not use lots of features. It only needs
> /dev/null (and /dev/zero for tests), SIGEXIT and no job usage.. That
> cuts down the effort porting ash.
And here I was tempted to multithread builtin-update-index.c: it is
actually quite natural to let one process scan directories
non-recursively, stat the files, sort them on a per-directory grain
and feed a sorted pseudo-index into a pipeline (recursing to scanning
whenever hitting a directory), then let another process/thread do a
merge-pass of pseudo-index and real index, immediately writing the
output to a new index-to-be. When this is finished and another
process invalidated the old index already, reuse the index-to-be as
pseudo-index and merge it with the new-index-which-got-in-ahead-of-me.
Would be a fun exercise in particular when merely using
(block-buffered!) pipes, and could presumably make a difference on
multiprocessor-capable machines.
Anyway, just something that had been spinning in my head. The
"streaming merge" idea has the advantage of keeping memory usage low
pretty much independently of project size: project memory is pretty
much determined by the reader pass since it has to read in a complete
directory level before it can sort it and output the next element, and
it has to retain the not-yet-output elements of the ancestry.
And it is nice to have some potential for parallel processing. But if
it is a lethal stumbling block for Windows... It is conceivable to do
the same job instead of with pipes and files with buffers and just
switch manually between the directory scanning and merging phases.
But it would be less fun.
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 16:11 ` Nguyen Thai Ngoc Duy
2007-07-26 18:13 ` David Kastrup
@ 2007-07-26 18:18 ` Johannes Schindelin
1 sibling, 0 replies; 69+ messages in thread
From: Johannes Schindelin @ 2007-07-26 18:18 UTC (permalink / raw)
To: Nguyen Thai Ngoc Duy; +Cc: git
Hi,
On Thu, 26 Jul 2007, Nguyen Thai Ngoc Duy wrote:
> On 7/26/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> >
> > Earlier, Nguyen Thai Ngoc Duy wrote:
>
> > > - MinGW busybox (or gitbox as I call it now) utilizes compat/mingw.c
> > > and other stuff like run-command.c... Making it separate (as source
> > > code) duplicates code for nothing.
> >
> > It is not duplication. It is forking. Which is a good thing.
>
> I still don't see why duplicating compat/*, git-compat-util.h,
> run-command.[ch]... and keeping fixing bugs in two places is a good
> thing.
Actually, it would pretty easy to set up a tracking script with Git, I
guess. But I can look into that once you finished your gitbox.
Thanks for doing it BTW...
Ciao,
Dscho
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 18:13 ` David Kastrup
@ 2007-07-26 19:39 ` Nguyen Thai Ngoc Duy
2007-07-26 20:04 ` David Kastrup
0 siblings, 1 reply; 69+ messages in thread
From: Nguyen Thai Ngoc Duy @ 2007-07-26 19:39 UTC (permalink / raw)
To: David Kastrup; +Cc: Johannes Schindelin, git
On 7/26/07, David Kastrup <dak@gnu.org> wrote:
> "Nguyen Thai Ngoc Duy" <pclouds@gmail.com> writes:
>
> > On 7/26/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> >> Hi,
> >>
> >> On Thu, 26 Jul 2007, Nguyen Thai Ngoc Duy wrote:
> >>
> >> > I make MinGW busybox part of git for some reasons:
> >> >
> >> > - Making a full MinGW busybox would take lots of time. I don't need
> >> > busybox for Windows. What I need is a shell and enough POSIX utilities
> >> > to run git shell scripts without any dependencies. Windows users
> >> > (including myself when I have to use Windows) hate dependencies.
> >>
> >> I think that if you succeed to compile ash on MinGW, the rest is easy.
> >
> > No it's not. With a couple of ifdefs you can compile it fine. Then
> > there goes fork(), fcntl(F_DUPFD), /dev/*, job/signal handling...
> > Fortunately Git does not use lots of features. It only needs
> > /dev/null (and /dev/zero for tests), SIGEXIT and no job usage.. That
> > cuts down the effort porting ash.
>
> And here I was tempted to multithread builtin-update-index.c: it is
> actually quite natural to let one process scan directories
> non-recursively, stat the files, sort them on a per-directory grain
> and feed a sorted pseudo-index into a pipeline (recursing to scanning
> whenever hitting a directory), then let another process/thread do a
> merge-pass of pseudo-index and real index, immediately writing the
> output to a new index-to-be. When this is finished and another
> process invalidated the old index already, reuse the index-to-be as
> pseudo-index and merge it with the new-index-which-got-in-ahead-of-me.
>
(snip)
If you are going to do it. I suggest to base on official mingw branch.
I haven't looked at builtin-update-index.c (hey, I'm all doing sh
scripts these days) so no comments here.
--
Duy
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 16:58 ` Marius Storm-Olsen
@ 2007-07-26 19:43 ` Nguyen Thai Ngoc Duy
2007-07-26 20:02 ` Christian MICHON
0 siblings, 1 reply; 69+ messages in thread
From: Nguyen Thai Ngoc Duy @ 2007-07-26 19:43 UTC (permalink / raw)
To: Marius Storm-Olsen; +Cc: git, Johannes Schindelin
On 7/26/07, Marius Storm-Olsen <marius@trolltech.com> wrote:
> Nguyen Thai Ngoc Duy wrote:
> > On 7/26/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> >> Thank you for working on this!
> >>
> >> However, I am not completely convinced that having a builtin shell is all
> >> that useful. I for one would like to have MinGW busybox _separate_ from
> >> git...
> >
> > I make MinGW busybox part of git for some reasons:
> >
> > - Making a full MinGW busybox would take lots of time. I don't need
> > busybox for Windows. What I need is a shell and enough POSIX utilities
> > to run git shell scripts without any dependencies. Windows users
> > (including myself when I have to use Windows) hate dependencies.
> > - I don't want MinGW busybox to be used outside of git (if it is
> > installed separated from git), there are cygwin and msys already. I
> > don't want to compete them. And I don't like conflicts (not sure
> > though) because you have multiple UNIX emulations on the same system.
> (..snip..)
>
> Hi Duy,
>
> *drool*
> This was an extremely good idea! Thank you so much for working on it!
> I'll be sure to play around with it, and see if there's any way I can
> help out. Guess I finally have to get that MinGW compile environment set
> up then :-)
>
> Btw, are you compiling with MinGW on Windows, or cross-compiling on Linux?
I cross-compile all the time (and test it on Windows when I have one,
on the buggy Wine when not). I'd absolutely appreciate bug reports
regarding building it on Windows ;-)
--
Duy
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 19:43 ` Nguyen Thai Ngoc Duy
@ 2007-07-26 20:02 ` Christian MICHON
0 siblings, 0 replies; 69+ messages in thread
From: Christian MICHON @ 2007-07-26 20:02 UTC (permalink / raw)
To: Nguyen Thai Ngoc Duy; +Cc: Marius Storm-Olsen, git, Johannes Schindelin
On 7/26/07, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
> I cross-compile all the time (and test it on Windows when I have one,
> on the buggy Wine when not). I'd absolutely appreciate bug reports
> regarding building it on Windows ;-)
earlier on, when I reported a successful compilation and few problems
while committing, it was on XP. I'll be offline for the next 2 weeks,
but I can dedicate some time to your porting.
I second also what Dscho said. You'd be my hero too if porting
bbox over XP. Imagine "bbox + tcc + make + git"...
:)
--
Christian
--
http://detaolb.sourceforge.net/, a linux distribution for Qemu
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 19:39 ` Nguyen Thai Ngoc Duy
@ 2007-07-26 20:04 ` David Kastrup
0 siblings, 0 replies; 69+ messages in thread
From: David Kastrup @ 2007-07-26 20:04 UTC (permalink / raw)
To: Nguyen Thai Ngoc Duy; +Cc: Johannes Schindelin, git
"Nguyen Thai Ngoc Duy" <pclouds@gmail.com> writes:
> On 7/26/07, David Kastrup <dak@gnu.org> wrote:
>> "Nguyen Thai Ngoc Duy" <pclouds@gmail.com> writes:
>
>> > No it's not. With a couple of ifdefs you can compile it fine. Then
>> > there goes fork(), fcntl(F_DUPFD), /dev/*, job/signal handling...
>> > Fortunately Git does not use lots of features. It only needs
>> > /dev/null (and /dev/zero for tests), SIGEXIT and no job usage.. That
>> > cuts down the effort porting ash.
>>
>> And here I was tempted to multithread builtin-update-index.c: it is
>> actually quite natural to let one process scan directories
>> non-recursively, stat the files, sort them on a per-directory grain
>> and feed a sorted pseudo-index into a pipeline (recursing to scanning
>> whenever hitting a directory), then let another process/thread do a
>> merge-pass of pseudo-index and real index, immediately writing the
>> output to a new index-to-be. When this is finished and another
>> process invalidated the old index already, reuse the index-to-be as
>> pseudo-index and merge it with the new-index-which-got-in-ahead-of-me.
>>
> (snip)
>
> If you are going to do it. I suggest to base on official mingw
> branch.
Why would I do that? I am not using Windows. Since Windows NT was
flaunting threads big style years before Linux, I should not think
this implementation approach really to be a major porting hurdle, at
least if one indeed uses pipes for the IPC.
It should actually be doable with a clone system call or
pthread_create, whatever is easier to translate into Windows
semantics. The latter probably is more portable nowadays.
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-26 7:18 ` Han-Wen Nienhuys
@ 2007-07-26 21:39 ` Jakub Narebski
0 siblings, 0 replies; 69+ messages in thread
From: Jakub Narebski @ 2007-07-26 21:39 UTC (permalink / raw)
To: git
Han-Wen Nienhuys wrote:
> 2007/7/26, Shawn O. Pearce <spearce@spearce.org>:
>> Han-Wen Nienhuys <hanwenn@gmail.com> wrote:
>>> I would suggest to making a clear
>>> decision of what are recommended languages, and move everything else
>>> to contrib/ .. Currently, C and bash seem the most reasonable choice,
>>> but you could decide for perl, but then the consequence should be that
>>> the bash scripts are translated into perl. Having both bash and perl
>>> serves no purpose, and will lead to duplication of library code to
>>> interact with the git binary.
>>
>> Sure, but there's some stuff that shell is good at, and other stuff
>> that Perl is good at. Forcing everything into one mold while we
>> prototype new features is really limiting.
>
> I'm not contradicting that, but merely suggesting that they go into
> contrib/ and are not recommended as standard git commands, and don't
> need to be packaged for windows.
They can be not packaged for windows, but for example git-send-email
(which is written in Perl) is IMHO important enough to be in git proper
and not delegated to contrib/; but it is packaged in separate RPM,
git-email. Same with git-svn package...
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-07-25 10:40 ` Johannes Schindelin
@ 2007-08-02 6:57 ` Asger Ottar Alstrup
2007-08-02 10:45 ` Johannes Schindelin
0 siblings, 1 reply; 69+ messages in thread
From: Asger Ottar Alstrup @ 2007-08-02 6:57 UTC (permalink / raw)
To: git
Johannes Schindelin wrote:
> On Wed, 25 Jul 2007, Dmitry Kakurin wrote:
>
>> How serious are you guys about Windows support?
>
> Okay, let's talk business:
>
> Pay me decently, and you will have to wait for a few weeks.
I propose that you set up a fundable:
http://fundable.com/
This is a system where anyone can contribute money to the project, but
not have to pay unless the required amount of money has been contributed
in total.
Figure out your price, describe what you will deliver, and announce it.
Regards,
Asger Ottar Alstrup
^ permalink raw reply [flat|nested] 69+ messages in thread
* Re: Windows support
2007-08-02 6:57 ` Asger Ottar Alstrup
@ 2007-08-02 10:45 ` Johannes Schindelin
0 siblings, 0 replies; 69+ messages in thread
From: Johannes Schindelin @ 2007-08-02 10:45 UTC (permalink / raw)
To: Asger Ottar Alstrup; +Cc: git
Hi,
On Thu, 2 Aug 2007, Asger Ottar Alstrup wrote:
> Johannes Schindelin wrote:
> > On Wed, 25 Jul 2007, Dmitry Kakurin wrote:
> >
> > > How serious are you guys about Windows support?
> >
> > Okay, let's talk business:
> >
> > Pay me decently, and you will have to wait for a few weeks.
>
> I propose that you set up a fundable:
>
> http://fundable.com/
>
> This is a system where anyone can contribute money to the project, but not
> have to pay unless the required amount of money has been contributed in total.
>
> Figure out your price, describe what you will deliver, and announce it.
I am not that much interested in money, really. But I do want to get
something back in return for my efforts. And no, this does not include
whining and complaints.
It includes useful bug reports. It includes a willingness to keep working
with me until the bugs are fleshed out. It possibly includes making (and
maintaining!) an installer.
At the moment, I am happy to say that Git works for me. Even on Windows.
I have no problems with the command line, and both Cygwin and MinGW Git do
their job reliably and joyfully here.
But there might come a time when I get into a position much like Shawn,
when I have to work with Aunt and Uncle Tillies, who are not as
clueful and intelligent^W^W^Wused to the command line as I am.
So I want to exploit Open Source, meaning that I give _you_ something, and
_you_ give me something back. And that might very well be just a
suggestion "make the commit button stick out; I did not find it, since
there are so many buttons". Or a nice comic "how to use git". Also a
beer is appreciated. Or whatever.
My complaint "let's talk business" was some (frustrated) way to get the
attention of people who do _not_ give something back, and are astonished
that just complaining will not get them anywhere.
FWIW I just applied for the project "Git on MSys" on SourceForge. Let's
see how this will work out.
Oh, and I will _not_ do such a thing as think about what you might want,
and then proclaim what would be my price for it. You _know_ what you
want, so why don't you just tell me, as a detailed list?
Ciao,
Dscho
^ permalink raw reply [flat|nested] 69+ messages in thread
end of thread, other threads:[~2007-08-02 10:46 UTC | newest]
Thread overview: 69+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-25 10:35 Windows support Dmitry Kakurin
2007-07-25 10:40 ` Johannes Schindelin
2007-08-02 6:57 ` Asger Ottar Alstrup
2007-08-02 10:45 ` Johannes Schindelin
2007-07-25 11:12 ` Steven Grimm
2007-07-26 2:56 ` Dmitry Kakurin
2007-07-26 3:15 ` Shawn O. Pearce
2007-07-26 6:25 ` Steffen Prohaska
2007-07-26 6:53 ` Shawn O. Pearce
2007-07-26 9:41 ` Marius Storm-Olsen
2007-07-26 9:44 ` Marius Storm-Olsen
2007-07-26 5:11 ` Steven Grimm
2007-07-25 11:13 ` Steven Grimm
2007-07-25 12:13 ` Nguyen Thai Ngoc Duy
2007-07-25 14:10 ` Johannes Schindelin
2007-07-25 14:15 ` Nguyen Thai Ngoc Duy
2007-07-25 17:13 ` Johannes Schindelin
2007-07-26 13:00 ` Christian MICHON
2007-07-26 13:20 ` Nguyen Thai Ngoc Duy
2007-07-26 13:32 ` Christian MICHON
2007-07-26 13:55 ` Nguyen Thai Ngoc Duy
2007-07-26 15:25 ` Johannes Sixt
2007-07-26 2:26 ` Dmitry Kakurin
2007-07-26 3:06 ` Junio C Hamano
2007-07-26 3:18 ` Shawn O. Pearce
2007-07-26 4:30 ` Junio C Hamano
2007-07-26 5:28 ` Johannes Schindelin
2007-07-26 5:56 ` Han-Wen Nienhuys
2007-07-26 6:40 ` Johannes Schindelin
2007-07-26 7:02 ` Han-Wen Nienhuys
2007-07-26 7:13 ` Shawn O. Pearce
2007-07-26 7:18 ` Han-Wen Nienhuys
2007-07-26 21:39 ` Jakub Narebski
2007-07-26 7:52 ` Julian Phillips
2007-07-26 11:29 ` Nguyen Thai Ngoc Duy
2007-07-26 12:21 ` Christian MICHON
2007-07-26 12:37 ` Nguyen Thai Ngoc Duy
2007-07-26 14:37 ` Johannes Schindelin
2007-07-26 15:07 ` Nguyen Thai Ngoc Duy
2007-07-26 15:43 ` Johannes Schindelin
2007-07-26 16:11 ` Nguyen Thai Ngoc Duy
2007-07-26 18:13 ` David Kastrup
2007-07-26 19:39 ` Nguyen Thai Ngoc Duy
2007-07-26 20:04 ` David Kastrup
2007-07-26 18:18 ` Johannes Schindelin
2007-07-26 16:58 ` Marius Storm-Olsen
2007-07-26 19:43 ` Nguyen Thai Ngoc Duy
2007-07-26 20:02 ` Christian MICHON
2007-07-26 9:11 ` Robin Rosenberg
2007-07-26 10:35 ` Johannes Sixt
2007-07-26 3:38 ` Johannes Schindelin
2007-07-26 3:54 ` Dmitry Kakurin
2007-07-26 4:00 ` Shawn O. Pearce
2007-07-26 5:30 ` Johannes Schindelin
2007-07-26 6:08 ` Henning Rogge
2007-07-26 8:14 ` Andy Parkins
2007-07-25 12:30 ` Steffen Prohaska
2007-07-25 15:34 ` Noel Grandin
2007-07-26 6:46 ` Johannes Schindelin
2007-07-26 6:48 ` Junio C Hamano
2007-07-25 16:58 ` Stephen Cuppett
2007-07-25 17:56 ` Russ Dill
2007-07-25 19:04 ` Medve Emilian-EMMEDVE1
2007-07-25 19:13 ` Russ Dill
2007-07-25 18:43 ` Linus Torvalds
2007-07-25 22:52 ` Wincent Colaiuta
2007-07-26 9:30 ` Marius Storm-Olsen
2007-07-26 3:36 ` Shawn O. Pearce
2007-07-25 17:41 ` Daniel Barkalow
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).