Re: Windows support
- From
Nguyen Thai Ngoc Duy <pclouds@gmail.com>
- Date
- Jul 26, 2007, 16:11 UTC
- Message-ID
- <fcaeb9bf0707260911y4091b525kc6b89beb82ec7dc7@mail.gmail.com>
- In-Reply-To
- <Pine.LNX.4.64.0707261638100.14781@racer.site>
On 7/26/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
Show 12 quoted lines
> 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.
Show 6 quoted lines
> > - 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.
Show 5 quoted lines
> > - 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