git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Junio C Hamano <gitster@pobox.com>
Cc: Nguyen Thai Ngoc Duy <pclouds@gmail.com>, Jan Hudec <bulb@ucw.cz>,
	git@vger.kernel.org
Subject: Re: [PATCH] Move all dashed form git commands to libexecdir
Date: Wed, 28 Nov 2007 23:40:07 +0000 (GMT)	[thread overview]
Message-ID: <Pine.LNX.4.64.0711282334250.27959@racer.site> (raw)
In-Reply-To: <7vfxyq2c9b.fsf@gitster.siamese.dyndns.org>

Hi,

On Wed, 28 Nov 2007, Junio C Hamano wrote:

> "Nguyen Thai Ngoc Duy" <pclouds@gmail.com> writes:
> 
> > On Nov 28, 2007 8:13 AM, Junio C Hamano <gitster@pobox.com> wrote:
> >> In case somebody is thinking about 36e5e70e0f40 (Start deprecating
> >> "git-command" in favor of "git command"), that is a somewhat different
> >> issue.  What Linus suggested is not installing git-foo link for built-in
> >> commands _anywhere_ on the filesystem.  Not just "out of user's PATH".
> >> That is not deprecating dash form but removing the support for it.  We
> >> need to give ample time for users to adjust to such a change.
> >
> > A little note on this one. I've been using git without builtin links
> > for a while with my git-box port. There are still some builtin fixups
> > needed. And because execv_git_cmd() always uses dash form, so it's
> > impossible to use vanilla git without builtin links.
> 
> Thanks for a heads up.
> 
> Would people agree with a rough roadmap like this?
> 
>  - v1.5.4 will ship with gitexecdir=$(bindir) in Makefile.  But the
>    release notes for the version will warn users that:
> 
>    (1) using git-foo from the command line, and
> 
>    (2) using git-foo from your scripts without first prepending the
>        return value of "git --exec-path" to the PATH
> 
>    is now officially deprecated (it has been deprecated for a long time
>    since January 2006, v1.2.0~149) and upcoming v1.5.5 will ship with
>    the default configuration that does not install git-foo form in
>    user's PATH.

Maybe we can squeeze a step in here where only porcelains are installed in 
the bindir?

FWIW I think that we should fix the problem with the builtins being called 
via their hard links.  But how?  As of now, libgit.a has no idea what the 
builtins are; this information is buried in git.c.

The fundamental problem is that we cannot move handle_internal_command() 
into libgit.a, because it has pointers to all builtin cmd_*() functions.

