All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: Jonathan Nieder <jrnieder@gmail.com>,
	Nguyen Thai Ngoc Duy <pclouds@gmail.com>,
	git@vger.kernel.org, Nicolas Pitre <nico@fluxnic.net>,
	Sverre Rabbelier <srabbelier@gmail.com>
Subject: Re: [RFC/PATCH 0/3] Thinning the git toplevel directory
Date: Tue, 22 Feb 2011 11:30:41 -0800	[thread overview]
Message-ID: <7v4o7vdfz2.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: <20110222155637.GC27178@sigill.intra.peff.net> (Jeff King's message of "Tue\, 22 Feb 2011 10\:56\:37 -0500")

Jeff King <peff@peff.net> writes:

> On Sat, Feb 19, 2011 at 05:11:03AM -0600, Jonathan Nieder wrote:
>
>>  - merge builtins/ with commands/.  It never was clear to me why
>>    making a command builtin should require changing its filename.
>
> This may be a bit too radical, but maybe the Makefile should use this
> structure to save maintenance effort. In other words, is there any
> reason not to just have:
>
>   BUILTIN_SOURCES = $(wildcard builtin/*.c)
>   BUILTIN_OBJS = $(patsubst builtin/%.c, builtin/%.o, $(BUILTIN_SOURCES))
>
> and similar for LIB_OBJS and LIB_H?

The developers would have to be careful not to put a throw-away test
programs written in C (especially the ones that has its own "main()") in
builtin/ (or lib/) directories if we go that route.  This obviously cuts
both ways; it sometimes is handy.

> It is one less thing to need to do when writing new code, and one less
> thing to have silly textual conflicts on. It probably doesn't matter
> that much, though; we don't actually add new files or commands all that
> often.

Yeah, you would need to add an entry to the builtin command list yourself
anyway, until we also autogenerate it, which I doubt will ever happen nor
is necessarily a good idea.

> Speaking of Makefiles, one downside to all of this directory
> segmentation is that you can't run "make" from the subdirectories.

I had an impression that "make -C lib/" would be one of the goals, iow,
when we split the directory structure, the next step would be to split the
top-level Makefile so that each directory is covered by its own Makefile,
just like Documentation/ is already usable that way.

Not that libgit.a in its current shape is very useful outside the context
of the git.git proper, though.

  reply	other threads:[~2011-02-22 19:31 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-09 15:14 [PATCH/RFC] Move test-*.c to test/ subdirectory Nguyễn Thái Ngọc Duy
2011-02-09 15:23 ` Nguyen Thai Ngoc Duy
2011-02-09 22:15 ` Junio C Hamano
2011-02-10  2:14   ` [PATCH] Move test-* to t/helper/ subdirectory Nguyễn Thái Ngọc Duy
2011-02-18  2:27     ` [RFC/PATCH 0/3] Thinning the git toplevel directory Jonathan Nieder
2011-02-18  2:31       ` [PATCH 1/3] Move libgit.a sources into a libgit/ subdirectory Jonathan Nieder
2011-02-18  3:47         ` Nguyen Thai Ngoc Duy
2011-02-18  4:14           ` Jonathan Nieder
2011-02-18  4:18             ` Jeff King
2011-02-18  5:58               ` Jonathan Nieder
2011-02-18  4:31         ` Nguyen Thai Ngoc Duy
2011-02-18  2:33       ` [PATCH 2/3] Move test-* into a test-programs/ subdirectory Jonathan Nieder
2011-02-18  2:37       ` [PATCH 3/3] Move header files into a include/ subdirectory Jonathan Nieder
2011-02-18  3:52         ` Nguyen Thai Ngoc Duy
2011-02-18  4:29           ` [RFC/PATCH 4 to 6/3] Move remaining " Jonathan Nieder
2011-02-18  4:32             ` [PATCH 4/3] compat: do not use relative paths to refer to git-compat-util.h et al Jonathan Nieder
2011-02-18  4:34             ` [PATCH 5/3] block-sha1: do not use relative path for git-compat-util.h Jonathan Nieder
2011-02-18  4:35             ` [PATCH 6/3] Move git-compat-util.h, strbuf.h, and cache.h to include/ Jonathan Nieder
2011-02-18  3:56       ` [RFC/PATCH 0/3] Thinning the git toplevel directory Nguyen Thai Ngoc Duy
2011-02-18  4:51         ` [RFC/PATCH 7 - 9/3] " Jonathan Nieder
2011-02-18  4:52           ` [PATCH 7/3] Move test-sha1.sh to test-programs/ Jonathan Nieder
2011-02-18  4:55           ` [PATCH 8/3] Move build helpers to scripts/ subdirectory Jonathan Nieder
2011-02-18  5:04           ` [PATCH 9/3] Move non-builtin git commands and script libraries to a subdirectory Jonathan Nieder
2011-02-18  9:25         ` [RFC/PATCH 0/3] Thinning the git toplevel directory Jonathan Nieder
2011-02-18 11:08           ` Jeff King
2011-02-18 12:33             ` Jonathan Nieder
2011-02-18 12:33           ` Nguyen Thai Ngoc Duy
2011-02-18 18:55           ` Junio C Hamano
2011-02-19 11:11             ` Jonathan Nieder
2011-02-19 23:05               ` Sverre Rabbelier
2011-02-19 23:15                 ` The git_remote_helpers package (Re: [RFC/PATCH 0/3] Thinning the git toplevel directory) Jonathan Nieder
2011-02-22 15:56               ` [RFC/PATCH 0/3] Thinning the git toplevel directory Jeff King
2011-02-22 19:30                 ` Junio C Hamano [this message]
2011-02-22 19:32                   ` Sverre Rabbelier
2011-02-23  4:51                   ` Jeff King
2011-02-23  8:29                     ` Jonathan Nieder
2011-02-23  8:43                       ` Jeff King
2011-02-23  9:56                         ` Recursive make and variations on the theme Jonathan Nieder
2011-02-23 16:42                     ` [RFC/PATCH 0/3] Thinning the git toplevel directory Junio C Hamano
2011-02-23 17:18                       ` Nicolas Pitre
2011-02-23 23:09                         ` Drew Northup
2011-02-24  0:14                           ` Nicolas Pitre
2011-02-24 17:10                             ` Drew Northup
2011-02-24 18:04                               ` Nicolas Pitre
2011-02-24 19:08                                 ` Jeff King
2011-02-24 19:46                                   ` Drew Northup
2011-02-19  0:10           ` Piotr Krukowiecki
2011-02-19  0:31             ` Junio C Hamano
2011-02-19  0:50               ` Jonathan Nieder
2011-02-19  9:27                 ` Piotr Krukowiecki
2011-02-19  9:24               ` Piotr Krukowiecki
2011-02-19  9:41                 ` Advertising the prebuilt htmldocs and manpages Jonathan Nieder
2011-02-20  6:52                   ` Junio C Hamano
2011-02-20  9:40                     ` Jonathan Nieder

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=7v4o7vdfz2.fsf@alter.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=jrnieder@gmail.com \
    --cc=nico@fluxnic.net \
    --cc=pclouds@gmail.com \
    --cc=peff@peff.net \
    --cc=srabbelier@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.