git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Build without BUILT_INS
@ 2012-04-24  2:19 Steven Penny
  2012-04-24  2:42 ` Junio C Hamano
  0 siblings, 1 reply; 5+ messages in thread
From: Steven Penny @ 2012-04-24  2:19 UTC (permalink / raw)
  To: git

I would like to build Git for Windows without the hard links in libexec/git-core

I tried doing

make install prefix=/c/git BUILT_INS=

and I get this error

install git.exe git-upload-pack.exe git-receive-pack.exe
git-upload-archive.exe git-shell.exe git-cvsserver '/c/git/bin'
install: cannot stat `git-receive-pack.exe': No such file or directory
install: cannot stat `git-upload-archive.exe': No such file or directory
make: *** [install] Error 1

Is there a way to build Git without the built-ins?

Some discussion here

http://github.com/msysgit/git/pull/4

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Build without BUILT_INS
  2012-04-24  2:19 Build without BUILT_INS Steven Penny
@ 2012-04-24  2:42 ` Junio C Hamano
  2012-04-24  8:32   ` Andreas Ericsson
  2012-04-25  3:11   ` Steven Penny
  0 siblings, 2 replies; 5+ messages in thread
From: Junio C Hamano @ 2012-04-24  2:42 UTC (permalink / raw)
  To: Steven Penny; +Cc: git

Steven Penny <svnpenn@gmail.com> writes:

> I would like to build Git for Windows without the hard links in libexec/git-core
>
> I tried doing
>
> make install prefix=/c/git BUILT_INS=
>
> and I get this error

Unsurprising.

What are you trying to do?  Are you trying to build a git that does not
know any of the built-in commands like "checkout", "commit", etc?  Or do
you still want a full-featured git, but because you know the code to
perform "git foo" for any builtin command "foo" is contained in git
executable itself, you want to "rm -f git-foo" from the filesystem?

The latter is a bad idea to begin with, as it will break older scripts
that trust the promise that by having git --exec-path early on the $PATH
older forms "git-foo" will always work.

If you really want to do so, the right way is not by mucking BUILT_INS
to empty.  I do not know how GfW is built, but if it uses our usual
Makefile, find the place where it installs the git-foo forms of links
after it installs the main git executable, and comment it out.

And no, it will *not* be a compilation option, as the resulting
installation will break the age-old promise we made to script writers.

Good luck, and have fun.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Build without BUILT_INS
  2012-04-24  2:42 ` Junio C Hamano
@ 2012-04-24  8:32   ` Andreas Ericsson
  2012-04-24 19:41     ` Junio C Hamano
  2012-04-25  3:11   ` Steven Penny
  1 sibling, 1 reply; 5+ messages in thread
From: Andreas Ericsson @ 2012-04-24  8:32 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Steven Penny, git

On 04/24/2012 04:42 AM, Junio C Hamano wrote:
> Steven Penny<svnpenn@gmail.com>  writes:
> 
>> I would like to build Git for Windows without the hard links in libexec/git-core
>>
>> I tried doing
>>
>> make install prefix=/c/git BUILT_INS=
>>
>> and I get this error
> 
> Unsurprising.
> 
> What are you trying to do?  Are you trying to build a git that does not
> know any of the built-in commands like "checkout", "commit", etc?  Or do
> you still want a full-featured git, but because you know the code to
> perform "git foo" for any builtin command "foo" is contained in git
> executable itself, you want to "rm -f git-foo" from the filesystem?
> 
> The latter is a bad idea to begin with, as it will break older scripts
> that trust the promise that by having git --exec-path early on the $PATH
> older forms "git-foo" will always work.
> 
> If you really want to do so, the right way is not by mucking BUILT_INS
> to empty.  I do not know how GfW is built, but if it uses our usual
> Makefile, find the place where it installs the git-foo forms of links
> after it installs the main git executable, and comment it out.
> 
> And no, it will *not* be a compilation option, as the resulting
> installation will break the age-old promise we made to script writers.
> 

Otoh, we did warn that we were going to deprecate the 'git-foo' form back
in 2005 when the git wrapper was rewritten in C, so perhaps we should
consider marking it as deprecated now so we can get rid of them altogether
altogether in another seven years. ;)

-- 
Andreas Ericsson                   andreas.ericsson@op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Build without BUILT_INS
  2012-04-24  8:32   ` Andreas Ericsson
@ 2012-04-24 19:41     ` Junio C Hamano
  0 siblings, 0 replies; 5+ messages in thread
From: Junio C Hamano @ 2012-04-24 19:41 UTC (permalink / raw)
  To: Andreas Ericsson; +Cc: Steven Penny, git

Andreas Ericsson <ae@op5.se> writes:

> On 04/24/2012 04:42 AM, Junio C Hamano wrote:
>>  ...
>> And no, it will *not* be a compilation option, as the resulting
>> installation will break the age-old promise we made to script writers.
>
> Otoh, we did warn that we were going to deprecate the 'git-foo' form back
> in 2005 when the git wrapper was rewritten in C, so perhaps we should
> consider...

We already discussed it and shot it down soon after 1.6.0 fiasco.

    http://thread.gmane.org/gmane.comp.version-control.git/93511

Please do not drag me into that mess again.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Build without BUILT_INS
  2012-04-24  2:42 ` Junio C Hamano
  2012-04-24  8:32   ` Andreas Ericsson
@ 2012-04-25  3:11   ` Steven Penny
  1 sibling, 0 replies; 5+ messages in thread
From: Steven Penny @ 2012-04-25  3:11 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Junio C Hamano wrote:
> And no, it will *not* be a compilation option, as the resulting
> installation will break the age-old promise we made to script writers.

A compilation option, does not break any promise to script writers.

The default build still has hard links.

A compilation option, such as "make NO_BUILTINS=1" would merely give
users the choice to build without the hard links; an option they do
_not_ have currently.

Seeing how there already is

NO_GETTEXT
NO_OPENSSL
NO_TCLTK

and so on, I dont see this as being a big issue to add.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-04-25  3:11 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-24  2:19 Build without BUILT_INS Steven Penny
2012-04-24  2:42 ` Junio C Hamano
2012-04-24  8:32   ` Andreas Ericsson
2012-04-24 19:41     ` Junio C Hamano
2012-04-25  3:11   ` Steven Penny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).