{"thread":{"id":"1673","subject":"Status of Mac OS/X ports of git and cogito?","startedAt":"2005-08-27T01:30:23Z","lastAt":"2005-09-12T00:21:41Z","messageCount":22,"participants":["John Ellson","Junio C Hamano","Martin Langhoff","Johannes Schindelin","Linus Torvalds","A Large Angry SCM","Daniel Barkalow"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"7833","messageId":"deofnh$jl0$1@sea.gmane.org","threadId":"1673","inReplyTo":null,"subject":"Status of Mac OS/X ports of git and cogito?","fromName":"John Ellson","fromEmail":"ellson@research.att.com","sentAt":"2005-08-27T01:30:23Z","receivedAt":"2005-08-27T01:30:23Z","isPatch":false,"sender":{"key":"ellson@research.att.com","avatar":null},"body":"Do git and cogito build easily on Mac OS/X now?   Are there binaries available \nanywhere?\n\n\nJohn\n"},{"id":"7836","messageId":"7vd5o03uof.fsf@assigned-by-dhcp.cox.net","threadId":"1673","inReplyTo":"deofnh$jl0$1@sea.gmane.org","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-08-27T03:50:08Z","receivedAt":"2005-08-27T03:50:08Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"John Ellson <ellson@research.att.com> writes:\n\n> Do git and cogito build easily on Mac OS/X now?  Are there\n> binaries available anywhere?\n\nNot that I know of.  We used to get portability patches from\nDarwin folks, but I haven't seen any lately.\n\nI am somewhat interested in what portability glitches we still\nhave, but not having an access to a machine, it is more of a\ncuriosity rather than a necessity for me.\n\nAre Darwin folks on the list happy with the current codebase, or\nhave you given up because it is too GNU/Linux specific?\n"},{"id":"7839","messageId":"46a038f905082623595c051c0b@mail.gmail.com","threadId":"1673","inReplyTo":"deofnh$jl0$1@sea.gmane.org","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2005-08-27T06:59:02Z","receivedAt":"2005-08-27T06:59:02Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"I am running git/cogito on MacOSX 10.3.x mostly as a client, and it\nworks pretty well. My main dev machines are Debian boxes, so the OSX\nbuild is most often just fetching commits and running cg-log. So it's\nnot very intensive ;)\n\nI get all my build dependencies from Fink, and also get diffutils from\nFink, as the diff included in MacOSX is old/buggy. The one in Fink's\ndiffutils matches GIT's expectations ;)\n\nThere is _one_ bug I've seen with cg-diff and I haven't had time to\nfix. On OSX, running cg-diff with no parameters doesn't show anything.\nFor some reason, it fails to list the files. If you give it the paths\nexplicitly, it'll give you the appropriate diff.\n\nAnd there is a problem with gitk too: the tk that I get from fink gets\nthe panels sizes all wrong for gitk. I doubt this is a bug in gitk\nthough.\n\ncheers,\n\n\nmartin \n\nOn 8/27/05, John Ellson <ellson@research.att.com> wrote:\n> Do git and cogito build easily on Mac OS/X now?   Are there binaries available\n> anywhere?\n> \n> \n> John\n> \n> -\n> To unsubscribe from this list: send the line \"unsubscribe git\" in\n> the body of a message to majordomo@vger.kernel.org\n> More majordomo info at  http://vger.kernel.org/majordomo-info.html\n>\n"},{"id":"7888","messageId":"46a038f90508290016624b3f4@mail.gmail.com","threadId":"1673","inReplyTo":"46a038f905082623595c051c0b@mail.gmail.com","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2005-08-29T07:16:26Z","receivedAt":"2005-08-29T07:16:26Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"On 8/27/05, Martin Langhoff <martin.langhoff@gmail.com> wrote:\n> There is _one_ bug I've seen with cg-diff and I haven't had time to\n> fix. On OSX, running cg-diff with no parameters doesn't show anything.\n> For some reason, it fails to list the files. If you give it the paths\n> explicitly, it'll give you the appropriate diff.\n\nBlame the xargs implementation. Fixed.\n\n\nmartin\n"},{"id":"7950","messageId":"46a038f9050830030452d361@mail.gmail.com","threadId":"1673","inReplyTo":"46a038f90508290016624b3f4@mail.gmail.com","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2005-08-30T10:04:38Z","receivedAt":"2005-08-30T10:04:38Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"On 8/29/05, Martin Langhoff <martin.langhoff@gmail.com> wrote:\n> Blame the xargs implementation. Fixed.\n\nI posted the patch at the same time that I was writing this, but it\ngot eaten by a b0rken MTA setup on my laptop. Reposted.\n\ncheers,\n\n\nmartin\n"},{"id":"8283","messageId":"Pine.LNX.4.63.0509111159190.32555@wgmdd8.biozentrum.uni-wuerzburg.de","threadId":"1673","inReplyTo":"7vd5o03uof.fsf@assigned-by-dhcp.cox.net","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2005-09-11T10:07:58Z","receivedAt":"2005-09-11T10:07:58Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Fri, 26 Aug 2005, Junio C Hamano wrote:\n\n> Are Darwin folks on the list happy with the current codebase, or\n> have you given up because it is too GNU/Linux specific?\n\nWhile I'm not exactly Darwin folk, I use git on Mac OS X 10.2.8 (I'm \nsitting behind a scary firewall, so don't even think about hacking me).\n\nI have three fixes in my personal tree without which git refuses to \ncompile:\n\n- daemon.c needs a define or typedef for socklen_t.\n\n- mailinfo.c needs to have a simple strcasestr implementation, because \n  10.2.8 (at least in my setup) is lacking it!\n\n- gitk gets very confused about the window layout. My preliminary tests on \n  cygwin showed that this seems to be rather a problem of Tk with rootless \n  Xwin. I worked around it by explicitely stating the dimensions of some \n  canvas windows which would not automatically resize with their contents \n  otherwise.\n\nThe only thing I did not \"fix\" is git-cvsimport not running because of a \nlacking File/Temp.pm. But then, I run git-cvsimport on a different machine \nanyway.\n\nI regularly use git on OS X and it works great!\n\nCiao,\nDscho\n"},{"id":"8287","messageId":"46a038f9050911040762f53552@mail.gmail.com","threadId":"1673","inReplyTo":"Pine.LNX.4.63.0509111159190.32555@wgmdd8.biozentrum.uni-wuerzburg.de","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2005-09-11T11:07:18Z","receivedAt":"2005-09-11T11:07:18Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"On 9/11/05, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n\n> - gitk gets very confused about the window layout. My preliminary tests on\n>   cygwin showed that this seems to be rather a problem of Tk with rootless\n>   Xwin. I worked around it by explicitely stating the dimensions of some\n>   canvas windows which would not automatically resize with their contents\n>   otherwise.\n \nCan you share that fix? \n\ncheers,\n\n\nmartin\n"},{"id":"8297","messageId":"7vvf17tsoa.fsf@assigned-by-dhcp.cox.net","threadId":"1673","inReplyTo":"Pine.LNX.4.63.0509111159190.32555@wgmdd8.biozentrum.uni-wuerzburg.de","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-09-11T17:34:13Z","receivedAt":"2005-09-11T17:34:13Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Patrick and Jason CC:'ed because they also have portability\nissues and seem to have good ideas about how they should be\nsolved.  Linus CC:'ed because he once expressed rather strongly\nhis dislike about autoconf.\n\nJohannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> I have three fixes in my personal tree without which git refuses to \n> compile:\n>\n> - daemon.c needs a define or typedef for socklen_t.\n\nI still keep that patch around (the patch was end of July), but\nhave not touched it only because I did not hear from you asking\nabout its inclusion.\n\n> - mailinfo.c needs to have a simple strcasestr implementation, because \n>   10.2.8 (at least in my setup) is lacking it!\n\nYes, I've used it knowing that it is marked as a GNU extension,\nhoping if somebody else can supply a patch to work it around ;-).\n\nI am slightly reluctant to do autoconf [*1*], but I might be\ntempted to take patches if it is done cleanly.\n\nAs a workaround until I am convinced otherwise and we go fully\nautoconf, I am inclined to introduce a new subdirectory in the\nsource tree, compat/, which would house compat/linux.h,\ncompat/darwin.h, compat/solaris.h and friends, and have compat.h\nsymlink which points at one of those files.\n\n[Footnote]\n*1* ...although I admit that I once used to be an autoconf freak\nand even had a few lines of my own code in the official autoconf\ndistribution.  It was an ancient history, most likely before\nlibtool and automake came along.  The last time I checked my\nchanges were all superseded.\n"},{"id":"8300","messageId":"Pine.LNX.4.58.0509111043430.3242@g5.osdl.org","threadId":"1673","inReplyTo":"7vvf17tsoa.fsf@assigned-by-dhcp.cox.net","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-09-11T17:46:46Z","receivedAt":"2005-09-11T17:46:46Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Sun, 11 Sep 2005, Junio C Hamano wrote:\n>\n> Patrick and Jason CC:'ed because they also have portability\n> issues and seem to have good ideas about how they should be\n> solved.  Linus CC:'ed because he once expressed rather strongly\n> his dislike about autoconf.\n\nI personally think autoconf is the devils tool, and have had much more \nluck with\n\n - creating \"compat\" libraries that implement functions that some \n   configurations don't have.\n\n   Sometimes this involves renaming the function, in order to avoid \n   clashes with broken implementations of same.\n\n - just ignoring the really broken systems (old HP-UX etc is terminally \n   diseased, and simply not worth worrying about)\n\nautoconf generates an unreadable mess that can't be fixed. Doing it by \nhand at least means you can fix it.\n\nBut hey, I don't care that much any more, since I'm not the sucker who \nmaintains it ;)\n\n\t\tLinus\n"},{"id":"8306","messageId":"Pine.LNX.4.58.0509111100260.3242@g5.osdl.org","threadId":"1673","inReplyTo":"7vvf17tsoa.fsf@assigned-by-dhcp.cox.net","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-09-11T18:07:06Z","receivedAt":"2005-09-11T18:07:06Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Sun, 11 Sep 2005, Junio C Hamano wrote:\n> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n> \n> > I have three fixes in my personal tree without which git refuses to \n> > compile:\n> >\n> > - daemon.c needs a define or typedef for socklen_t.\n> \n> I still keep that patch around (the patch was end of July), but\n> have not touched it only because I did not hear from you asking\n> about its inclusion.\n\nSide note: one simple solution for \"socklen_t\" is to just replace it with \n\"int\".\n\nAny operating system where socklen_t is anything else than \"int\" is \nterminally broken. The people who introduced that typedef were confused, \nand I actually had to argue with them that it was fundamentally wrong: \nthere is no other valid type than \"int\" that makes sense for it.\n\nIn case anybody cares: not only is \"int\" obviously \"big enough\" even on \nsome theoretical 16-bit architecture, so there's never any real _reason_ \nto use anything else.\n\nBut more importantly, the core BSD networking functions have historically\nhad declarations like\n\n\tint accept(int s, struct sockaddr *addr, int *addrlen);\n\nwhich means that if 'socklen_t' is ever anything else than \"int\", you'd \nbreak all old applications. For no good reason. \n\nErgo, any operating system that has socklen_t != int is so broken that \nit's simply not worth playing with.\n\n(POSIX for a short while had _defined_ it to be the same as \"size_t\", I \nreally had to scream at some people over it, and told people that Linux \nwould never do anything that stupid. Apparently Linux was the first \n64-bit operating system that people actually ever tried to use).\n\n\t\tLinus\n"},{"id":"8308","messageId":"43247498.40307@gmail.com","threadId":"1673","inReplyTo":"Pine.LNX.4.58.0509111043430.3242@g5.osdl.org","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"A Large Angry SCM","fromEmail":"gitzilla@gmail.com","sentAt":"2005-09-11T18:16:56Z","receivedAt":"2005-09-11T18:16:56Z","isPatch":false,"sender":{"key":"gitzilla@gmail.com","avatar":"https://gravatar.com/avatar/354625c442439908ff3dd99757dee330e29e9df7847472384faf7a00add247fb?d=mp&s=160"},"body":"Linus Torvalds wrote:\n> \n[regarding autoconf]\n> \n> But hey, I don't care that much any more, since I'm not the sucker who \n> maintains it ;)\n\nOK, this is just _evil_ coming from you since we all know that you _do_ \ncare, even if you don't maintain it. :-)\n"},{"id":"8312","messageId":"Pine.LNX.4.63.0509111427190.23242@iabervon.org","threadId":"1673","inReplyTo":"7vvf17tsoa.fsf@assigned-by-dhcp.cox.net","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"Daniel Barkalow","fromEmail":"barkalow@iabervon.org","sentAt":"2005-09-11T18:43:40Z","receivedAt":"2005-09-11T18:43:40Z","isPatch":false,"sender":{"key":"barkalow@iabervon.org","avatar":"https://avatars.githubusercontent.com/u/55364219?v=4"},"body":"On Sun, 11 Sep 2005, Junio C Hamano wrote:\n\n> Patrick and Jason CC:'ed because they also have portability\n> issues and seem to have good ideas about how they should be\n> solved.  Linus CC:'ed because he once expressed rather strongly\n> his dislike about autoconf.\n> \n> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n> \n> > I have three fixes in my personal tree without which git refuses to \n> > compile:\n> >\n> > - daemon.c needs a define or typedef for socklen_t.\n> \n> I still keep that patch around (the patch was end of July), but\n> have not touched it only because I did not hear from you asking\n> about its inclusion.\n> \n> > - mailinfo.c needs to have a simple strcasestr implementation, because \n> >   10.2.8 (at least in my setup) is lacking it!\n> \n> Yes, I've used it knowing that it is marked as a GNU extension,\n> hoping if somebody else can supply a patch to work it around ;-).\n> \n> I am slightly reluctant to do autoconf [*1*], but I might be\n> tempted to take patches if it is done cleanly.\n\nI've never noticed autoconf successfully improving portability, and it \nseems to mostly obfuscate errors. E.g., the GNU binutils I was trying to \nbuild recently, if you don't have \"msgfmt\", helpfully runs \"no\" instead. \nOf course, that's autoconf being misused, but if binutils can't use it \ncorrectly, I doubt any other project can keep from messing up.\n\nCompatibility workarounds with simple detection scripts invoked by people \nwho find they actually need workarounds are probably best.\n\n\t-Daniel\n*This .sig left intentionally blank*\n"},{"id":"8322","messageId":"7vk6hnqqan.fsf@assigned-by-dhcp.cox.net","threadId":"1673","inReplyTo":"Pine.LNX.4.58.0509111043430.3242@g5.osdl.org","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-09-11T20:53:52Z","receivedAt":"2005-09-11T20:53:52Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Linus Torvalds <torvalds@osdl.org> writes:\n\n> autoconf generates an unreadable mess that can't be fixed. Doing it by \n> hand at least means you can fix it.\n>\n> But hey, I don't care that much any more, since I'm not the sucker who \n> maintains it ;)\n\nThanks for the vote of confidence ;-).\n"},{"id":"8323","messageId":"7v8xy3qpyh.fsf_-_@assigned-by-dhcp.cox.net","threadId":"1673","inReplyTo":"Pine.LNX.4.58.0509111100260.3242@g5.osdl.org","subject":"[PATCH] Use int instead of socklen_t","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-09-11T21:01:10Z","receivedAt":"2005-09-11T21:01:10Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"This should work around the compilation problem Johannes Schindelin\nand others had on Mac OS/X.\n\nQuoting Linus:\n\n    Any operating system where socklen_t is anything else than\n    \"int\" is terminally broken. The people who introduced that\n    typedef were confused, and I actually had to argue with them\n    that it was fundamentally wrong: there is no other valid\n    type than \"int\" that makes sense for it.\n\nSigned-off-by: Junio C Hamano <junkio@cox.net>\n---\n\n    Linus Torvalds <torvalds@osdl.org> writes:\n\n    > On Sun, 11 Sep 2005, Junio C Hamano wrote:\n    >> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n    >> \n    >> > I have three fixes in my personal tree without which git refuses to \n    >> > compile:\n    >> >\n    >> > - daemon.c needs a define or typedef for socklen_t.\n    >> \n    >> I still keep that patch around (the patch was end of July), but\n    >> have not touched it only because I did not hear from you asking\n    >> about its inclusion.\n    >\n    > Side note: one simple solution for \"socklen_t\" is to just replace it with \n    > \"int\".\n\n daemon.c |    8 ++++----\n 1 files changed, 4 insertions(+), 4 deletions(-)\n\ndef13dbdb962069f4cb22e3d72483ae443bda6cf\ndiff --git a/daemon.c b/daemon.c\n--- a/daemon.c\n+++ b/daemon.c\n@@ -80,11 +80,11 @@ static unsigned int children_deleted = 0\n \n static struct child {\n \tpid_t pid;\n-\tsocklen_t addrlen;\n+\tint addrlen;\n \tstruct sockaddr_storage address;\n } live_child[MAX_CHILDREN];\n \n-static void add_child(int idx, pid_t pid, struct sockaddr *addr, socklen_t addrlen)\n+static void add_child(int idx, pid_t pid, struct sockaddr *addr, int addrlen)\n {\n \tlive_child[idx].pid = pid;\n \tlive_child[idx].addrlen = addrlen;\n@@ -178,7 +178,7 @@ static void check_max_connections(void)\n \t}\n }\n \n-static void handle(int incoming, struct sockaddr *addr, socklen_t addrlen)\n+static void handle(int incoming, struct sockaddr *addr, int addrlen)\n {\n \tpid_t pid = fork();\n \n@@ -308,7 +308,7 @@ static int serve(int port)\n \n \t\t\tif (FD_ISSET(sockfd, &fds)) {\n \t\t\t\tstruct sockaddr_storage ss;\n-\t\t\t\tsocklen_t sslen = sizeof(ss);\n+\t\t\t\tint sslen = sizeof(ss);\n \t\t\t\tint incoming = accept(sockfd, (struct sockaddr *)&ss, &sslen);\n \t\t\t\tif (incoming < 0) {\n \t\t\t\t\tswitch (errno) {\n"},{"id":"8324","messageId":"46a038f905091114062b8cf3e6@mail.gmail.com","threadId":"1673","inReplyTo":"Pine.LNX.4.63.0509111159190.32555@wgmdd8.biozentrum.uni-wuerzburg.de","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"Martin Langhoff","fromEmail":"martin.langhoff@gmail.com","sentAt":"2005-09-11T21:06:23Z","receivedAt":"2005-09-11T21:06:23Z","isPatch":false,"sender":{"key":"martin.langhoff@gmail.com","avatar":"https://gravatar.com/avatar/1e3f311b6c4c15836501901ca58f8c0b0667246488084ba524d8bc9867e22fd9?d=mp&s=160"},"body":"I'm running git & cogito on OSX 10.3.9 (Panther) with fink\n0.7.1(stable), and have been using git w/o problems. I've just done an\nupdate and recompiled to confirm...\n\nOn 9/11/05, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> - daemon.c needs a define or typedef for socklen_t.\n\nNot a problem on 10.3.9.\n \n> - mailinfo.c needs to have a simple strcasestr implementation, because\n>   10.2.8 (at least in my setup) is lacking it!\n\nNot a problem on 10.3.9.\n \n> - gitk gets very confused about the window layout. My preliminary tests on\n>   cygwin showed that this seems to be rather a problem of Tk with rootless\n>   Xwin. I worked around it by explicitely stating the dimensions of some\n>   canvas windows which would not automatically resize with their contents\n>   otherwise.\n\nI _am_ seeing this problem, but it's definitely an issue with Tk. I'd\nbe thankful if you could post the fixes...\n \n> The only thing I did not \"fix\" is git-cvsimport not running because of a\n> lacking File/Temp.pm. But then, I run git-cvsimport on a different machine\n> anyway.\n\nsudo cpan install File::Temp ?\n\nAt any rate, I've just checked and File::Temp is part of the Perl\n5.8.1 installed in 10.3.9. Even fink knows this, and if you do\napt-cache show system-perl it'll tell you that it includes File::Temp.\n\nAny platform-specific changes should be limited to backwards compat,\nreally. MacOSX is converging quickly towards GNU/Linux compatibility\nin the build environment.\n\ncheers,\n\n\n\nmartin\n"},{"id":"8333","messageId":"Pine.LNX.4.63.0509120110050.10414@wgmdd8.biozentrum.uni-wuerzburg.de","threadId":"1673","inReplyTo":"46a038f9050911040762f53552@mail.gmail.com","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2005-09-11T23:12:41Z","receivedAt":"2005-09-11T23:12:41Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Sun, 11 Sep 2005, Martin Langhoff wrote:\n\n> On 9/11/05, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:\n> \n> > - gitk gets very confused about the window layout. My preliminary tests on\n> >   cygwin showed that this seems to be rather a problem of Tk with rootless\n> >   Xwin. I worked around it by explicitely stating the dimensions of some\n> >   canvas windows which would not automatically resize with their contents\n> >   otherwise.\n>  \n> Can you share that fix? \n\nI'm reluctant to do it, because it is not really a fix: the layout is \nbetter, but not perfect (BTW this is the reason I don't sign it off this \ntime). For example, the width of the commit message window is not really \nthe same when restarting. Worse, the upper part is shrinking with every \nrestart of gitk. But anyhow, this is as far as I got to make it at least a \nbit usable:\n\ndiff --git a/gitk b/gitk\n--- a/gitk\n+++ b/gitk\n@@ -357,13 +357,13 @@ proc makewindow {} {\n \tset geometry(ctexth) [expr {($texth - 8) /\n \t\t\t\t    [font metrics $textfont -linespace]}]\n     }\n-    frame .ctop.top\n+    frame .ctop.top -height $geometry(canvh)\n     frame .ctop.top.bar\n     pack .ctop.top.bar -side bottom -fill x\n     set cscroll .ctop.top.csb\n     scrollbar $cscroll -command {allcanvs yview} -highlightthickness 0\n     pack $cscroll -side right -fill y\n-    panedwindow .ctop.top.clist -orient horizontal -sashpad 0 -handlesize 4\n+    panedwindow .ctop.top.clist -orient horizontal -sashpad 0 -handlesize 4 -height $geometry(canvh)\n     pack .ctop.top.clist -side top -fill both -expand 1\n     .ctop add .ctop.top\n     set canv .ctop.top.clist.canv\n@@ -433,9 +433,10 @@ proc makewindow {} {\n     # for making sure type==Exact whenever loc==Pickaxe\n     trace add variable findloc write findlocchange\n \n-    panedwindow .ctop.cdet -orient horizontal\n+    panedwindow .ctop.cdet -orient horizontal \\\n+\t-height [expr $geometry(ctexth)*$linespc+4]\n     .ctop add .ctop.cdet\n-    frame .ctop.cdet.left\n+    frame .ctop.cdet.left -width [expr $geometry(ctextw)*[font measure $textfont \"0\"]+8]\n     set ctext .ctop.cdet.left.ctext\n     text $ctext -bg white -state disabled -font $textfont \\\n \t-width $geometry(ctextw) -height $geometry(ctexth) \\\n"},{"id":"8335","messageId":"Pine.LNX.4.63.0509120115500.10414@wgmdd8.biozentrum.uni-wuerzburg.de","threadId":"1673","inReplyTo":"Pine.LNX.4.58.0509111043430.3242@g5.osdl.org","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2005-09-11T23:18:35Z","receivedAt":"2005-09-11T23:18:35Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Sun, 11 Sep 2005, Linus Torvalds wrote:\n\n> I personally think autoconf is the devils tool, and have had much more \n> luck with\n> \n>  - creating \"compat\" libraries that implement functions that some \n>    configurations don't have.\n> \n>    Sometimes this involves renaming the function, in order to avoid \n>    clashes with broken implementations of same.\n\nThat was the original idea of autoconf...\n\n>  - just ignoring the really broken systems (old HP-UX etc is terminally \n>    diseased, and simply not worth worrying about)\n\n... which is sometimes no option.\n\n> autoconf generates an unreadable mess that can't be fixed. Doing it by \n> hand at least means you can fix it.\n\nA real pity! autoconf showed great promise in the first days. But then \nthey started using m4 and other crud crept in.\n\nAll that said, autoconf still makes it easy to make a program or library \nportable. However, for git it would be overkill.\n\nCiao,\nDscho\n"},{"id":"8336","messageId":"Pine.LNX.4.63.0509120119120.10594@wgmdd8.biozentrum.uni-wuerzburg.de","threadId":"1673","inReplyTo":"Pine.LNX.4.58.0509111100260.3242@g5.osdl.org","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2005-09-11T23:22:56Z","receivedAt":"2005-09-11T23:22:56Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Sun, 11 Sep 2005, Linus Torvalds wrote:\n\n> On Sun, 11 Sep 2005, Junio C Hamano wrote:\n> > Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n> > \n> > > I have three fixes in my personal tree without which git refuses to \n> > > compile:\n> > >\n> > > - daemon.c needs a define or typedef for socklen_t.\n> > \n> > I still keep that patch around (the patch was end of July), but\n> > have not touched it only because I did not hear from you asking\n> > about its inclusion.\n> \n> Side note: one simple solution for \"socklen_t\" is to just replace it with \n> \"int\".\n> \n> Any operating system where socklen_t is anything else than \"int\" is \n> terminally broken. The people who introduced that typedef were confused, \n> and I actually had to argue with them that it was fundamentally wrong: \n> there is no other valid type than \"int\" that makes sense for it.\n\nLinus, we all know that you are always right. Only that in this case you \nare just a little bit less right than usual. The introduction of this \ntypedef was a sane thing to do, for the same reason it is a sane thing to \nuse sensible variable names: documentation. It is _important_ that a \nprogram be easy to read for others. As a further candy, you can grep and \neven sed for socklen_t. Try that with every socklen_t substituted by int.\n\nCiao,\nDscho\n"},{"id":"8337","messageId":"Pine.LNX.4.63.0509120124460.10594@wgmdd8.biozentrum.uni-wuerzburg.de","threadId":"1673","inReplyTo":"46a038f905091114062b8cf3e6@mail.gmail.com","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2005-09-11T23:27:58Z","receivedAt":"2005-09-11T23:27:58Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Mon, 12 Sep 2005, Martin Langhoff wrote:\n\n> I'm running git & cogito on OSX 10.3.9 (Panther) with fink\n> 0.7.1(stable), and have been using git w/o problems. I've just done an\n> update and recompiled to confirm...\n\nCall me backwards. I am using 10.2.8, mainly because I do not intend to \nshell out bucks everytime Apple decides to increment the major version \nnumber of OSX. For exactly the same reason I do not have a single machine \nrunning Microsoft software.\n \nIt is great that you confirmed what I was suspecting, namely that newer \nOSXes do not share the problems of my old one.\n\nCiao,\nDscho\n"},{"id":"8338","messageId":"Pine.LNX.4.58.0509111631500.3242@g5.osdl.org","threadId":"1673","inReplyTo":"Pine.LNX.4.63.0509120119120.10594@wgmdd8.biozentrum.uni-wuerzburg.de","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-09-11T23:40:31Z","receivedAt":"2005-09-11T23:40:31Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Mon, 12 Sep 2005, Johannes Schindelin wrote:\n>\n> Linus, we all know that you are always right. Only that in this case you \n> are just a little bit less right than usual. The introduction of this \n> typedef was a sane thing to do, for the same reason it is a sane thing to \n> use sensible variable names: documentation.\n\nNope.\n\nGo through the history of that thing.\n\nIt wasn't introduced as \"socklen_t\". It was introduced as \"size_t\".\n\nThat was so horribly wrong that it's not even funny. \n\nDocumentation my ass. It's a matter of people thinking that the old \nportable types aren't good enough, and that you have to make up new names \nfor everything in order to allow \"portability\" where different systems \nhave different ideas.\n\nAnd it's ignoring the fact that true portability means \"it just works\". \n\"size_t\" fundamentally didn't work. \n\nAnd the really sad part is that before the standards bodies started\nmessing around with it, things really _did_ \"just work\". There was no \nquestion at all about what kind of type to use.\n\nThese days, we sadly have some systems that just blindly followed the \nstandard, changed \"int\" to \"size_t\", and then when the standard was fixed, \nchanged \"socklen_t\" to be \"size_t\".\n\nDon't believe me? Just google for \"size_t\" and \"socklen_t\", and weep.\n\nAll this confusion, and for what? Absolutely _zero_ upsides.\n\nBasically, if a programmer feels like he needs to remind himself what the \nvariable was all about, how about using descriptive variable names? I \nclaim that\n\n\tint addr_len;\n\nis a lot more documentation than\n\n\tsocklen_t len;\n\nand that the people who think that different type-name are \"documentation\"\nare ignoring the fact that they are _also_ \"confusing\".\n\nThere's a virtue in simplicity. Abstraction is _not_ a virtue.\n\n\t\t\tLinus\n"},{"id":"8339","messageId":"Pine.LNX.4.58.0509111642110.3242@g5.osdl.org","threadId":"1673","inReplyTo":"Pine.LNX.4.58.0509111631500.3242@g5.osdl.org","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"Linus Torvalds","fromEmail":"torvalds@osdl.org","sentAt":"2005-09-11T23:43:56Z","receivedAt":"2005-09-11T23:43:56Z","isPatch":false,"sender":{"key":"torvalds@linux-foundation.org","avatar":"https://avatars.githubusercontent.com/u/1024025?v=4"},"body":"\n\nOn Sun, 11 Sep 2005, Linus Torvalds wrote:\n> \n> And the really sad part is that before the standards bodies started\n> messing around with it, things really _did_ \"just work\". There was no \n> question at all about what kind of type to use.\n\nBtw, here's the result of the \"documentation\":\n\n\tdnl check for Unix98 socklen_t\n\tAC_MSG_CHECKING(for socklen_t)\n\tAC_TRY_COMPILE([#include <sys/socket.h>\n\tsocklen_t x;\n\t],[],[AC_MSG_RESULT(yes)],[\n\tAC_TRY_COMPILE([#include <sys/socket.h>\n\tint accept (int, struct sockaddr *, size_t *);\n\t],[],[\n\tAC_MSG_RESULT(size_t)\n\tAC_DEFINE(socklen_t,size_t)], [\n\tAC_MSG_RESULT(int)\n\tAC_DEFINE(socklen_t,int)])])\n\nisn't that nice? Before the \"documentation\", you could just use\n\n\tint accept(int, struct sockaddr *, int *);\n\nand it would work. EVERYWHERE. No autoconf crap required.\n\nSo don't talk to me about documentation. It's pure and unadulterated crap.\n\n\t\tLinus\n"},{"id":"8344","messageId":"Pine.LNX.4.63.0509120216030.11512@wgmdd8.biozentrum.uni-wuerzburg.de","threadId":"1673","inReplyTo":"Pine.LNX.4.58.0509111642110.3242@g5.osdl.org","subject":"Re: Status of Mac OS/X ports of git and cogito?","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2005-09-12T00:21:41Z","receivedAt":"2005-09-12T00:21:41Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Sun, 11 Sep 2005, Linus Torvalds wrote:\n\n> On Sun, 11 Sep 2005, Linus Torvalds wrote:\n> > \n> > And the really sad part is that before the standards bodies started\n> > messing around with it, things really _did_ \"just work\". There was no \n> > question at all about what kind of type to use.\n> \n> Btw, here's the result of the \"documentation\":\n> \n> [lots of ugly code]\n>\n> isn't that nice? Before the \"documentation\", you could just use\n> \n> \tint accept(int, struct sockaddr *, int *);\n> \n> and it would work. EVERYWHERE. No autoconf crap required.\n> \n> So don't talk to me about documentation. It's pure and unadulterated crap.\n\nOkay. I have to admit that what you presented is a good argument.\n\nHowever, the code I usually have to deal with is comparable to what you \nread on www.thedailywtf.com, and even a \"socklen_t l;\" with that type of \ncode is more helpful than a simple \"int l;\", which might even be reused as \nsomething completely different.\n\nThat said, in a well designed and clean project, such as git, such types \nof documentation should not be necessary.\n\nCiao,\nDscho\n"}]}