{"thread":{"id":"4824","subject":"[RFC+PATCH 0/2] Clean up root directory","startedAt":"2006-07-10T04:54:07Z","lastAt":"2006-07-10T06:41:19Z","messageCount":4,"participants":["Ryan Anderson","Pavel Roskin"],"isPatch":true,"patchVersion":1,"patchTotal":2},"messages":[{"id":"23515","messageId":"1152507249880-git-send-email-ryan@michonline.com","threadId":"4824","inReplyTo":null,"subject":"[RFC+PATCH 0/2] Clean up root directory","fromName":"Ryan Anderson","fromEmail":"ryan@michonline.com","sentAt":"2006-07-10T04:54:07Z","receivedAt":"2006-07-10T04:54:07Z","isPatch":true,"sender":{"key":"ryan@michonline.com","avatar":null},"body":"A second send of my patch to clean up the root directory a bit.\n\nThis series moves the \"SCM interoperability\" tools into interop/ and\nbuiltin-*.c into builtin/.\n\nAll tests pass, and all finished scripts and binaries are dropped into the root\nafter a \"make all\".\n\n\nGIT: Please enter your email below.\nGIT: Lines beginning in \"GIT: \" will be removed.\nGIT: Consider including an overall diffstat or table of contents\nGIT: for the patch you are writing.\n"},{"id":"23516","messageId":"11525072492717-git-send-email-ryan@michonline.com","threadId":"4824","inReplyTo":"1152507249880-git-send-email-ryan@michonline.com","subject":"[PATCH 1/2] Move SCM interoperability tools into interop/","fromName":"Ryan Anderson","fromEmail":"ryan@michonline.com","sentAt":"2006-07-10T04:54:08Z","receivedAt":"2006-07-10T04:54:08Z","isPatch":true,"sender":{"key":"ryan@michonline.com","avatar":null},"body":"Signed-off-by: Ryan Anderson <ryan@michonline.com>\n---\n Makefile                                           |   12 +++--\n interop/Makefile                                   |   45 ++++++++++++++++++++\n git-archimport.perl => interop/git-archimport.perl |    0 \n .../git-cvsexportcommit.perl                       |    0 \n git-cvsimport.perl => interop/git-cvsimport.perl   |    0 \n git-cvsserver.perl => interop/git-cvsserver.perl   |    0 \n git-p4import.py => interop/git-p4import.py         |    0 \n git-quiltimport.sh => interop/git-quiltimport.sh   |    0 \n git-send-email.perl => interop/git-send-email.perl |    0 \n git-svnimport.perl => interop/git-svnimport.perl   |    0 \n 10 files changed, 52 insertions(+), 5 deletions(-)\n\ndiff --git a/Makefile b/Makefile\nindex 13f7c89..d6e2b0f 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -127,14 +127,13 @@ SCRIPT_SH = \\\n \tgit-applymbox.sh git-applypatch.sh git-am.sh \\\n \tgit-merge.sh git-merge-stupid.sh git-merge-octopus.sh \\\n \tgit-merge-resolve.sh git-merge-ours.sh \\\n-\tgit-lost-found.sh git-quiltimport.sh\n+\tgit-lost-found.sh\n \n SCRIPT_PERL = \\\n-\tgit-archimport.perl git-cvsimport.perl git-relink.perl \\\n+\tgit-relink.perl \\\n \tgit-shortlog.perl git-rerere.perl \\\n-\tgit-annotate.perl git-cvsserver.perl \\\n-\tgit-svnimport.perl git-mv.perl git-cvsexportcommit.perl \\\n-\tgit-send-email.perl\n+\tgit-annotate.perl \\\n+\tgit-mv.perl\n \n SCRIPT_PYTHON = \\\n \tgit-merge-recursive.py\n@@ -176,6 +175,9 @@ BUILT_INS = git-log$X git-whatchanged$X \n \tgit-diff-index$X git-diff-stages$X git-diff-tree$X git-cat-file$X \\\n \tgit-fmt-merge-msg$X\n \n+\n+include interop/Makefile\n+\n # what 'all' will build and 'install' will install, in gitexecdir\n ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS)\n \ndiff --git a/interop/Makefile b/interop/Makefile\nnew file mode 100644\nindex 0000000..b1a11d1\n--- /dev/null\n+++ b/interop/Makefile\n@@ -0,0 +1,45 @@\n+\n+INTEROP_PERL_BASE = \\\n+\tgit-archimport.perl \\\n+\tgit-cvsimport.perl \\\n+\tgit-cvsexportcommit.perl \\\n+\tgit-cvsserver.perl \\\n+\tgit-svnimport.perl \\\n+\tgit-send-email.perl\n+\n+INTEROP_PYTHON_BASE = \\\n+\tgit-p4import.py\n+\n+INTEROP_SH_BASE = \\\n+\tgit-quiltimport.sh\n+\n+SCRIPTS+=$(patsubst %.perl,%,$(INTEROP_PERL_BASE))\n+SCRIPTS+=$(patsubst %.py,%,$(INTEROP_PYTHON_BASE))\n+SCRIPTS+=$(patsubst %.sh,%,$(INTEROP_SH_BASE))\n+\n+$(patsubst %.sh,%,$(INTEROP_SH_BASE)) : % : interop/%.sh\n+\trm -f $@ $@+\n+\tsed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \\\n+\t    -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \\\n+\t    -e 's/@@NO_CURL@@/$(NO_CURL)/g' \\\n+\t    -e 's/@@NO_PYTHON@@/$(NO_PYTHON)/g' \\\n+\t    $^ >$@+\n+\tchmod +x $@+\n+\tmv $@+ $@\n+\n+$(patsubst %.perl,%,$(INTEROP_PERL_BASE)) : % : interop/%.perl\n+\trm -f $@ $@+\n+\tsed -e '1s|#!.*perl|#!$(PERL_PATH_SQ)|' \\\n+\t    -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \\\n+\t    $^ >$@+\n+\tchmod +x $@+\n+\tmv $@+ $@\n+\n+$(patsubst %.py,%,$(INTEROP_PYTHON_BASE)) : % : interop/%.py GIT-CFLAGS\n+\trm -f $@ $@+\n+\tsed -e '1s|#!.*python|#!$(PYTHON_PATH_SQ)|' \\\n+\t    -e 's|@@GIT_PYTHON_PATH@@|$(GIT_PYTHON_DIR_SQ)|g' \\\n+\t    -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \\\n+\t    $^ >$@+\n+\tchmod +x $@+\n+\tmv $@+ $@\ndiff --git a/git-archimport.perl b/interop/git-archimport.perl\nsimilarity index 100%\nrename from git-archimport.perl\nrename to interop/git-archimport.perl\ndiff --git a/git-cvsexportcommit.perl b/interop/git-cvsexportcommit.perl\nsimilarity index 100%\nrename from git-cvsexportcommit.perl\nrename to interop/git-cvsexportcommit.perl\ndiff --git a/git-cvsimport.perl b/interop/git-cvsimport.perl\nsimilarity index 100%\nrename from git-cvsimport.perl\nrename to interop/git-cvsimport.perl\ndiff --git a/git-cvsserver.perl b/interop/git-cvsserver.perl\nsimilarity index 100%\nrename from git-cvsserver.perl\nrename to interop/git-cvsserver.perl\ndiff --git a/git-p4import.py b/interop/git-p4import.py\nsimilarity index 100%\nrename from git-p4import.py\nrename to interop/git-p4import.py\ndiff --git a/git-quiltimport.sh b/interop/git-quiltimport.sh\nsimilarity index 100%\nrename from git-quiltimport.sh\nrename to interop/git-quiltimport.sh\ndiff --git a/git-send-email.perl b/interop/git-send-email.perl\nsimilarity index 100%\nrename from git-send-email.perl\nrename to interop/git-send-email.perl\ndiff --git a/git-svnimport.perl b/interop/git-svnimport.perl\nsimilarity index 100%\nrename from git-svnimport.perl\nrename to interop/git-svnimport.perl\n-- \n1.4.1.gc473b-dirty\n"},{"id":"23517","messageId":"11525072491512-git-send-email-ryan@michonline.com","threadId":"4824","inReplyTo":"11525072492717-git-send-email-ryan@michonline.com","subject":"[PATCH 2/2] Move all builtin .c files into builtin/","fromName":"Ryan Anderson","fromEmail":"ryan@michonline.com","sentAt":"2006-07-10T04:54:09Z","receivedAt":"2006-07-10T04:54:09Z","isPatch":true,"sender":{"key":"ryan@michonline.com","avatar":null},"body":"Signed-off-by: Ryan Anderson <ryan@michonline.com>\n---\n Makefile                                           |   15 ++-------------\n builtin/Makefile                                   |   13 +++++++++++++\n builtin-add.c => builtin/builtin-add.c             |    0 \n builtin-apply.c => builtin/builtin-apply.c         |    0 \n builtin-cat-file.c => builtin/builtin-cat-file.c   |    0 \n .../builtin-check-ref-format.c                     |    0 \n .../builtin-commit-tree.c                          |    0 \n builtin-count.c => builtin/builtin-count.c         |    0 \n .../builtin-diff-files.c                           |    0 \n .../builtin-diff-index.c                           |    0 \n .../builtin-diff-stages.c                          |    0 \n builtin-diff-tree.c => builtin/builtin-diff-tree.c |    0 \n builtin-diff.c => builtin/builtin-diff.c           |    0 \n .../builtin-fmt-merge-msg.c                        |    0 \n builtin-grep.c => builtin/builtin-grep.c           |    0 \n builtin-help.c => builtin/builtin-help.c           |    0 \n builtin-init-db.c => builtin/builtin-init-db.c     |    0 \n builtin-log.c => builtin/builtin-log.c             |    0 \n builtin-ls-files.c => builtin/builtin-ls-files.c   |    0 \n builtin-ls-tree.c => builtin/builtin-ls-tree.c     |    0 \n builtin-mailinfo.c => builtin/builtin-mailinfo.c   |    0 \n builtin-mailsplit.c => builtin/builtin-mailsplit.c |    0 \n builtin-push.c => builtin/builtin-push.c           |    0 \n builtin-read-tree.c => builtin/builtin-read-tree.c |    0 \n builtin-rev-list.c => builtin/builtin-rev-list.c   |    0 \n builtin-rev-parse.c => builtin/builtin-rev-parse.c |    0 \n builtin-rm.c => builtin/builtin-rm.c               |    0 \n .../builtin-show-branch.c                          |    0 \n .../builtin-stripspace.c                           |    0 \n builtin-tar-tree.c => builtin/builtin-tar-tree.c   |    0 \n .../builtin-update-index.c                         |    0 \n .../builtin-update-ref.c                           |    0 \n .../builtin-upload-tar.c                           |    0 \n .../builtin-write-tree.c                           |    0 \n builtin.h => builtin/builtin.h                     |    0 \n git.c                                              |    2 +-\n 36 files changed, 16 insertions(+), 14 deletions(-)\n\ndiff --git a/Makefile b/Makefile\nindex d6e2b0f..92368b9 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -87,7 +87,7 @@ uname_P := $(shell sh -c 'uname -p 2>/de\n \n # CFLAGS and LDFLAGS are for the users to override from the command line.\n \n-CFLAGS = -g -O2 -Wall\n+CFLAGS = -g -O2 -Wall -I.\n LDFLAGS =\n ALL_CFLAGS = $(CFLAGS)\n ALL_LDFLAGS = $(LDFLAGS)\n@@ -177,6 +177,7 @@ BUILT_INS = git-log$X git-whatchanged$X \n \n \n include interop/Makefile\n+include builtin/Makefile\n \n # what 'all' will build and 'install' will install, in gitexecdir\n ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS)\n@@ -222,18 +223,6 @@ LIB_OBJS = \\\n \tfetch-clone.o revision.o pager.o tree-walk.o xdiff-interface.o \\\n \talloc.o $(DIFF_OBJS)\n \n-BUILTIN_OBJS = \\\n-\tbuiltin-log.o builtin-help.o builtin-count.o builtin-diff.o builtin-push.o \\\n-\tbuiltin-grep.o builtin-add.o builtin-rev-list.o builtin-check-ref-format.o \\\n-\tbuiltin-rm.o builtin-init-db.o builtin-rev-parse.o \\\n-\tbuiltin-tar-tree.o builtin-upload-tar.o builtin-update-index.o \\\n-\tbuiltin-ls-files.o builtin-ls-tree.o builtin-write-tree.o \\\n-\tbuiltin-read-tree.o builtin-commit-tree.o builtin-mailinfo.o \\\n-\tbuiltin-apply.o builtin-show-branch.o builtin-diff-files.o \\\n-\tbuiltin-diff-index.o builtin-diff-stages.o builtin-diff-tree.o \\\n-\tbuiltin-cat-file.o builtin-mailsplit.o builtin-stripspace.o \\\n-\tbuiltin-update-ref.o builtin-fmt-merge-msg.o\n-\n GITLIBS = $(LIB_FILE) $(XDIFF_LIB)\n LIBS = $(GITLIBS) -lz\n \ndiff --git a/builtin/Makefile b/builtin/Makefile\nnew file mode 100644\nindex 0000000..3588fce\n--- /dev/null\n+++ b/builtin/Makefile\n@@ -0,0 +1,13 @@\n+BUILTIN_OBJ_BASE = \\\n+\tbuiltin-log.o builtin-help.o builtin-count.o builtin-diff.o builtin-push.o \\\n+\tbuiltin-grep.o builtin-add.o builtin-rev-list.o builtin-check-ref-format.o \\\n+\tbuiltin-rm.o builtin-init-db.o builtin-rev-parse.o \\\n+\tbuiltin-tar-tree.o builtin-upload-tar.o builtin-update-index.o \\\n+\tbuiltin-ls-files.o builtin-ls-tree.o builtin-write-tree.o \\\n+\tbuiltin-read-tree.o builtin-commit-tree.o builtin-mailinfo.o \\\n+\tbuiltin-apply.o builtin-show-branch.o builtin-diff-files.o \\\n+\tbuiltin-diff-index.o builtin-diff-stages.o builtin-diff-tree.o \\\n+\tbuiltin-cat-file.o builtin-mailsplit.o builtin-stripspace.o \\\n+\tbuiltin-update-ref.o builtin-fmt-merge-msg.o\n+\n+BUILTIN_OBJS = $(addprefix builtin/,$(BUILTIN_OBJ_BASE))\n\\ No newline at end of file\ndiff --git a/builtin-add.c b/builtin/builtin-add.c\nsimilarity index 100%\nrename from builtin-add.c\nrename to builtin/builtin-add.c\ndiff --git a/builtin-apply.c b/builtin/builtin-apply.c\nsimilarity index 100%\nrename from builtin-apply.c\nrename to builtin/builtin-apply.c\ndiff --git a/builtin-cat-file.c b/builtin/builtin-cat-file.c\nsimilarity index 100%\nrename from builtin-cat-file.c\nrename to builtin/builtin-cat-file.c\ndiff --git a/builtin-check-ref-format.c b/builtin/builtin-check-ref-format.c\nsimilarity index 100%\nrename from builtin-check-ref-format.c\nrename to builtin/builtin-check-ref-format.c\ndiff --git a/builtin-commit-tree.c b/builtin/builtin-commit-tree.c\nsimilarity index 100%\nrename from builtin-commit-tree.c\nrename to builtin/builtin-commit-tree.c\ndiff --git a/builtin-count.c b/builtin/builtin-count.c\nsimilarity index 100%\nrename from builtin-count.c\nrename to builtin/builtin-count.c\ndiff --git a/builtin-diff-files.c b/builtin/builtin-diff-files.c\nsimilarity index 100%\nrename from builtin-diff-files.c\nrename to builtin/builtin-diff-files.c\ndiff --git a/builtin-diff-index.c b/builtin/builtin-diff-index.c\nsimilarity index 100%\nrename from builtin-diff-index.c\nrename to builtin/builtin-diff-index.c\ndiff --git a/builtin-diff-stages.c b/builtin/builtin-diff-stages.c\nsimilarity index 100%\nrename from builtin-diff-stages.c\nrename to builtin/builtin-diff-stages.c\ndiff --git a/builtin-diff-tree.c b/builtin/builtin-diff-tree.c\nsimilarity index 100%\nrename from builtin-diff-tree.c\nrename to builtin/builtin-diff-tree.c\ndiff --git a/builtin-diff.c b/builtin/builtin-diff.c\nsimilarity index 100%\nrename from builtin-diff.c\nrename to builtin/builtin-diff.c\ndiff --git a/builtin-fmt-merge-msg.c b/builtin/builtin-fmt-merge-msg.c\nsimilarity index 100%\nrename from builtin-fmt-merge-msg.c\nrename to builtin/builtin-fmt-merge-msg.c\ndiff --git a/builtin-grep.c b/builtin/builtin-grep.c\nsimilarity index 100%\nrename from builtin-grep.c\nrename to builtin/builtin-grep.c\ndiff --git a/builtin-help.c b/builtin/builtin-help.c\nsimilarity index 100%\nrename from builtin-help.c\nrename to builtin/builtin-help.c\ndiff --git a/builtin-init-db.c b/builtin/builtin-init-db.c\nsimilarity index 100%\nrename from builtin-init-db.c\nrename to builtin/builtin-init-db.c\ndiff --git a/builtin-log.c b/builtin/builtin-log.c\nsimilarity index 100%\nrename from builtin-log.c\nrename to builtin/builtin-log.c\ndiff --git a/builtin-ls-files.c b/builtin/builtin-ls-files.c\nsimilarity index 100%\nrename from builtin-ls-files.c\nrename to builtin/builtin-ls-files.c\ndiff --git a/builtin-ls-tree.c b/builtin/builtin-ls-tree.c\nsimilarity index 100%\nrename from builtin-ls-tree.c\nrename to builtin/builtin-ls-tree.c\ndiff --git a/builtin-mailinfo.c b/builtin/builtin-mailinfo.c\nsimilarity index 100%\nrename from builtin-mailinfo.c\nrename to builtin/builtin-mailinfo.c\ndiff --git a/builtin-mailsplit.c b/builtin/builtin-mailsplit.c\nsimilarity index 100%\nrename from builtin-mailsplit.c\nrename to builtin/builtin-mailsplit.c\ndiff --git a/builtin-push.c b/builtin/builtin-push.c\nsimilarity index 100%\nrename from builtin-push.c\nrename to builtin/builtin-push.c\ndiff --git a/builtin-read-tree.c b/builtin/builtin-read-tree.c\nsimilarity index 100%\nrename from builtin-read-tree.c\nrename to builtin/builtin-read-tree.c\ndiff --git a/builtin-rev-list.c b/builtin/builtin-rev-list.c\nsimilarity index 100%\nrename from builtin-rev-list.c\nrename to builtin/builtin-rev-list.c\ndiff --git a/builtin-rev-parse.c b/builtin/builtin-rev-parse.c\nsimilarity index 100%\nrename from builtin-rev-parse.c\nrename to builtin/builtin-rev-parse.c\ndiff --git a/builtin-rm.c b/builtin/builtin-rm.c\nsimilarity index 100%\nrename from builtin-rm.c\nrename to builtin/builtin-rm.c\ndiff --git a/builtin-show-branch.c b/builtin/builtin-show-branch.c\nsimilarity index 100%\nrename from builtin-show-branch.c\nrename to builtin/builtin-show-branch.c\ndiff --git a/builtin-stripspace.c b/builtin/builtin-stripspace.c\nsimilarity index 100%\nrename from builtin-stripspace.c\nrename to builtin/builtin-stripspace.c\ndiff --git a/builtin-tar-tree.c b/builtin/builtin-tar-tree.c\nsimilarity index 100%\nrename from builtin-tar-tree.c\nrename to builtin/builtin-tar-tree.c\ndiff --git a/builtin-update-index.c b/builtin/builtin-update-index.c\nsimilarity index 100%\nrename from builtin-update-index.c\nrename to builtin/builtin-update-index.c\ndiff --git a/builtin-update-ref.c b/builtin/builtin-update-ref.c\nsimilarity index 100%\nrename from builtin-update-ref.c\nrename to builtin/builtin-update-ref.c\ndiff --git a/builtin-upload-tar.c b/builtin/builtin-upload-tar.c\nsimilarity index 100%\nrename from builtin-upload-tar.c\nrename to builtin/builtin-upload-tar.c\ndiff --git a/builtin-write-tree.c b/builtin/builtin-write-tree.c\nsimilarity index 100%\nrename from builtin-write-tree.c\nrename to builtin/builtin-write-tree.c\ndiff --git a/builtin.h b/builtin/builtin.h\nsimilarity index 100%\nrename from builtin.h\nrename to builtin/builtin.h\ndiff --git a/git.c b/git.c\nindex 49062ca..81f6675 100644\n--- a/git.c\n+++ b/git.c\n@@ -12,7 +12,7 @@ #include \"git-compat-util.h\"\n #include \"exec_cmd.h\"\n #include \"cache.h\"\n \n-#include \"builtin.h\"\n+#include \"builtin/builtin.h\"\n \n static void prepend_to_path(const char *dir, int len)\n {\n-- \n1.4.1.gc473b-dirty\n"},{"id":"23524","messageId":"1152513679.3504.47.camel@dv","threadId":"4824","inReplyTo":"11525072491512-git-send-email-ryan@michonline.com","subject":"Re: [PATCH 2/2] Move all builtin .c files into builtin/","fromName":"Pavel Roskin","fromEmail":"proski@gnu.org","sentAt":"2006-07-10T06:41:19Z","receivedAt":"2006-07-10T06:41:19Z","isPatch":true,"sender":{"key":"proski@gnu.org","avatar":null},"body":"Hello, Ryan!\n\nOn Mon, 2006-07-10 at 00:54 -0400, Ryan Anderson wrote:\n> Signed-off-by: Ryan Anderson <ryan@michonline.com>\n\nI agree that the top level directory is overcrowded, but wouldn't it be\nbetter to move libgit.a sources to \"lib\" and then classify the remaining\nfiles in some way (e.g. \"git\" or \"src\" for builtin commands, \"commands\"\nfor the rest)?  While at that, the \"buildin-\"  prefix could be stripped.\n\nThe main \"git\" executable is nothing but several builtin commands rolled\ntogether.  It's not like a shell, which has functionality beyond the\nbuiltin commands.  So \"builtin\" is git.\n\nOr you can say that the git executable is a command line frontend to the\ngit library (it's moving in this direction anyway).  Then you can have\n\"client\" and \"server\" directories.  That's more important for\nunderstanding the source than \"builtin\", \"standalone\" or any\nclassification based on technical details.\n\n-- \nRegards,\nPavel Roskin\n"}]}