{"thread":{"id":"30317","subject":"Build without BUILT_INS","startedAt":"2012-04-24T02:19:44Z","lastAt":"2012-04-25T03:11:09Z","messageCount":5,"participants":["Steven Penny","Junio C Hamano","Andreas Ericsson"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"189927","messageId":"CAAXzdLVbqp-_9A+BwcOuiHi3A39gAJb7_NqANfhAfuK9-+iZ0g@mail.gmail.com","threadId":"30317","inReplyTo":null,"subject":"Build without BUILT_INS","fromName":"Steven Penny","fromEmail":"svnpenn@gmail.com","sentAt":"2012-04-24T02:19:44Z","receivedAt":"2012-04-24T02:19:44Z","isPatch":false,"sender":{"key":"svnpenn@gmail.com","avatar":"https://avatars.githubusercontent.com/u/60531334?v=4"},"body":"I would like to build Git for Windows without the hard links in libexec/git-core\n\nI tried doing\n\nmake install prefix=/c/git BUILT_INS=\n\nand I get this error\n\ninstall git.exe git-upload-pack.exe git-receive-pack.exe\ngit-upload-archive.exe git-shell.exe git-cvsserver '/c/git/bin'\ninstall: cannot stat `git-receive-pack.exe': No such file or directory\ninstall: cannot stat `git-upload-archive.exe': No such file or directory\nmake: *** [install] Error 1\n\nIs there a way to build Git without the built-ins?\n\nSome discussion here\n\nhttp://github.com/msysgit/git/pull/4\n"},{"id":"189930","messageId":"xmqqmx61hmtu.fsf@junio.mtv.corp.google.com","threadId":"30317","inReplyTo":"CAAXzdLVbqp-_9A+BwcOuiHi3A39gAJb7_NqANfhAfuK9-+iZ0g@mail.gmail.com","subject":"Re: Build without BUILT_INS","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-04-24T02:42:53Z","receivedAt":"2012-04-24T02:42:53Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Steven Penny <svnpenn@gmail.com> writes:\n\n> I would like to build Git for Windows without the hard links in libexec/git-core\n>\n> I tried doing\n>\n> make install prefix=/c/git BUILT_INS=\n>\n> and I get this error\n\nUnsurprising.\n\nWhat are you trying to do?  Are you trying to build a git that does not\nknow any of the built-in commands like \"checkout\", \"commit\", etc?  Or do\nyou still want a full-featured git, but because you know the code to\nperform \"git foo\" for any builtin command \"foo\" is contained in git\nexecutable itself, you want to \"rm -f git-foo\" from the filesystem?\n\nThe latter is a bad idea to begin with, as it will break older scripts\nthat trust the promise that by having git --exec-path early on the $PATH\nolder forms \"git-foo\" will always work.\n\nIf you really want to do so, the right way is not by mucking BUILT_INS\nto empty.  I do not know how GfW is built, but if it uses our usual\nMakefile, find the place where it installs the git-foo forms of links\nafter it installs the main git executable, and comment it out.\n\nAnd no, it will *not* be a compilation option, as the resulting\ninstallation will break the age-old promise we made to script writers.\n\nGood luck, and have fun.\n"},{"id":"189955","messageId":"4F96650E.7040900@op5.se","threadId":"30317","inReplyTo":"xmqqmx61hmtu.fsf@junio.mtv.corp.google.com","subject":"Re: Build without BUILT_INS","fromName":"Andreas Ericsson","fromEmail":"ae@op5.se","sentAt":"2012-04-24T08:32:14Z","receivedAt":"2012-04-24T08:32:14Z","isPatch":false,"sender":{"key":"ae@op5.se","avatar":"https://gravatar.com/avatar/426e89595c75a8f5252dd0c989e5fabe5bcac616e68557427ad9aef6b0ca342a?d=mp&s=160"},"body":"On 04/24/2012 04:42 AM, Junio C Hamano wrote:\n> Steven Penny<svnpenn@gmail.com>  writes:\n> \n>> I would like to build Git for Windows without the hard links in libexec/git-core\n>>\n>> I tried doing\n>>\n>> make install prefix=/c/git BUILT_INS=\n>>\n>> and I get this error\n> \n> Unsurprising.\n> \n> What are you trying to do?  Are you trying to build a git that does not\n> know any of the built-in commands like \"checkout\", \"commit\", etc?  Or do\n> you still want a full-featured git, but because you know the code to\n> perform \"git foo\" for any builtin command \"foo\" is contained in git\n> executable itself, you want to \"rm -f git-foo\" from the filesystem?\n> \n> The latter is a bad idea to begin with, as it will break older scripts\n> that trust the promise that by having git --exec-path early on the $PATH\n> older forms \"git-foo\" will always work.\n> \n> If you really want to do so, the right way is not by mucking BUILT_INS\n> to empty.  I do not know how GfW is built, but if it uses our usual\n> Makefile, find the place where it installs the git-foo forms of links\n> after it installs the main git executable, and comment it out.\n> \n> And no, it will *not* be a compilation option, as the resulting\n> installation will break the age-old promise we made to script writers.\n> \n\nOtoh, we did warn that we were going to deprecate the 'git-foo' form back\nin 2005 when the git wrapper was rewritten in C, so perhaps we should\nconsider marking it as deprecated now so we can get rid of them altogether\naltogether in another seven years. ;)\n\n-- \nAndreas Ericsson                   andreas.ericsson@op5.se\nOP5 AB                             www.op5.se\nTel: +46 8-230225                  Fax: +46 8-230231\n\nConsidering the successes of the wars on alcohol, poverty, drugs and\nterror, I think we should give some serious thought to declaring war\non peace.\n"},{"id":"189985","messageId":"xmqqwr54gbo0.fsf@junio.mtv.corp.google.com","threadId":"30317","inReplyTo":"4F96650E.7040900@op5.se","subject":"Re: Build without BUILT_INS","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-04-24T19:41:35Z","receivedAt":"2012-04-24T19:41:35Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Andreas Ericsson <ae@op5.se> writes:\n\n> On 04/24/2012 04:42 AM, Junio C Hamano wrote:\n>>  ...\n>> And no, it will *not* be a compilation option, as the resulting\n>> installation will break the age-old promise we made to script writers.\n>\n> Otoh, we did warn that we were going to deprecate the 'git-foo' form back\n> in 2005 when the git wrapper was rewritten in C, so perhaps we should\n> consider...\n\nWe already discussed it and shot it down soon after 1.6.0 fiasco.\n\n    http://thread.gmane.org/gmane.comp.version-control.git/93511\n\nPlease do not drag me into that mess again.\n"},{"id":"190043","messageId":"CAAXzdLXa_s4yDzV4HJk3dV1hYU1cekMXqcvEvoPcDrTm0tAyXQ@mail.gmail.com","threadId":"30317","inReplyTo":"xmqqmx61hmtu.fsf@junio.mtv.corp.google.com","subject":"Re: Build without BUILT_INS","fromName":"Steven Penny","fromEmail":"svnpenn@gmail.com","sentAt":"2012-04-25T03:11:09Z","receivedAt":"2012-04-25T03:11:09Z","isPatch":false,"sender":{"key":"svnpenn@gmail.com","avatar":"https://avatars.githubusercontent.com/u/60531334?v=4"},"body":"Junio C Hamano wrote:\n> And no, it will *not* be a compilation option, as the resulting\n> installation will break the age-old promise we made to script writers.\n\nA compilation option, does not break any promise to script writers.\n\nThe default build still has hard links.\n\nA compilation option, such as \"make NO_BUILTINS=1\" would merely give\nusers the choice to build without the hard links; an option they do\n_not_ have currently.\n\nSeeing how there already is\n\nNO_GETTEXT\nNO_OPENSSL\nNO_TCLTK\n\nand so on, I dont see this as being a big issue to add.\n"}]}