On 7/26/07, Johannes Schindelin <Johannes.Schindelin@xxxxxx> 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 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html