So maybe the best solution would be to try "git <command>" first, and then 
"git-<command>"?  But this means another exec() call :-(

Ciao,
Dscho

  reply	other threads:[~2007-11-28 23:40 UTC|newest]

Thread overview: 92+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-27 15:02 [PATCH RFC] Move all dashed form git commands to libexecdir Nguyễn Thái Ngọc Duy
2007-11-27 15:12 ` Johannes Schindelin
2007-11-27 15:25 ` Nicolas Pitre
2007-11-27 16:04 ` [PATCH] " Nguyễn Thái Ngoc Duy
2007-11-27 16:18   ` Johannes Schindelin
2007-11-28  0:07     ` Jan Hudec
2007-11-28  1:13       ` Junio C Hamano
2007-11-28  8:18         ` Jan Hudec
2007-11-28  8:36         ` Nguyen Thai Ngoc Duy
2007-11-28 23:14           ` Junio C Hamano
2007-11-28 23:40             ` Johannes Schindelin [this message]
2007-11-28 23:48               ` Junio C Hamano
2007-11-29  0:01                 ` Johannes Schindelin
2007-11-29  0:59             ` A Large Angry SCM
2007-11-29  1:02               ` Junio C Hamano
2007-11-29  3:17             ` Nguyen Thai Ngoc Duy
2007-11-29 14:09               ` Nicolas Pitre
2007-11-29 22:36                 ` Junio C Hamano
2007-11-30  7:32                   ` Wincent Colaiuta
2007-11-30 11:28                   ` Eyvind Bernhardsen
2007-11-30 12:08                     ` [PATCH] transport.c: call dash-less form of receive-pack and upload-pack on remote Johannes Schindelin
2007-12-01  2:36                       ` Junio C Hamano
2007-12-01 10:17                         ` Johannes Schindelin
2007-12-01 19:30                           ` Junio C Hamano
2007-12-01 23:03                             ` Johannes Schindelin
2007-12-01 23:15                               ` Johannes Schindelin
2007-12-02  1:57                                 ` Junio C Hamano
2007-12-02  2:52                                 ` [PATCH 0/3] Call builtin functions directly, was " Johannes Schindelin
2007-12-02  2:54                                   ` [PATCH 1/3] Introduce release_all_objects() Johannes Schindelin
2007-12-02  2:54                                   ` [PATCH 2/3] Include the objects needed for the builtin functions into libgit.a Johannes Schindelin
2007-12-02  2:55                                   ` [PATCH 3/3] Introduce execv_git_builtin() and use it Johannes Schindelin
2007-12-02  3:04                                     ` Johannes Schindelin
2007-12-02  3:16                                       ` [REPLACEMENT PATCH " Johannes Schindelin
2007-12-02  5:19                                   ` [PATCH 0/3] Call builtin functions directly, was Re: [PATCH] transport.c: call dash-less form of receive-pack and upload-pack on remote Junio C Hamano
2007-12-02 11:35                                     ` Johannes Schindelin
2007-11-30 12:19                     ` [PATCH] Move all dashed form git commands to libexecdir Nguyen Thai Ngoc Duy
2007-11-30 13:35                       ` Johannes Schindelin
2007-11-29 15:08             ` Jeff King
2007-11-29 20:05               ` Nguyen Thai Ngoc Duy
2007-11-29 21:14                 ` Jeff King
2007-11-29 22:19                   ` Johannes Schindelin
2007-11-29 23:14                     ` Jeff King
2007-11-29 23:30                       ` Linus Torvalds
2007-11-30  0:13                         ` Junio C Hamano
2007-11-30  0:35                           ` Jeff King
2007-11-30  0:49                             ` Junio C Hamano
2007-11-30  0:58                               ` Jeff King
2007-11-30  1:13                                 ` Nicolas Pitre
2007-11-30  1:17                                   ` Jeff King
2007-11-30  5:42                                     ` Steffen Prohaska
2007-11-30  7:18                                     ` Andreas Ericsson
2007-11-30 15:09                                       ` Jeff King
2007-11-30 20:01                                         ` Junio C Hamano
2007-11-30 21:25                                           ` Jeff King
2007-11-30 23:10                                             ` Johannes Schindelin
2007-12-02 15:02                                               ` Wincent Colaiuta
2007-12-02 16:39                                                 ` Johannes Schindelin
2007-12-02 16:56                                                   ` Pascal Obry
2007-12-02 17:23                                                     ` Johannes Schindelin
2007-12-01  2:37                                             ` Junio C Hamano
2007-12-01  4:17                                               ` Jeff King
2007-11-30  2:29                                 ` Linus Torvalds
2007-11-30  2:55                                   ` Nicolas Pitre
2007-11-30  5:51                                   ` Steffen Prohaska
2007-11-30 15:12                                     ` Jeff King
2007-11-30 15:28                                       ` Santi Béjar
2007-11-30 15:29                                         ` Jeff King
2007-11-30 15:50                                           ` Linus Torvalds
2007-11-30 16:22                                             ` Jeff King
2007-11-30 18:28                                               ` Johannes Schindelin
2007-11-30 18:37                                                 ` Jeff King
2007-11-30 23:05                                                   ` Johannes Schindelin
2007-11-30 23:21                                                     ` Jeff King
2007-11-30 23:38                                                       ` Johannes Schindelin
     [not found]                                             ` <fcaeb9bf0711302234l32460a1fqbf9825fc8055f99d@mail.gmail.com>
2007-12-01 19:32                                               ` Junio C Hamano
2007-12-01 21:26                                                 ` Jeff King
2007-12-02  5:50                                                 ` Nguyen Thai Ngoc Duy
2007-11-30  0:52                             ` Nicolas Pitre
2007-11-30  1:00                               ` Jeff King
2007-11-30  1:19                                 ` Nicolas Pitre
2007-11-30  1:25                                   ` Jeff King
2007-11-30  1:33                                     ` Nicolas Pitre
2007-11-30  1:53                                       ` Jeff King
2007-11-30  2:23                                         ` A Large Angry SCM
2007-11-30  0:40                           ` Nguyen Thai Ngoc Duy
2007-11-30  0:51                           ` A Large Angry SCM
2007-11-30  0:54                             ` Johannes Schindelin
2007-11-30  2:03                               ` A Large Angry SCM
2007-11-30  1:01                             ` Nicolas Pitre
2007-11-30  2:17                               ` A Large Angry SCM
2007-11-30  2:27                                 ` Nicolas Pitre
2007-11-29  0:14           ` Jakub Narebski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.64.0711282334250.27959@racer.site \
    --to=johannes.schindelin@gmx.de \
    --cc=bulb@ucw.cz \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=pclouds@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).