From: Jonathan Nieder <jrnieder@gmail.com>
To: Jeff King <peff@peff.net>
Cc: Nguyen Thai Ngoc Duy <pclouds@gmail.com>,
git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
Nicolas Pitre <nico@fluxnic.net>
Subject: Re: [RFC/PATCH 0/3] Thinning the git toplevel directory
Date: Fri, 18 Feb 2011 06:33:07 -0600 [thread overview]
Message-ID: <20110218123306.GA1428@elie> (raw)
In-Reply-To: <20110218110810.GC7262@sigill.intra.peff.net>
Jeff King wrote:
> On Fri, Feb 18, 2011 at 03:25:18AM -0600, Jonathan Nieder wrote:
>> - moved the http support mini-library to http/.
>
> Seems like a weird one-off to me, as it only has two files.
That was just to get the files out of the toplevel. I suspect the
reason they are not part of libgit is to isolate the expat and curl
linkage.
Hmm, maybe an http/README explaining that would be nice.
> So I
> think python/git_remote_helpers would probably be a more appropriate
> name in case we ever grow more python code.
Good idea. So the layout would be:
python/
Makefile
git_remote_helpers/
...
> - There are a still a lot of directories. I wonder if we should
> be going deeper. Like commands/builtin. Or lib/*.
For reference:
Documentation/
block-sha1/ fast, portable sha1 routine
builtin/ built-in (busybox style) commands
commands/ stand-alone commands
compat/ compatibility replacements, platform-specific code
contrib/ contributed software
gitk-git/ gitk
gitweb/ web interface
git-gui/ gui
http/ code for use in HTTP support commands (wraps curl and expat)
libgit/ code for use in multiple commands
perl/ Git.pm
ppc/ fast sha1 routine in powerpc assembler
python/ python-fastimport + a remote-helper protocol helper
scripts/ build scripts
t/ tests
templates/ repository skeleton
test-programs/ sample programs to exercise libgit, vcs-svn, and the sha1 lib
xdiff/ diff generator
vcs-svn/ svn interop
To give an extreme example :), this could be pruned to
Documentation/
commands/
contrib/
libgit/
scripts/
templates/
testsuite/
xdiff/
by
- not distinguishing builtins from non-builtins by filename
- dropping gitk, git gui, and gitweb from the tree
- moving test programs into the testsuite
- moving sha1 implementations and compatibility code under libgit
- including http support files in libgit/ even though they are not
part of libgit.a
- moving perl and python libraries under libgit
> - Some names seem funny. Like "gitk-git", which really should
> just be "gitk".
I think it was originally to make the transition from file to
directory smoother.
> But I think that is a limitation of the subtree
> merge.
Should work fine, no? Since / in common ancestor matches gitk/ in
HEAD, that would be the detected shift. (Caveat: I haven't tried it.)
> - Before build, "ls | wc -l" reports 35 entries. Afterwards, it
> reports 213, and any structure you uncovered in reorganization
> is lost.
I think the best way to fix this is to provide support[1] for
make O=build/
for those who want to maintain a clean source tree.
Thanks for some good ideas.
Jonathan
[1] There's a skeleton of such support here:
http://thread.gmane.org/gmane.comp.version-control.git/165720/focus=165850
I don't think I'm the right one to take it further, though, since I
don't really like to use "make O=elsewhere".
next prev parent reply other threads:[~2011-02-18 12:33 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 [this message]
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
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=20110218123306.GA1428@elie \
--to=jrnieder@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=nico@fluxnic.net \
--cc=pclouds@gmail.com \
--cc=peff@peff.net \
/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.