git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFD] Deepen the git directory structure a bit.
@ 2010-02-18 18:36 Linus Torvalds
  2010-02-18 20:24 ` Junio C Hamano
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Linus Torvalds @ 2010-02-18 18:36 UTC (permalink / raw)
  To: Git Mailing List, Junio C Hamano


Ok, this is just a request-for-discussion. I'm trying out a patch like 
this, and I think it's a step in the right direction. The git directory 
structure is _very_ flat, and currently in a fully built git tree, the 
top-level directory has something like 750 files in it.

After this, it still has a ton of files, but it has shrunk to ~575 files 
instead, and at least for my (admittedly somewhat odd) setup, that 
actually matters for auto-completion etc.

I think this coul probably be done differently (I'm not proud of that ugly 
'-I. -Ibuiltin' addition to the CFLAGS, for example), and I think there 
are _other_ things we could also try to do to move files into 
subdirectories, but this was a fairly easy thing to basically script.

What do people think?

			Linus

---
From: Linus Torvalds <torvalds@linux-foundation.org>
Date: Thu, 18 Feb 2010 10:11:32 -0800
Subject: [PATCH] Move 'builtin-*' into a 'builtin/' subdirectory

This shrinks the top-level directory a bit, and makes it much more
pleasant to use auto-completion on the thing. Instead of

	[torvalds@nehalem git]$ em buil<tab>
	Display all 180 possibilities? (y or n)
	[torvalds@nehalem git]$ em builtin-sh
	builtin-shortlog.c     builtin-show-branch.c  builtin-show-ref.c
	builtin-shortlog.o     builtin-show-branch.o  builtin-show-ref.o
	[torvalds@nehalem git]$ em builtin-shor<tab>
	builtin-shortlog.c  builtin-shortlog.o
	[torvalds@nehalem git]$ em builtin-shortlog.c

you get

	[torvalds@nehalem git]$ em buil<tab>		[type]
	[torvalds@nehalem git]$ em builtin/		[auto-completes to]
	[torvalds@nehalem git]$ em builtin/sh<tab>	[type]
	shortlog.c     shortlog.o     show-branch.c  show-branch.o  show-ref.c     show-ref.o
	[torvalds@nehalem git]$ em builtin/sho		[auto-completes to]
	[torvalds@nehalem git]$ em builtin/shor<tab>	[type]
	shortlog.c  shortlog.o
	[torvalds@nehalem git]$ em builtin/shortlog.c

which doesn't seem all that different, but not having that annoying
break in "Display all 180 possibilities?" is quite a relief.

NOTE! If you do this in a clean tree (no object files etc), or using an
editor that has auto-completion rules that ignores '*.o' files, you
won't see that annoying 'Display all 180 possibilities?' message - it
will just show the choices instead.  I think bash has some cut-off
around 100 choices or something.

So the reason I see this is that I'm using an odd editory, and thus
don't have the rules to cut down on auto-completion.  But you can
simulate that by using 'ls' instead, or something similar. And you can 
tell that there are fewer files in the top directory.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
---
 Makefile                                           |  194 ++++++++++----------
 builtin-add.c => builtin/add.c                     |    0
 builtin-annotate.c => builtin/annotate.c           |    0
 builtin-apply.c => builtin/apply.c                 |    0
 builtin-archive.c => builtin/archive.c             |    0
 .../bisect--helper.c                               |    0
 builtin-blame.c => builtin/blame.c                 |    0
 builtin-branch.c => builtin/branch.c               |    0
 builtin.h => builtin/builtin.h                     |    0
 builtin-bundle.c => builtin/bundle.c               |    0
 builtin-cat-file.c => builtin/cat-file.c           |    0
 builtin-check-attr.c => builtin/check-attr.c       |    0
 .../check-ref-format.c                             |    0
 .../checkout-index.c                               |    0
 builtin-checkout.c => builtin/checkout.c           |    0
 builtin-clean.c => builtin/clean.c                 |    0
 builtin-clone.c => builtin/clone.c                 |    0
 builtin-commit-tree.c => builtin/commit-tree.c     |    0
 builtin-commit.c => builtin/commit.c               |    0
 builtin-config.c => builtin/config.c               |    0
 builtin-count-objects.c => builtin/count-objects.c |    0
 builtin-describe.c => builtin/describe.c           |    0
 builtin-diff-files.c => builtin/diff-files.c       |    0
 builtin-diff-index.c => builtin/diff-index.c       |    0
 builtin-diff-tree.c => builtin/diff-tree.c         |    0
 builtin-diff.c => builtin/diff.c                   |    0
 builtin-fast-export.c => builtin/fast-export.c     |    0
 builtin-fetch-pack.c => builtin/fetch-pack.c       |    0
 builtin-fetch.c => builtin/fetch.c                 |    0
 builtin-fmt-merge-msg.c => builtin/fmt-merge-msg.c |    0
 builtin-for-each-ref.c => builtin/for-each-ref.c   |    0
 builtin-fsck.c => builtin/fsck.c                   |    0
 builtin-gc.c => builtin/gc.c                       |    0
 builtin-grep.c => builtin/grep.c                   |    0
 builtin-hash-object.c => builtin/hash-object.c     |    0
 builtin-help.c => builtin/help.c                   |    0
 builtin-index-pack.c => builtin/index-pack.c       |    0
 builtin-init-db.c => builtin/init-db.c             |    0
 builtin-log.c => builtin/log.c                     |    0
 builtin-ls-files.c => builtin/ls-files.c           |    0
 builtin-ls-remote.c => builtin/ls-remote.c         |    0
 builtin-ls-tree.c => builtin/ls-tree.c             |    0
 builtin-mailinfo.c => builtin/mailinfo.c           |    0
 builtin-mailsplit.c => builtin/mailsplit.c         |    0
 builtin-merge-base.c => builtin/merge-base.c       |    0
 builtin-merge-file.c => builtin/merge-file.c       |    0
 builtin-merge-index.c => builtin/merge-index.c     |    0
 builtin-merge-ours.c => builtin/merge-ours.c       |    0
 .../merge-recursive.c                              |    0
 builtin-merge-tree.c => builtin/merge-tree.c       |    0
 builtin-merge.c => builtin/merge.c                 |    0
 builtin-mktag.c => builtin/mktag.c                 |    0
 builtin-mktree.c => builtin/mktree.c               |    0
 builtin-mv.c => builtin/mv.c                       |    0
 builtin-name-rev.c => builtin/name-rev.c           |    0
 builtin-pack-objects.c => builtin/pack-objects.c   |    0
 .../pack-redundant.c                               |    0
 builtin-pack-refs.c => builtin/pack-refs.c         |    0
 builtin-patch-id.c => builtin/patch-id.c           |    0
 builtin-prune-packed.c => builtin/prune-packed.c   |    0
 builtin-prune.c => builtin/prune.c                 |    0
 builtin-push.c => builtin/push.c                   |    0
 builtin-read-tree.c => builtin/read-tree.c         |    0
 builtin-receive-pack.c => builtin/receive-pack.c   |    0
 builtin-reflog.c => builtin/reflog.c               |    0
 builtin-remote.c => builtin/remote.c               |    0
 builtin-replace.c => builtin/replace.c             |    0
 builtin-rerere.c => builtin/rerere.c               |    0
 builtin-reset.c => builtin/reset.c                 |    0
 builtin-rev-list.c => builtin/rev-list.c           |    0
 builtin-rev-parse.c => builtin/rev-parse.c         |    0
 builtin-revert.c => builtin/revert.c               |    0
 builtin-rm.c => builtin/rm.c                       |    0
 builtin-send-pack.c => builtin/send-pack.c         |    0
 builtin-shortlog.c => builtin/shortlog.c           |    0
 builtin-show-branch.c => builtin/show-branch.c     |    0
 builtin-show-ref.c => builtin/show-ref.c           |    0
 builtin-stripspace.c => builtin/stripspace.c       |    0
 builtin-symbolic-ref.c => builtin/symbolic-ref.c   |    0
 builtin-tag.c => builtin/tag.c                     |    0
 builtin-tar-tree.c => builtin/tar-tree.c           |    0
 builtin-unpack-file.c => builtin/unpack-file.c     |    0
 .../unpack-objects.c                               |    0
 builtin-update-index.c => builtin/update-index.c   |    0
 builtin-update-ref.c => builtin/update-ref.c       |    0
 .../update-server-info.c                           |    0
 .../upload-archive.c                               |    0
 builtin-var.c => builtin/var.c                     |    0
 builtin-verify-pack.c => builtin/verify-pack.c     |    0
 builtin-verify-tag.c => builtin/verify-tag.c       |    0
 builtin-write-tree.c => builtin/write-tree.c       |    0
 91 files changed, 97 insertions(+), 97 deletions(-)
 rename builtin-add.c => builtin/add.c (100%)
 rename builtin-annotate.c => builtin/annotate.c (100%)
 rename builtin-apply.c => builtin/apply.c (100%)
 rename builtin-archive.c => builtin/archive.c (100%)
 rename builtin-bisect--helper.c => builtin/bisect--helper.c (100%)
 rename builtin-blame.c => builtin/blame.c (100%)
 rename builtin-branch.c => builtin/branch.c (100%)
 rename builtin.h => builtin/builtin.h (100%)
 rename builtin-bundle.c => builtin/bundle.c (100%)
 rename builtin-cat-file.c => builtin/cat-file.c (100%)
 rename builtin-check-attr.c => builtin/check-attr.c (100%)
 rename builtin-check-ref-format.c => builtin/check-ref-format.c (100%)
 rename builtin-checkout-index.c => builtin/checkout-index.c (100%)
 rename builtin-checkout.c => builtin/checkout.c (100%)
 rename builtin-clean.c => builtin/clean.c (100%)
 rename builtin-clone.c => builtin/clone.c (100%)
 rename builtin-commit-tree.c => builtin/commit-tree.c (100%)
 rename builtin-commit.c => builtin/commit.c (100%)
 rename builtin-config.c => builtin/config.c (100%)
 rename builtin-count-objects.c => builtin/count-objects.c (100%)
 rename builtin-describe.c => builtin/describe.c (100%)
 rename builtin-diff-files.c => builtin/diff-files.c (100%)
 rename builtin-diff-index.c => builtin/diff-index.c (100%)
 rename builtin-diff-tree.c => builtin/diff-tree.c (100%)
 rename builtin-diff.c => builtin/diff.c (100%)
 rename builtin-fast-export.c => builtin/fast-export.c (100%)
 rename builtin-fetch-pack.c => builtin/fetch-pack.c (100%)
 rename builtin-fetch.c => builtin/fetch.c (100%)
 rename builtin-fmt-merge-msg.c => builtin/fmt-merge-msg.c (100%)
 rename builtin-for-each-ref.c => builtin/for-each-ref.c (100%)
 rename builtin-fsck.c => builtin/fsck.c (100%)
 rename builtin-gc.c => builtin/gc.c (100%)
 rename builtin-grep.c => builtin/grep.c (100%)
 rename builtin-hash-object.c => builtin/hash-object.c (100%)
 rename builtin-help.c => builtin/help.c (100%)
 rename builtin-index-pack.c => builtin/index-pack.c (100%)
 rename builtin-init-db.c => builtin/init-db.c (100%)
 rename builtin-log.c => builtin/log.c (100%)
 rename builtin-ls-files.c => builtin/ls-files.c (100%)
 rename builtin-ls-remote.c => builtin/ls-remote.c (100%)
 rename builtin-ls-tree.c => builtin/ls-tree.c (100%)
 rename builtin-mailinfo.c => builtin/mailinfo.c (100%)
 rename builtin-mailsplit.c => builtin/mailsplit.c (100%)
 rename builtin-merge-base.c => builtin/merge-base.c (100%)
 rename builtin-merge-file.c => builtin/merge-file.c (100%)
 rename builtin-merge-index.c => builtin/merge-index.c (100%)
 rename builtin-merge-ours.c => builtin/merge-ours.c (100%)
 rename builtin-merge-recursive.c => builtin/merge-recursive.c (100%)
 rename builtin-merge-tree.c => builtin/merge-tree.c (100%)
 rename builtin-merge.c => builtin/merge.c (100%)
 rename builtin-mktag.c => builtin/mktag.c (100%)
 rename builtin-mktree.c => builtin/mktree.c (100%)
 rename builtin-mv.c => builtin/mv.c (100%)
 rename builtin-name-rev.c => builtin/name-rev.c (100%)
 rename builtin-pack-objects.c => builtin/pack-objects.c (100%)
 rename builtin-pack-redundant.c => builtin/pack-redundant.c (100%)
 rename builtin-pack-refs.c => builtin/pack-refs.c (100%)
 rename builtin-patch-id.c => builtin/patch-id.c (100%)
 rename builtin-prune-packed.c => builtin/prune-packed.c (100%)
 rename builtin-prune.c => builtin/prune.c (100%)
 rename builtin-push.c => builtin/push.c (100%)
 rename builtin-read-tree.c => builtin/read-tree.c (100%)
 rename builtin-receive-pack.c => builtin/receive-pack.c (100%)
 rename builtin-reflog.c => builtin/reflog.c (100%)
 rename builtin-remote.c => builtin/remote.c (100%)
 rename builtin-replace.c => builtin/replace.c (100%)
 rename builtin-rerere.c => builtin/rerere.c (100%)
 rename builtin-reset.c => builtin/reset.c (100%)
 rename builtin-rev-list.c => builtin/rev-list.c (100%)
 rename builtin-rev-parse.c => builtin/rev-parse.c (100%)
 rename builtin-revert.c => builtin/revert.c (100%)
 rename builtin-rm.c => builtin/rm.c (100%)
 rename builtin-send-pack.c => builtin/send-pack.c (100%)
 rename builtin-shortlog.c => builtin/shortlog.c (100%)
 rename builtin-show-branch.c => builtin/show-branch.c (100%)
 rename builtin-show-ref.c => builtin/show-ref.c (100%)
 rename builtin-stripspace.c => builtin/stripspace.c (100%)
 rename builtin-symbolic-ref.c => builtin/symbolic-ref.c (100%)
 rename builtin-tag.c => builtin/tag.c (100%)
 rename builtin-tar-tree.c => builtin/tar-tree.c (100%)
 rename builtin-unpack-file.c => builtin/unpack-file.c (100%)
 rename builtin-unpack-objects.c => builtin/unpack-objects.c (100%)
 rename builtin-update-index.c => builtin/update-index.c (100%)
 rename builtin-update-ref.c => builtin/update-ref.c (100%)
 rename builtin-update-server-info.c => builtin/update-server-info.c (100%)
 rename builtin-upload-archive.c => builtin/upload-archive.c (100%)
 rename builtin-var.c => builtin/var.c (100%)
 rename builtin-verify-pack.c => builtin/verify-pack.c (100%)
 rename builtin-verify-tag.c => builtin/verify-tag.c (100%)
 rename builtin-write-tree.c => builtin/write-tree.c (100%)

diff --git a/Makefile b/Makefile
index 7bf2fca..f023f9b 100644
--- a/Makefile
+++ b/Makefile
@@ -301,7 +301,7 @@ SPARSE_FLAGS = -D__BIG_ENDIAN__ -D__powerpc__
 # Those must not be GNU-specific; they are shared with perl/ which may
 # be built by a different compiler. (Note that this is an artifact now
 # but it still might be nice to keep that distinction.)
-BASIC_CFLAGS =
+BASIC_CFLAGS = -I. -Ibuiltin
 BASIC_LDFLAGS =
 
 # Guard against environment variables
@@ -368,8 +368,8 @@ PROGRAMS += git-upload-pack$X
 PROGRAMS += git-http-backend$X
 
 # List built-in command $C whose implementation cmd_$C() is not in
-# builtin-$C.o but is linked in as part of some other command.
-BUILT_INS += $(patsubst builtin-%.o,git-%$X,$(BUILTIN_OBJS))
+# builtin/$C.o but is linked in as part of some other command.
+BUILT_INS += $(patsubst builtin/%.o,git-%$X,$(BUILTIN_OBJS))
 
 BUILT_INS += git-cherry$X
 BUILT_INS += git-cherry-pick$X
@@ -422,7 +422,7 @@ LIB_H += advice.h
 LIB_H += archive.h
 LIB_H += attr.h
 LIB_H += blob.h
-LIB_H += builtin.h
+LIB_H += builtin/builtin.h
 LIB_H += cache.h
 LIB_H += cache-tree.h
 LIB_H += commit.h
@@ -592,95 +592,95 @@ LIB_OBJS += ws.o
 LIB_OBJS += wt-status.o
 LIB_OBJS += xdiff-interface.o
 
-BUILTIN_OBJS += builtin-add.o
-BUILTIN_OBJS += builtin-annotate.o
-BUILTIN_OBJS += builtin-apply.o
-BUILTIN_OBJS += builtin-archive.o
-BUILTIN_OBJS += builtin-bisect--helper.o
-BUILTIN_OBJS += builtin-blame.o
-BUILTIN_OBJS += builtin-branch.o
-BUILTIN_OBJS += builtin-bundle.o
-BUILTIN_OBJS += builtin-cat-file.o
-BUILTIN_OBJS += builtin-check-attr.o
-BUILTIN_OBJS += builtin-check-ref-format.o
-BUILTIN_OBJS += builtin-checkout-index.o
-BUILTIN_OBJS += builtin-checkout.o
-BUILTIN_OBJS += builtin-clean.o
-BUILTIN_OBJS += builtin-clone.o
-BUILTIN_OBJS += builtin-commit-tree.o
-BUILTIN_OBJS += builtin-commit.o
-BUILTIN_OBJS += builtin-config.o
-BUILTIN_OBJS += builtin-count-objects.o
-BUILTIN_OBJS += builtin-describe.o
-BUILTIN_OBJS += builtin-diff-files.o
-BUILTIN_OBJS += builtin-diff-index.o
-BUILTIN_OBJS += builtin-diff-tree.o
-BUILTIN_OBJS += builtin-diff.o
-BUILTIN_OBJS += builtin-fast-export.o
-BUILTIN_OBJS += builtin-fetch-pack.o
-BUILTIN_OBJS += builtin-fetch.o
-BUILTIN_OBJS += builtin-fmt-merge-msg.o
-BUILTIN_OBJS += builtin-for-each-ref.o
-BUILTIN_OBJS += builtin-fsck.o
-BUILTIN_OBJS += builtin-gc.o
-BUILTIN_OBJS += builtin-grep.o
-BUILTIN_OBJS += builtin-hash-object.o
-BUILTIN_OBJS += builtin-help.o
-BUILTIN_OBJS += builtin-index-pack.o
-BUILTIN_OBJS += builtin-init-db.o
-BUILTIN_OBJS += builtin-log.o
-BUILTIN_OBJS += builtin-ls-files.o
-BUILTIN_OBJS += builtin-ls-remote.o
-BUILTIN_OBJS += builtin-ls-tree.o
-BUILTIN_OBJS += builtin-mailinfo.o
-BUILTIN_OBJS += builtin-mailsplit.o
-BUILTIN_OBJS += builtin-merge.o
-BUILTIN_OBJS += builtin-merge-base.o
-BUILTIN_OBJS += builtin-merge-file.o
-BUILTIN_OBJS += builtin-merge-index.o
-BUILTIN_OBJS += builtin-merge-ours.o
-BUILTIN_OBJS += builtin-merge-recursive.o
-BUILTIN_OBJS += builtin-merge-tree.o
-BUILTIN_OBJS += builtin-mktag.o
-BUILTIN_OBJS += builtin-mktree.o
-BUILTIN_OBJS += builtin-mv.o
-BUILTIN_OBJS += builtin-name-rev.o
-BUILTIN_OBJS += builtin-pack-objects.o
-BUILTIN_OBJS += builtin-pack-redundant.o
-BUILTIN_OBJS += builtin-pack-refs.o
-BUILTIN_OBJS += builtin-patch-id.o
-BUILTIN_OBJS += builtin-prune-packed.o
-BUILTIN_OBJS += builtin-prune.o
-BUILTIN_OBJS += builtin-push.o
-BUILTIN_OBJS += builtin-read-tree.o
-BUILTIN_OBJS += builtin-receive-pack.o
-BUILTIN_OBJS += builtin-reflog.o
-BUILTIN_OBJS += builtin-remote.o
-BUILTIN_OBJS += builtin-replace.o
-BUILTIN_OBJS += builtin-rerere.o
-BUILTIN_OBJS += builtin-reset.o
-BUILTIN_OBJS += builtin-rev-list.o
-BUILTIN_OBJS += builtin-rev-parse.o
-BUILTIN_OBJS += builtin-revert.o
-BUILTIN_OBJS += builtin-rm.o
-BUILTIN_OBJS += builtin-send-pack.o
-BUILTIN_OBJS += builtin-shortlog.o
-BUILTIN_OBJS += builtin-show-branch.o
-BUILTIN_OBJS += builtin-show-ref.o
-BUILTIN_OBJS += builtin-stripspace.o
-BUILTIN_OBJS += builtin-symbolic-ref.o
-BUILTIN_OBJS += builtin-tag.o
-BUILTIN_OBJS += builtin-tar-tree.o
-BUILTIN_OBJS += builtin-unpack-file.o
-BUILTIN_OBJS += builtin-unpack-objects.o
-BUILTIN_OBJS += builtin-update-index.o
-BUILTIN_OBJS += builtin-update-ref.o
-BUILTIN_OBJS += builtin-update-server-info.o
-BUILTIN_OBJS += builtin-upload-archive.o
-BUILTIN_OBJS += builtin-var.o
-BUILTIN_OBJS += builtin-verify-pack.o
-BUILTIN_OBJS += builtin-verify-tag.o
-BUILTIN_OBJS += builtin-write-tree.o
+BUILTIN_OBJS += builtin/add.o
+BUILTIN_OBJS += builtin/annotate.o
+BUILTIN_OBJS += builtin/apply.o
+BUILTIN_OBJS += builtin/archive.o
+BUILTIN_OBJS += builtin/bisect--helper.o
+BUILTIN_OBJS += builtin/blame.o
+BUILTIN_OBJS += builtin/branch.o
+BUILTIN_OBJS += builtin/bundle.o
+BUILTIN_OBJS += builtin/cat-file.o
+BUILTIN_OBJS += builtin/check-attr.o
+BUILTIN_OBJS += builtin/check-ref-format.o
+BUILTIN_OBJS += builtin/checkout-index.o
+BUILTIN_OBJS += builtin/checkout.o
+BUILTIN_OBJS += builtin/clean.o
+BUILTIN_OBJS += builtin/clone.o
+BUILTIN_OBJS += builtin/commit-tree.o
+BUILTIN_OBJS += builtin/commit.o
+BUILTIN_OBJS += builtin/config.o
+BUILTIN_OBJS += builtin/count-objects.o
+BUILTIN_OBJS += builtin/describe.o
+BUILTIN_OBJS += builtin/diff-files.o
+BUILTIN_OBJS += builtin/diff-index.o
+BUILTIN_OBJS += builtin/diff-tree.o
+BUILTIN_OBJS += builtin/diff.o
+BUILTIN_OBJS += builtin/fast-export.o
+BUILTIN_OBJS += builtin/fetch-pack.o
+BUILTIN_OBJS += builtin/fetch.o
+BUILTIN_OBJS += builtin/fmt-merge-msg.o
+BUILTIN_OBJS += builtin/for-each-ref.o
+BUILTIN_OBJS += builtin/fsck.o
+BUILTIN_OBJS += builtin/gc.o
+BUILTIN_OBJS += builtin/grep.o
+BUILTIN_OBJS += builtin/hash-object.o
+BUILTIN_OBJS += builtin/help.o
+BUILTIN_OBJS += builtin/index-pack.o
+BUILTIN_OBJS += builtin/init-db.o
+BUILTIN_OBJS += builtin/log.o
+BUILTIN_OBJS += builtin/ls-files.o
+BUILTIN_OBJS += builtin/ls-remote.o
+BUILTIN_OBJS += builtin/ls-tree.o
+BUILTIN_OBJS += builtin/mailinfo.o
+BUILTIN_OBJS += builtin/mailsplit.o
+BUILTIN_OBJS += builtin/merge.o
+BUILTIN_OBJS += builtin/merge-base.o
+BUILTIN_OBJS += builtin/merge-file.o
+BUILTIN_OBJS += builtin/merge-index.o
+BUILTIN_OBJS += builtin/merge-ours.o
+BUILTIN_OBJS += builtin/merge-recursive.o
+BUILTIN_OBJS += builtin/merge-tree.o
+BUILTIN_OBJS += builtin/mktag.o
+BUILTIN_OBJS += builtin/mktree.o
+BUILTIN_OBJS += builtin/mv.o
+BUILTIN_OBJS += builtin/name-rev.o
+BUILTIN_OBJS += builtin/pack-objects.o
+BUILTIN_OBJS += builtin/pack-redundant.o
+BUILTIN_OBJS += builtin/pack-refs.o
+BUILTIN_OBJS += builtin/patch-id.o
+BUILTIN_OBJS += builtin/prune-packed.o
+BUILTIN_OBJS += builtin/prune.o
+BUILTIN_OBJS += builtin/push.o
+BUILTIN_OBJS += builtin/read-tree.o
+BUILTIN_OBJS += builtin/receive-pack.o
+BUILTIN_OBJS += builtin/reflog.o
+BUILTIN_OBJS += builtin/remote.o
+BUILTIN_OBJS += builtin/replace.o
+BUILTIN_OBJS += builtin/rerere.o
+BUILTIN_OBJS += builtin/reset.o
+BUILTIN_OBJS += builtin/rev-list.o
+BUILTIN_OBJS += builtin/rev-parse.o
+BUILTIN_OBJS += builtin/revert.o
+BUILTIN_OBJS += builtin/rm.o
+BUILTIN_OBJS += builtin/send-pack.o
+BUILTIN_OBJS += builtin/shortlog.o
+BUILTIN_OBJS += builtin/show-branch.o
+BUILTIN_OBJS += builtin/show-ref.o
+BUILTIN_OBJS += builtin/stripspace.o
+BUILTIN_OBJS += builtin/symbolic-ref.o
+BUILTIN_OBJS += builtin/tag.o
+BUILTIN_OBJS += builtin/tar-tree.o
+BUILTIN_OBJS += builtin/unpack-file.o
+BUILTIN_OBJS += builtin/unpack-objects.o
+BUILTIN_OBJS += builtin/update-index.o
+BUILTIN_OBJS += builtin/update-ref.o
+BUILTIN_OBJS += builtin/update-server-info.o
+BUILTIN_OBJS += builtin/upload-archive.o
+BUILTIN_OBJS += builtin/var.o
+BUILTIN_OBJS += builtin/verify-pack.o
+BUILTIN_OBJS += builtin/verify-tag.o
+BUILTIN_OBJS += builtin/write-tree.o
 
 GITLIBS = $(LIB_FILE) $(XDIFF_LIB)
 EXTLIBS =
@@ -1445,8 +1445,8 @@ git$X: git.o $(BUILTIN_OBJS) $(GITLIBS)
 	$(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ git.o \
 		$(BUILTIN_OBJS) $(ALL_LDFLAGS) $(LIBS)
 
-builtin-help.o: common-cmds.h
-builtin-help.s builtin-help.o: ALL_CFLAGS += \
+builtin/help.o: common-cmds.h
+builtin/help.s builtin/help.o: ALL_CFLAGS += \
 	'-DGIT_HTML_PATH="$(htmldir_SQ)"' \
 	'-DGIT_MAN_PATH="$(mandir_SQ)"' \
 	'-DGIT_INFO_PATH="$(infodir_SQ)"'
@@ -1594,7 +1594,7 @@ exec_cmd.s exec_cmd.o: ALL_CFLAGS += \
 	'-DBINDIR="$(bindir_relative_SQ)"' \
 	'-DPREFIX="$(prefix_SQ)"'
 
-builtin-init-db.s builtin-init-db.o: ALL_CFLAGS += \
+builtin/init-db.s builtin/init-db.o: ALL_CFLAGS += \
 	-DDEFAULT_GIT_TEMPLATE_DIR='"$(template_dir_SQ)"'
 
 config.s config.o: ALL_CFLAGS += -DETC_GITCONFIG='"$(ETC_GITCONFIG_SQ)"'
@@ -1636,7 +1636,7 @@ $(REMOTE_CURL_PRIMARY): remote-curl.o http.o http-walker.o $(GITLIBS)
 
 $(LIB_OBJS) $(BUILTIN_OBJS): $(LIB_H)
 $(patsubst git-%$X,%.o,$(PROGRAMS)) git.o: $(LIB_H) $(wildcard */*.h)
-builtin-revert.o wt-status.o: wt-status.h
+builtin/revert.o wt-status.o: wt-status.h
 
 $(LIB_FILE): $(LIB_OBJS)
 	$(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(LIB_OBJS)
diff --git a/builtin-add.c b/builtin/add.c
similarity index 100%
rename from builtin-add.c
rename to builtin/add.c
diff --git a/builtin-annotate.c b/builtin/annotate.c
similarity index 100%
rename from builtin-annotate.c
rename to builtin/annotate.c
diff --git a/builtin-apply.c b/builtin/apply.c
similarity index 100%
rename from builtin-apply.c
rename to builtin/apply.c
diff --git a/builtin-archive.c b/builtin/archive.c
similarity index 100%
rename from builtin-archive.c
rename to builtin/archive.c
diff --git a/builtin-bisect--helper.c b/builtin/bisect--helper.c
similarity index 100%
rename from builtin-bisect--helper.c
rename to builtin/bisect--helper.c
diff --git a/builtin-blame.c b/builtin/blame.c
similarity index 100%
rename from builtin-blame.c
rename to builtin/blame.c
diff --git a/builtin-branch.c b/builtin/branch.c
similarity index 100%
rename from builtin-branch.c
rename to builtin/branch.c
diff --git a/builtin.h b/builtin/builtin.h
similarity index 100%
rename from builtin.h
rename to builtin/builtin.h
diff --git a/builtin-bundle.c b/builtin/bundle.c
similarity index 100%
rename from builtin-bundle.c
rename to builtin/bundle.c
diff --git a/builtin-cat-file.c b/builtin/cat-file.c
similarity index 100%
rename from builtin-cat-file.c
rename to builtin/cat-file.c
diff --git a/builtin-check-attr.c b/builtin/check-attr.c
similarity index 100%
rename from builtin-check-attr.c
rename to builtin/check-attr.c
diff --git a/builtin-check-ref-format.c b/builtin/check-ref-format.c
similarity index 100%
rename from builtin-check-ref-format.c
rename to builtin/check-ref-format.c
diff --git a/builtin-checkout-index.c b/builtin/checkout-index.c
similarity index 100%
rename from builtin-checkout-index.c
rename to builtin/checkout-index.c
diff --git a/builtin-checkout.c b/builtin/checkout.c
similarity index 100%
rename from builtin-checkout.c
rename to builtin/checkout.c
diff --git a/builtin-clean.c b/builtin/clean.c
similarity index 100%
rename from builtin-clean.c
rename to builtin/clean.c
diff --git a/builtin-clone.c b/builtin/clone.c
similarity index 100%
rename from builtin-clone.c
rename to builtin/clone.c
diff --git a/builtin-commit-tree.c b/builtin/commit-tree.c
similarity index 100%
rename from builtin-commit-tree.c
rename to builtin/commit-tree.c
diff --git a/builtin-commit.c b/builtin/commit.c
similarity index 100%
rename from builtin-commit.c
rename to builtin/commit.c
diff --git a/builtin-config.c b/builtin/config.c
similarity index 100%
rename from builtin-config.c
rename to builtin/config.c
diff --git a/builtin-count-objects.c b/builtin/count-objects.c
similarity index 100%
rename from builtin-count-objects.c
rename to builtin/count-objects.c
diff --git a/builtin-describe.c b/builtin/describe.c
similarity index 100%
rename from builtin-describe.c
rename to builtin/describe.c
diff --git a/builtin-diff-files.c b/builtin/diff-files.c
similarity index 100%
rename from builtin-diff-files.c
rename to builtin/diff-files.c
diff --git a/builtin-diff-index.c b/builtin/diff-index.c
similarity index 100%
rename from builtin-diff-index.c
rename to builtin/diff-index.c
diff --git a/builtin-diff-tree.c b/builtin/diff-tree.c
similarity index 100%
rename from builtin-diff-tree.c
rename to builtin/diff-tree.c
diff --git a/builtin-diff.c b/builtin/diff.c
similarity index 100%
rename from builtin-diff.c
rename to builtin/diff.c
diff --git a/builtin-fast-export.c b/builtin/fast-export.c
similarity index 100%
rename from builtin-fast-export.c
rename to builtin/fast-export.c
diff --git a/builtin-fetch-pack.c b/builtin/fetch-pack.c
similarity index 100%
rename from builtin-fetch-pack.c
rename to builtin/fetch-pack.c
diff --git a/builtin-fetch.c b/builtin/fetch.c
similarity index 100%
rename from builtin-fetch.c
rename to builtin/fetch.c
diff --git a/builtin-fmt-merge-msg.c b/builtin/fmt-merge-msg.c
similarity index 100%
rename from builtin-fmt-merge-msg.c
rename to builtin/fmt-merge-msg.c
diff --git a/builtin-for-each-ref.c b/builtin/for-each-ref.c
similarity index 100%
rename from builtin-for-each-ref.c
rename to builtin/for-each-ref.c
diff --git a/builtin-fsck.c b/builtin/fsck.c
similarity index 100%
rename from builtin-fsck.c
rename to builtin/fsck.c
diff --git a/builtin-gc.c b/builtin/gc.c
similarity index 100%
rename from builtin-gc.c
rename to builtin/gc.c
diff --git a/builtin-grep.c b/builtin/grep.c
similarity index 100%
rename from builtin-grep.c
rename to builtin/grep.c
diff --git a/builtin-hash-object.c b/builtin/hash-object.c
similarity index 100%
rename from builtin-hash-object.c
rename to builtin/hash-object.c
diff --git a/builtin-help.c b/builtin/help.c
similarity index 100%
rename from builtin-help.c
rename to builtin/help.c
diff --git a/builtin-index-pack.c b/builtin/index-pack.c
similarity index 100%
rename from builtin-index-pack.c
rename to builtin/index-pack.c
diff --git a/builtin-init-db.c b/builtin/init-db.c
similarity index 100%
rename from builtin-init-db.c
rename to builtin/init-db.c
diff --git a/builtin-log.c b/builtin/log.c
similarity index 100%
rename from builtin-log.c
rename to builtin/log.c
diff --git a/builtin-ls-files.c b/builtin/ls-files.c
similarity index 100%
rename from builtin-ls-files.c
rename to builtin/ls-files.c
diff --git a/builtin-ls-remote.c b/builtin/ls-remote.c
similarity index 100%
rename from builtin-ls-remote.c
rename to builtin/ls-remote.c
diff --git a/builtin-ls-tree.c b/builtin/ls-tree.c
similarity index 100%
rename from builtin-ls-tree.c
rename to builtin/ls-tree.c
diff --git a/builtin-mailinfo.c b/builtin/mailinfo.c
similarity index 100%
rename from builtin-mailinfo.c
rename to builtin/mailinfo.c
diff --git a/builtin-mailsplit.c b/builtin/mailsplit.c
similarity index 100%
rename from builtin-mailsplit.c
rename to builtin/mailsplit.c
diff --git a/builtin-merge-base.c b/builtin/merge-base.c
similarity index 100%
rename from builtin-merge-base.c
rename to builtin/merge-base.c
diff --git a/builtin-merge-file.c b/builtin/merge-file.c
similarity index 100%
rename from builtin-merge-file.c
rename to builtin/merge-file.c
diff --git a/builtin-merge-index.c b/builtin/merge-index.c
similarity index 100%
rename from builtin-merge-index.c
rename to builtin/merge-index.c
diff --git a/builtin-merge-ours.c b/builtin/merge-ours.c
similarity index 100%
rename from builtin-merge-ours.c
rename to builtin/merge-ours.c
diff --git a/builtin-merge-recursive.c b/builtin/merge-recursive.c
similarity index 100%
rename from builtin-merge-recursive.c
rename to builtin/merge-recursive.c
diff --git a/builtin-merge-tree.c b/builtin/merge-tree.c
similarity index 100%
rename from builtin-merge-tree.c
rename to builtin/merge-tree.c
diff --git a/builtin-merge.c b/builtin/merge.c
similarity index 100%
rename from builtin-merge.c
rename to builtin/merge.c
diff --git a/builtin-mktag.c b/builtin/mktag.c
similarity index 100%
rename from builtin-mktag.c
rename to builtin/mktag.c
diff --git a/builtin-mktree.c b/builtin/mktree.c
similarity index 100%
rename from builtin-mktree.c
rename to builtin/mktree.c
diff --git a/builtin-mv.c b/builtin/mv.c
similarity index 100%
rename from builtin-mv.c
rename to builtin/mv.c
diff --git a/builtin-name-rev.c b/builtin/name-rev.c
similarity index 100%
rename from builtin-name-rev.c
rename to builtin/name-rev.c
diff --git a/builtin-pack-objects.c b/builtin/pack-objects.c
similarity index 100%
rename from builtin-pack-objects.c
rename to builtin/pack-objects.c
diff --git a/builtin-pack-redundant.c b/builtin/pack-redundant.c
similarity index 100%
rename from builtin-pack-redundant.c
rename to builtin/pack-redundant.c
diff --git a/builtin-pack-refs.c b/builtin/pack-refs.c
similarity index 100%
rename from builtin-pack-refs.c
rename to builtin/pack-refs.c
diff --git a/builtin-patch-id.c b/builtin/patch-id.c
similarity index 100%
rename from builtin-patch-id.c
rename to builtin/patch-id.c
diff --git a/builtin-prune-packed.c b/builtin/prune-packed.c
similarity index 100%
rename from builtin-prune-packed.c
rename to builtin/prune-packed.c
diff --git a/builtin-prune.c b/builtin/prune.c
similarity index 100%
rename from builtin-prune.c
rename to builtin/prune.c
diff --git a/builtin-push.c b/builtin/push.c
similarity index 100%
rename from builtin-push.c
rename to builtin/push.c
diff --git a/builtin-read-tree.c b/builtin/read-tree.c
similarity index 100%
rename from builtin-read-tree.c
rename to builtin/read-tree.c
diff --git a/builtin-receive-pack.c b/builtin/receive-pack.c
similarity index 100%
rename from builtin-receive-pack.c
rename to builtin/receive-pack.c
diff --git a/builtin-reflog.c b/builtin/reflog.c
similarity index 100%
rename from builtin-reflog.c
rename to builtin/reflog.c
diff --git a/builtin-remote.c b/builtin/remote.c
similarity index 100%
rename from builtin-remote.c
rename to builtin/remote.c
diff --git a/builtin-replace.c b/builtin/replace.c
similarity index 100%
rename from builtin-replace.c
rename to builtin/replace.c
diff --git a/builtin-rerere.c b/builtin/rerere.c
similarity index 100%
rename from builtin-rerere.c
rename to builtin/rerere.c
diff --git a/builtin-reset.c b/builtin/reset.c
similarity index 100%
rename from builtin-reset.c
rename to builtin/reset.c
diff --git a/builtin-rev-list.c b/builtin/rev-list.c
similarity index 100%
rename from builtin-rev-list.c
rename to builtin/rev-list.c
diff --git a/builtin-rev-parse.c b/builtin/rev-parse.c
similarity index 100%
rename from builtin-rev-parse.c
rename to builtin/rev-parse.c
diff --git a/builtin-revert.c b/builtin/revert.c
similarity index 100%
rename from builtin-revert.c
rename to builtin/revert.c
diff --git a/builtin-rm.c b/builtin/rm.c
similarity index 100%
rename from builtin-rm.c
rename to builtin/rm.c
diff --git a/builtin-send-pack.c b/builtin/send-pack.c
similarity index 100%
rename from builtin-send-pack.c
rename to builtin/send-pack.c
diff --git a/builtin-shortlog.c b/builtin/shortlog.c
similarity index 100%
rename from builtin-shortlog.c
rename to builtin/shortlog.c
diff --git a/builtin-show-branch.c b/builtin/show-branch.c
similarity index 100%
rename from builtin-show-branch.c
rename to builtin/show-branch.c
diff --git a/builtin-show-ref.c b/builtin/show-ref.c
similarity index 100%
rename from builtin-show-ref.c
rename to builtin/show-ref.c
diff --git a/builtin-stripspace.c b/builtin/stripspace.c
similarity index 100%
rename from builtin-stripspace.c
rename to builtin/stripspace.c
diff --git a/builtin-symbolic-ref.c b/builtin/symbolic-ref.c
similarity index 100%
rename from builtin-symbolic-ref.c
rename to builtin/symbolic-ref.c
diff --git a/builtin-tag.c b/builtin/tag.c
similarity index 100%
rename from builtin-tag.c
rename to builtin/tag.c
diff --git a/builtin-tar-tree.c b/builtin/tar-tree.c
similarity index 100%
rename from builtin-tar-tree.c
rename to builtin/tar-tree.c
diff --git a/builtin-unpack-file.c b/builtin/unpack-file.c
similarity index 100%
rename from builtin-unpack-file.c
rename to builtin/unpack-file.c
diff --git a/builtin-unpack-objects.c b/builtin/unpack-objects.c
similarity index 100%
rename from builtin-unpack-objects.c
rename to builtin/unpack-objects.c
diff --git a/builtin-update-index.c b/builtin/update-index.c
similarity index 100%
rename from builtin-update-index.c
rename to builtin/update-index.c
diff --git a/builtin-update-ref.c b/builtin/update-ref.c
similarity index 100%
rename from builtin-update-ref.c
rename to builtin/update-ref.c
diff --git a/builtin-update-server-info.c b/builtin/update-server-info.c
similarity index 100%
rename from builtin-update-server-info.c
rename to builtin/update-server-info.c
diff --git a/builtin-upload-archive.c b/builtin/upload-archive.c
similarity index 100%
rename from builtin-upload-archive.c
rename to builtin/upload-archive.c
diff --git a/builtin-var.c b/builtin/var.c
similarity index 100%
rename from builtin-var.c
rename to builtin/var.c
diff --git a/builtin-verify-pack.c b/builtin/verify-pack.c
similarity index 100%
rename from builtin-verify-pack.c
rename to builtin/verify-pack.c
diff --git a/builtin-verify-tag.c b/builtin/verify-tag.c
similarity index 100%
rename from builtin-verify-tag.c
rename to builtin/verify-tag.c
diff --git a/builtin-write-tree.c b/builtin/write-tree.c
similarity index 100%
rename from builtin-write-tree.c
rename to builtin/write-tree.c

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

end of thread, other threads:[~2010-02-27  1:29 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-02-18 18:36 [RFD] Deepen the git directory structure a bit Linus Torvalds
2010-02-18 20:24 ` Junio C Hamano
2010-02-18 21:50   ` Avery Pennarun
2010-02-18 22:20     ` Linus Torvalds
2010-02-18 22:18   ` Linus Torvalds
2010-02-18 23:34 ` Christian MICHON
2010-02-19  3:50   ` Pavan Kumar Sunkara
2010-02-22 16:42 ` Linus Torvalds
2010-02-22 22:32   ` Junio C Hamano
2010-02-25 10:58     ` Fabian Kössel
2010-02-27  1:28       ` Junio C Hamano

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).