{"thread":{"id":"18402","subject":"[PATCH] Define a version of lstat(2) with posix semantics","startedAt":"2009-03-19T10:27:12Z","lastAt":"2009-03-20T14:20:17Z","messageCount":13,"participants":["Alex Riesen","Johannes Schindelin","Junio C Hamano","Rogan Dawes"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"108505","messageId":"81b0412b0903190327l7745bf01i479fb84fae777af0@mail.gmail.com","threadId":"18402","inReplyTo":null,"subject":"[PATCH] Define a version of lstat(2) with posix semantics","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2009-03-19T10:27:12Z","receivedAt":"2009-03-19T10:27:12Z","isPatch":true,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"So that Cygwin port can continue work around its supporting\nlibrary and get access to its faked file attributes.\n\nSigned-off-by: Alex Riesen <raa.lkml@gmail.com>\n---\n\n2009/3/18 Junio C Hamano <gitster@pobox.com>:\n> Yuck; that's a bit too ugly for generic code.  Will there be other places\n> that this needs to be used?  If so, we'd probably need to encourage its\n> use where appropriate, which is even uglier but we cannot avoid it...\n\nYou are damn right! I suggest providing posix_lstat, which has the posix\nsemantics regarding x-bit in st_mode. Maybe even posix_stat is need, too.\n\nThere are other places which went broken recently in this regard (lstat\ncache patches?). Some will have to use this posix_lstat (the\ncopy_templates_1), the others have to get a careful core.filemode\nhandling (like check_remove in diff-lib.c, which isn't just about\nremoved files).\n\n git-compat-util.h |    5 +++++\n 1 files changed, 5 insertions(+), 0 deletions(-)\n\n\nFrom b0e3710e7e60d8f81bf252ff9987e17ece4a3be3 Mon Sep 17 00:00:00 2001\nFrom: Alex Riesen <raa.lkml@gmail.com>\nDate: Thu, 19 Mar 2009 11:17:01 +0100\nSubject: [PATCH] Define a version of lstat(2) with posix semantics\n\nSo that Cygwin port can continue work around its supporting\nlibrary and get access to its faked file attributes.\n\nSigned-off-by: Alex Riesen <raa.lkml@gmail.com>\n---\n git-compat-util.h |    5 +++++\n 1 files changed, 5 insertions(+), 0 deletions(-)\n\ndiff --git a/git-compat-util.h b/git-compat-util.h\nindex 1906253..2401f84 100644\n--- a/git-compat-util.h\n+++ b/git-compat-util.h\n@@ -85,11 +85,16 @@\n #undef _XOPEN_SOURCE\n #include <grp.h>\n #define _XOPEN_SOURCE 600\n+static inline int posix_lstat(const char *file_name, struct stat *buf)\n+{\n+\treturn lstat(file_name, buf);\n+}\n #include \"compat/cygwin.h\"\n #else\n #undef _ALL_SOURCE /* AIX 5.3L defines a struct list with _ALL_SOURCE. */\n #include <grp.h>\n #define _ALL_SOURCE 1\n+#define posix_lstat lstat\n #endif\n #else \t/* __MINGW32__ */\n /* pull in Windows compatibility stuff */\n-- \n1.6.2.142.gaf8db\n\n"},{"id":"108510","messageId":"alpine.DEB.1.00.0903191155300.10279@pacific.mpi-cbg.de","threadId":"18402","inReplyTo":"81b0412b0903190327l7745bf01i479fb84fae777af0@mail.gmail.com","subject":"Re: [PATCH] Define a version of lstat(2) with posix semantics","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-03-19T10:57:01Z","receivedAt":"2009-03-19T10:57:01Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 19 Mar 2009, Alex Riesen wrote:\n\n> So that Cygwin port can continue work around its supporting\n> library and get access to its faked file attributes.\n> \n> Signed-off-by: Alex Riesen <raa.lkml@gmail.com>\n> ---\n\n[patch not inlined: therefore you'll have to guess what I am referring to]\n\nIt seems quite wrong to define something for other platforms when only \nCygwin is affected.\n\nI'd rather just disable WIN32_STAT for Cygwin, because otherwise, we will \nkeep running into issues.\n\nCiao,\nDscho\n"},{"id":"108589","messageId":"20090319214001.GA6253@blimp.localdomain","threadId":"18402","inReplyTo":"alpine.DEB.1.00.0903191155300.10279@pacific.mpi-cbg.de","subject":"Re: [PATCH] Define a version of lstat(2) with posix semantics","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2009-03-19T21:40:01Z","receivedAt":"2009-03-19T21:40:01Z","isPatch":true,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"So that Cygwin port can continue work around its supporting\nlibrary and get access to its faked file attributes.\n\nSigned-off-by: Alex Riesen <raa.lkml@gmail.com>\n---\n\nJohannes Schindelin, Thu, Mar 19, 2009 11:57:01 +0100:\n> On Thu, 19 Mar 2009, Alex Riesen wrote:\n> > So that Cygwin port can continue work around its supporting\n> > library and get access to its faked file attributes.\n> > \n> \n> [patch not inlined: therefore you'll have to guess what I am referring to]\n\nI resend.\n\n> It seems quite wrong to define something for other platforms when only \n> Cygwin is affected.\n\nI know. Didn't I already said I'm sorry? I even said that it is fine\nif the patches wont be applied. Just wanted to share the pain.\n\n> I'd rather just disable WIN32_STAT for Cygwin, because otherwise, we will \n> keep running into issues.\n\nI'd rather not. The thing is just so unbelievably slow and being stuck\non it I'm just trying my damnedest to squeeze every last bit of\nperformance out of it.\n\n git-compat-util.h |    5 +++++\n 1 files changed, 5 insertions(+), 0 deletions(-)\n\ndiff --git a/git-compat-util.h b/git-compat-util.h\nindex f09f244..c99549d 100644\n--- a/git-compat-util.h\n+++ b/git-compat-util.h\n@@ -85,11 +85,16 @@\n #undef _XOPEN_SOURCE\n #include <grp.h>\n #define _XOPEN_SOURCE 600\n+static inline int posix_lstat(const char *file_name, struct stat *buf)\n+{\n+\treturn lstat(file_name, buf);\n+}\n #include \"compat/cygwin.h\"\n #else\n #undef _ALL_SOURCE /* AIX 5.3L defines a struct list with _ALL_SOURCE. */\n #include <grp.h>\n #define _ALL_SOURCE 1\n+#define posix_lstat lstat\n #endif\n #else \t/* __MINGW32__ */\n /* pull in Windows compatibility stuff */\n-- \n1.6.2.1.237.g7206c6\n"},{"id":"108591","messageId":"20090319214338.GA7653@blimp.localdomain","threadId":"18402","inReplyTo":"20090319214001.GA6253@blimp.localdomain","subject":"[PATCH] git clone needs to know executability of template files","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2009-03-19T21:43:38Z","receivedAt":"2009-03-19T21:43:38Z","isPatch":true,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"Use posix_lstat for template source. The copy_templates_1 needs to\nknow the file mode information for the copy of the template. The\ncopying of the executable bit always work on POSIX systems and\nsometimes even on Cygwin.\n\nSigned-off-by: Alex Riesen <raa.lkml@gmail.com>\n---\n builtin-init-db.c |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/builtin-init-db.c b/builtin-init-db.c\nindex ee3911f..0b6dc16 100644\n--- a/builtin-init-db.c\n+++ b/builtin-init-db.c\n@@ -66,7 +66,7 @@ static void copy_templates_1(char *path, int baselen,\n \t\telse\n \t\t\texists = 1;\n \n-\t\tif (lstat(template, &st_template))\n+\t\tif (posix_lstat(template, &st_template))\n \t\t\tdie(\"cannot stat template %s\", template);\n \n \t\tif (S_ISDIR(st_template.st_mode)) {\n-- \n1.6.2.1.237.g7206c6\n"},{"id":"108602","messageId":"7vr60t6u8n.fsf@gitster.siamese.dyndns.org","threadId":"18402","inReplyTo":"alpine.DEB.1.00.0903191155300.10279@pacific.mpi-cbg.de","subject":"Re: [PATCH] Define a version of lstat(2) with posix semantics","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2009-03-19T22:08:40Z","receivedAt":"2009-03-19T22:08:40Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> Hi,\n>\n> On Thu, 19 Mar 2009, Alex Riesen wrote:\n>\n>> So that Cygwin port can continue work around its supporting\n>> library and get access to its faked file attributes.\n>> \n>> Signed-off-by: Alex Riesen <raa.lkml@gmail.com>\n>> ---\n>\n> [patch not inlined: therefore you'll have to guess what I am referring to]\n>\n> It seems quite wrong to define something for other platforms when only \n> Cygwin is affected.\n>\n> I'd rather just disable WIN32_STAT for Cygwin, because otherwise, we will \n> keep running into issues.\n\nI am inclined to agree with this.\n\nBack when Cygwin was the only choice, it was a way to bring benefit of git\nto folks who have to work on Windows, but with the recent advances in\nmsysgit, probably Cygwin port should return to a role more in line with\nthe overall Cygwin theme of bringing the more POSIXy sanity into Windows\nworld.  I personally see a Cygwin port as a vehicle for people who care\nabout having a POSIXly-correct world where files have executable bits and\nlines are terminated with LF on Windows.  If you want to have a system\nthat is closer to Window's world view, there is (or will be, as msysgit is\nstill officially marked as alpha) a viable alternative, and the current\n\"selective cheating\" Cygwin port does may benefit nobody.\n\nBut I do not work on Windows myself, so please take this only as a mere\nuninformed opinion, nothing more.\n"},{"id":"108618","messageId":"alpine.DEB.1.00.0903200025170.10279@pacific.mpi-cbg.de","threadId":"18402","inReplyTo":"20090319214001.GA6253@blimp.localdomain","subject":"Re: [PATCH] Define a version of lstat(2) with posix semantics","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-03-19T23:30:29Z","receivedAt":"2009-03-19T23:30:29Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 19 Mar 2009, Alex Riesen wrote:\n\n> Johannes Schindelin, Thu, Mar 19, 2009 11:57:01 +0100:\n> \n> > I'd rather just disable WIN32_STAT for Cygwin, because otherwise, we \n> > will keep running into issues.\n> \n> I'd rather not. The thing is just so unbelievably slow and being stuck \n> on it I'm just trying my damnedest to squeeze every last bit of \n> performance out of it.\n\nIf you are serious about performance, you will not stay with Cygwin -- for \nthe purposes of Git.\n\nDo not get me wrong: Cygwin is a wonderful thing if your goal is to spare \nyourself a lot of trouble with that seriously challenged win32 API.\n\nBut if your goal is to get the most out of the Win32 API in terms of \nspeed, you _will_ have to go with MinGW (at least, as long as you are \nunwilling to shell out big bucks in the vague direction of Redmond, and \nadd some time tax to that).\n\nNow, we _do_ have msysGit, you _do_ have shown the capability to fix \nissues when they arise, so I do _not_ see any obstacle why you should not \ngo msysGit, rather than staying with the pain of trying to stay \nPOSIX-compatible, but not quite all the time.\n\nCiao,\nDscho\n"},{"id":"108671","messageId":"81b0412b0903200130s594ce3beyae21eb0b5cc8fe0@mail.gmail.com","threadId":"18402","inReplyTo":"alpine.DEB.1.00.0903200025170.10279@pacific.mpi-cbg.de","subject":"Re: [PATCH] Define a version of lstat(2) with posix semantics","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2009-03-20T08:30:34Z","receivedAt":"2009-03-20T08:30:34Z","isPatch":true,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"2009/3/20 Johannes Schindelin <Johannes.Schindelin@gmx.de>:\n> On Thu, 19 Mar 2009, Alex Riesen wrote:\n>> Johannes Schindelin, Thu, Mar 19, 2009 11:57:01 +0100:\n>>\n>> > I'd rather just disable WIN32_STAT for Cygwin, because otherwise, we\n>> > will keep running into issues.\n>>\n>> I'd rather not. The thing is just so unbelievably slow and being stuck\n>> on it I'm just trying my damnedest to squeeze every last bit of\n>> performance out of it.\n>\n> If you are serious about performance, you will not stay with Cygwin -- for\n> the purposes of Git.\n\nI'm staying with Cygwin port not _for_ Git, but _because_ of Cygwin. If it\nwere for me, I'd gladly let the Cygwin port die (frankly, any Windows port).\nI just use Linux everywhere possible. Sometimes it's not...\n\n> Do not get me wrong: Cygwin is a wonderful thing if your goal is to spare\n> yourself a lot of trouble with that seriously challenged win32 API.\n\nI beg to differ: Cygwin is a piece of crap and performs dangerously hideous\nin what it tries to do.\n\n> But if your goal is to get the most out of the Win32 API in terms of\n> speed, you _will_ have to go with MinGW (at least, as long as you are\n> unwilling to shell out big bucks in the vague direction of Redmond, and\n> add some time tax to that).\n\nMy goal in this environment is to make it bearable. I think that both\nCygwin and MinGW ports are dead-on-arrival, because the underlying\nplatform is so stupidly and hopelessly broken, and no amount of no bucks\ncan help it.\n\n> Now, we _do_ have msysGit, you _do_ have shown the capability to fix\n> issues when they arise, so I do _not_ see any obstacle why you should not\n> go msysGit, rather than staying with the pain of trying to stay\n> POSIX-compatible, but not quite all the time.\n\nI understand. It is not pure POSIX compatibility I seek. I just can't use MinGW\nport, because I absolutely must use the cygwin environment (for \"hysterical\"\nreasons) and they don't play well together (tried, yes. Conflicting libraries,\nbut you already know that).\n\nI don't have the Windows sickness anywhere else but at my work, and\nsadly it is a good place in all respects, even if absolute crazy in this regard.\n\nSo I'm sorry, if I ever made an impression that I'm motivated to do any\nWindows-related development. I'm _absolutely_ not. I just happen to have that\nitch of Perforce (may it burn in hell for thousand years), have a know how, and\nhave a little time to spare (hopefully no one of management sees that).\n"},{"id":"108676","messageId":"alpine.DEB.1.00.0903201015270.10279@pacific.mpi-cbg.de","threadId":"18402","inReplyTo":"81b0412b0903200130s594ce3beyae21eb0b5cc8fe0@mail.gmail.com","subject":"Re: [PATCH] Define a version of lstat(2) with posix semantics","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-03-20T09:17:31Z","receivedAt":"2009-03-20T09:17:31Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Fri, 20 Mar 2009, Alex Riesen wrote:\n\n> 2009/3/20 Johannes Schindelin <Johannes.Schindelin@gmx.de>:\n> > Now, we _do_ have msysGit, you _do_ have shown the capability to fix \n> > issues when they arise, so I do _not_ see any obstacle why you should \n> > not go msysGit, rather than staying with the pain of trying to stay \n> > POSIX-compatible, but not quite all the time.\n> \n> I understand. It is not pure POSIX compatibility I seek. I just can't \n> use MinGW port, because I absolutely must use the cygwin environment \n> (for \"hysterical\" reasons) and they don't play well together (tried, \n> yes. Conflicting libraries, but you already know that).\n\nMaybe we can work on those conflicting libraries?  After all, we do have a \n\"rebase.exe\" tool now (for all those as puzzled by the naming as I was: \nthe rebase.exe tool can shift the memory range used by a .dll so that it \ndoes not overlap with that one of another .dll).\n\nCiao,\nDscho\n"},{"id":"108712","messageId":"81b0412b0903200639v6d99067csb7715d9a5a3f0ba4@mail.gmail.com","threadId":"18402","inReplyTo":"alpine.DEB.1.00.0903201015270.10279@pacific.mpi-cbg.de","subject":"Re: [PATCH] Define a version of lstat(2) with posix semantics","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2009-03-20T13:39:21Z","receivedAt":"2009-03-20T13:39:21Z","isPatch":true,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"2009/3/20 Johannes Schindelin <Johannes.Schindelin@gmx.de>:\n> On Fri, 20 Mar 2009, Alex Riesen wrote:\n>\n>> 2009/3/20 Johannes Schindelin <Johannes.Schindelin@gmx.de>:\n>> > Now, we _do_ have msysGit, you _do_ have shown the capability to fix\n>> > issues when they arise, so I do _not_ see any obstacle why you should\n>> > not go msysGit, rather than staying with the pain of trying to stay\n>> > POSIX-compatible, but not quite all the time.\n>>\n>> I understand. It is not pure POSIX compatibility I seek. I just can't\n>> use MinGW port, because I absolutely must use the cygwin environment\n>> (for \"hysterical\" reasons) and they don't play well together (tried,\n>> yes. Conflicting libraries, but you already know that).\n>\n> Maybe we can work on those conflicting libraries?  After all, we do have a\n> \"rebase.exe\" tool now (for all those as puzzled by the naming as I was:\n> the rebase.exe tool can shift the memory range used by a .dll so that it\n> does not overlap with that one of another .dll).\n\nAs long as they can be made to coexist I'm fine. Wasn't the problem\nthat MinGW/MSYS used cygwin1.dll if it were in PATH? Or was it\nsomething else with their supporting libraries?\n\nMy other problem is that the cygwin programs, and the worst of all - a\nproprietary compiler based on cygwin, must be in PATH. AFAIR, the\npresence of cygwin in PATH broken shell scripting.\n"},{"id":"108713","messageId":"49C39EFE.8040507@dawes.za.net","threadId":"18402","inReplyTo":"81b0412b0903200639v6d99067csb7715d9a5a3f0ba4@mail.gmail.com","subject":"Re: [PATCH] Define a version of lstat(2) with posix semantics","fromName":"Rogan Dawes","fromEmail":"lists@dawes.za.net","sentAt":"2009-03-20T13:49:50Z","receivedAt":"2009-03-20T13:49:50Z","isPatch":true,"sender":{"key":"lists@dawes.za.net","avatar":null},"body":"Alex Riesen wrote:\n> 2009/3/20 Johannes Schindelin <Johannes.Schindelin@gmx.de>:\n>> On Fri, 20 Mar 2009, Alex Riesen wrote:\n>>\n>>> 2009/3/20 Johannes Schindelin <Johannes.Schindelin@gmx.de>:\n>>>> Now, we _do_ have msysGit, you _do_ have shown the capability to fix\n>>>> issues when they arise, so I do _not_ see any obstacle why you should\n>>>> not go msysGit, rather than staying with the pain of trying to stay\n>>>> POSIX-compatible, but not quite all the time.\n>>> I understand. It is not pure POSIX compatibility I seek. I just can't\n>>> use MinGW port, because I absolutely must use the cygwin environment\n>>> (for \"hysterical\" reasons) and they don't play well together (tried,\n>>> yes. Conflicting libraries, but you already know that).\n>> Maybe we can work on those conflicting libraries?  After all, we do have a\n>> \"rebase.exe\" tool now (for all those as puzzled by the naming as I was:\n>> the rebase.exe tool can shift the memory range used by a .dll so that it\n>> does not overlap with that one of another .dll).\n> \n> As long as they can be made to coexist I'm fine. Wasn't the problem\n> that MinGW/MSYS used cygwin1.dll if it were in PATH? Or was it\n> something else with their supporting libraries?\n> \n> My other problem is that the cygwin programs, and the worst of all - a\n> proprietary compiler based on cygwin, must be in PATH. AFAIR, the\n> presence of cygwin in PATH broken shell scripting.\n\nHow about a wrapper that fixes the PATH before exec'ing git? i.e.\nremoves cygwin and the compiler.\n\nRogan\n"},{"id":"108714","messageId":"alpine.DEB.1.00.0903201446590.6865@intel-tinevez-2-302","threadId":"18402","inReplyTo":"81b0412b0903200639v6d99067csb7715d9a5a3f0ba4@mail.gmail.com","subject":"Re: [PATCH] Define a version of lstat(2) with posix semantics","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2009-03-20T13:52:52Z","receivedAt":"2009-03-20T13:52:52Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Fri, 20 Mar 2009, Alex Riesen wrote:\n\n> 2009/3/20 Johannes Schindelin <Johannes.Schindelin@gmx.de>:\n> > On Fri, 20 Mar 2009, Alex Riesen wrote:\n> >\n> >> 2009/3/20 Johannes Schindelin <Johannes.Schindelin@gmx.de>:\n> >> > Now, we _do_ have msysGit, you _do_ have shown the capability to \n> >> > fix issues when they arise, so I do _not_ see any obstacle why you \n> >> > should not go msysGit, rather than staying with the pain of trying \n> >> > to stay POSIX-compatible, but not quite all the time.\n> >>\n> >> I understand. It is not pure POSIX compatibility I seek. I just can't \n> >> use MinGW port, because I absolutely must use the cygwin environment \n> >> (for \"hysterical\" reasons) and they don't play well together (tried, \n> >> yes. Conflicting libraries, but you already know that).\n> >\n> > Maybe we can work on those conflicting libraries?  After all, we do \n> > have a \"rebase.exe\" tool now (for all those as puzzled by the naming \n> > as I was: the rebase.exe tool can shift the memory range used by a \n> > .dll so that it does not overlap with that one of another .dll).\n> \n> As long as they can be made to coexist I'm fine. Wasn't the problem that \n> MinGW/MSYS used cygwin1.dll if it were in PATH? Or was it something else \n> with their supporting libraries?\n\nI think it is the fact that msys-1.0.dll is a stripped-down fork of \ncygwin1.dll.\n\nIt is needed to run shell and perl scripts.\n\n(Unfortunately, a few important parts of Git are still implemented as \nshell scripts: bisect, pull and rebase being the most obvious to me, but \nrepack, stash and submodule are not too unimportant, either.)\n\n> My other problem is that the cygwin programs, and the worst of all - a \n> proprietary compiler based on cygwin, must be in PATH. AFAIR, the \n> presence of cygwin in PATH broken shell scripting.\n\nIf it is a PATH issue, then it should be fixable by teaching msysGit to \nprepend $GIT_ROOT/bin and $GIT_ROOT/libexec/git-core to the PATH, but \nAFAIR we already do that.\n\n*clicketyclick*\n\nYep, from reading setup_path() in exec_cmd.c, it appears that we prepend \nthe PATH correctly.\n\nTraditionally, we did have problems with Cygwin, that is correct, but I \nthink with your help we can resolve the interaction issues.\n\nCiao,\nDscho\n"},{"id":"108717","messageId":"81b0412b0903200717k5a9c3423m865961b7021c76f3@mail.gmail.com","threadId":"18402","inReplyTo":"49C39EFE.8040507@dawes.za.net","subject":"Re: [PATCH] Define a version of lstat(2) with posix semantics","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2009-03-20T14:17:42Z","receivedAt":"2009-03-20T14:17:42Z","isPatch":true,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"2009/3/20 Rogan Dawes <lists@dawes.za.net>:\n> Alex Riesen wrote:\n>> 2009/3/20 Johannes Schindelin <Johannes.Schindelin@gmx.de>:\n>>> On Fri, 20 Mar 2009, Alex Riesen wrote:\n>>>\n>>>> 2009/3/20 Johannes Schindelin <Johannes.Schindelin@gmx.de>:\n>>>>> Now, we _do_ have msysGit, you _do_ have shown the capability to fix\n>>>>> issues when they arise, so I do _not_ see any obstacle why you should\n>>>>> not go msysGit, rather than staying with the pain of trying to stay\n>>>>> POSIX-compatible, but not quite all the time.\n>>>> I understand. It is not pure POSIX compatibility I seek. I just can't\n>>>> use MinGW port, because I absolutely must use the cygwin environment\n>>>> (for \"hysterical\" reasons) and they don't play well together (tried,\n>>>> yes. Conflicting libraries, but you already know that).\n>>> Maybe we can work on those conflicting libraries?  After all, we do have a\n>>> \"rebase.exe\" tool now (for all those as puzzled by the naming as I was:\n>>> the rebase.exe tool can shift the memory range used by a .dll so that it\n>>> does not overlap with that one of another .dll).\n>>\n>> As long as they can be made to coexist I'm fine. Wasn't the problem\n>> that MinGW/MSYS used cygwin1.dll if it were in PATH? Or was it\n>> something else with their supporting libraries?\n>>\n>> My other problem is that the cygwin programs, and the worst of all - a\n>> proprietary compiler based on cygwin, must be in PATH. AFAIR, the\n>> presence of cygwin in PATH broken shell scripting.\n>\n> How about a wrapper that fixes the PATH before exec'ing git? i.e.\n> removes cygwin and the compiler.\n>\n\nFor shame... I never tried :-/\n"},{"id":"108718","messageId":"81b0412b0903200720w5990786cpe79718c617640448@mail.gmail.com","threadId":"18402","inReplyTo":"alpine.DEB.1.00.0903201446590.6865@intel-tinevez-2-302","subject":"Re: [PATCH] Define a version of lstat(2) with posix semantics","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2009-03-20T14:20:17Z","receivedAt":"2009-03-20T14:20:17Z","isPatch":true,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"2009/3/20 Johannes Schindelin <Johannes.Schindelin@gmx.de>:\n> On Fri, 20 Mar 2009, Alex Riesen wrote:\n> (Unfortunately, a few important parts of Git are still implemented as\n> shell scripts: bisect, pull and rebase being the most obvious to me, but\n> repack, stash and submodule are not too unimportant, either.)\n\nI can't imagine not using bisect or rebase.\n\n>> My other problem is that the cygwin programs, and the worst of all - a\n>> proprietary compiler based on cygwin, must be in PATH. AFAIR, the\n>> presence of cygwin in PATH broken shell scripting.\n>\n> If it is a PATH issue, then it should be fixable by teaching msysGit to\n> prepend $GIT_ROOT/bin and $GIT_ROOT/libexec/git-core to the PATH, but\n> AFAIR we already do that.\n>\n> *clicketyclick*\n>\n> Yep, from reading setup_path() in exec_cmd.c, it appears that we prepend\n> the PATH correctly.\n>\n> Traditionally, we did have problems with Cygwin, that is correct, but I\n> think with your help we can resolve the interaction issues.\n\nOk. I guess it is a time for me to take another look at mingw port.\n"}]}