git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC+PATCH 0/2] Clean up root directory
@ 2006-07-10  4:54 Ryan Anderson
  2006-07-10  4:54 ` [PATCH 1/2] Move SCM interoperability tools into interop/ Ryan Anderson
  0 siblings, 1 reply; 4+ messages in thread
From: Ryan Anderson @ 2006-07-10  4:54 UTC (permalink / raw)
  To: git

A second send of my patch to clean up the root directory a bit.

This series moves the "SCM interoperability" tools into interop/ and
builtin-*.c into builtin/.

All tests pass, and all finished scripts and binaries are dropped into the root
after a "make all".


GIT: Please enter your email below.
GIT: Lines beginning in "GIT: " will be removed.
GIT: Consider including an overall diffstat or table of contents
GIT: for the patch you are writing.

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

* [PATCH 1/2] Move SCM interoperability tools into interop/
  2006-07-10  4:54 [RFC+PATCH 0/2] Clean up root directory Ryan Anderson
@ 2006-07-10  4:54 ` Ryan Anderson
  2006-07-10  4:54   ` [PATCH 2/2] Move all builtin .c files into builtin/ Ryan Anderson
  0 siblings, 1 reply; 4+ messages in thread
From: Ryan Anderson @ 2006-07-10  4:54 UTC (permalink / raw)
  To: git; +Cc: Ryan Anderson

Signed-off-by: Ryan Anderson <ryan@michonline.com>
---
 Makefile                                           |   12 +++--
 interop/Makefile                                   |   45 ++++++++++++++++++++
 git-archimport.perl => interop/git-archimport.perl |    0 
 .../git-cvsexportcommit.perl                       |    0 
 git-cvsimport.perl => interop/git-cvsimport.perl   |    0 
 git-cvsserver.perl => interop/git-cvsserver.perl   |    0 
 git-p4import.py => interop/git-p4import.py         |    0 
 git-quiltimport.sh => interop/git-quiltimport.sh   |    0 
 git-send-email.perl => interop/git-send-email.perl |    0 
 git-svnimport.perl => interop/git-svnimport.perl   |    0 
 10 files changed, 52 insertions(+), 5 deletions(-)

diff --git a/Makefile b/Makefile
index 13f7c89..d6e2b0f 100644
--- a/Makefile
+++ b/Makefile
@@ -127,14 +127,13 @@ SCRIPT_SH = \
 	git-applymbox.sh git-applypatch.sh git-am.sh \
 	git-merge.sh git-merge-stupid.sh git-merge-octopus.sh \
 	git-merge-resolve.sh git-merge-ours.sh \
-	git-lost-found.sh git-quiltimport.sh
+	git-lost-found.sh
 
 SCRIPT_PERL = \
-	git-archimport.perl git-cvsimport.perl git-relink.perl \
+	git-relink.perl \
 	git-shortlog.perl git-rerere.perl \
-	git-annotate.perl git-cvsserver.perl \
-	git-svnimport.perl git-mv.perl git-cvsexportcommit.perl \
-	git-send-email.perl
+	git-annotate.perl \
+	git-mv.perl
 
 SCRIPT_PYTHON = \
 	git-merge-recursive.py
@@ -176,6 +175,9 @@ BUILT_INS = git-log$X git-whatchanged$X 
 	git-diff-index$X git-diff-stages$X git-diff-tree$X git-cat-file$X \
 	git-fmt-merge-msg$X
 
+
+include interop/Makefile
+
 # what 'all' will build and 'install' will install, in gitexecdir
 ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS)
 
diff --git a/interop/Makefile b/interop/Makefile
new file mode 100644
index 0000000..b1a11d1
--- /dev/null
+++ b/interop/Makefile
@@ -0,0 +1,45 @@
+
+INTEROP_PERL_BASE = \
+	git-archimport.perl \
+	git-cvsimport.perl \
+	git-cvsexportcommit.perl \
+	git-cvsserver.perl \
+	git-svnimport.perl \
+	git-send-email.perl
+
+INTEROP_PYTHON_BASE = \
+	git-p4import.py
+
+INTEROP_SH_BASE = \
+	git-quiltimport.sh
+
+SCRIPTS+=$(patsubst %.perl,%,$(INTEROP_PERL_BASE))
+SCRIPTS+=$(patsubst %.py,%,$(INTEROP_PYTHON_BASE))
+SCRIPTS+=$(patsubst %.sh,%,$(INTEROP_SH_BASE))
+
+$(patsubst %.sh,%,$(INTEROP_SH_BASE)) : % : interop/%.sh
+	rm -f $@ $@+
+	sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
+	    -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
+	    -e 's/@@NO_CURL@@/$(NO_CURL)/g' \
+	    -e 's/@@NO_PYTHON@@/$(NO_PYTHON)/g' \
+	    $^ >$@+
+	chmod +x $@+
+	mv $@+ $@
+
+$(patsubst %.perl,%,$(INTEROP_PERL_BASE)) : % : interop/%.perl
+	rm -f $@ $@+
+	sed -e '1s|#!.*perl|#!$(PERL_PATH_SQ)|' \
+	    -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
+	    $^ >$@+
+	chmod +x $@+
+	mv $@+ $@
+
+$(patsubst %.py,%,$(INTEROP_PYTHON_BASE)) : % : interop/%.py GIT-CFLAGS
+	rm -f $@ $@+
+	sed -e '1s|#!.*python|#!$(PYTHON_PATH_SQ)|' \
+	    -e 's|@@GIT_PYTHON_PATH@@|$(GIT_PYTHON_DIR_SQ)|g' \
+	    -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
+	    $^ >$@+
+	chmod +x $@+
+	mv $@+ $@
diff --git a/git-archimport.perl b/interop/git-archimport.perl
similarity index 100%
rename from git-archimport.perl
rename to interop/git-archimport.perl
diff --git a/git-cvsexportcommit.perl b/interop/git-cvsexportcommit.perl
similarity index 100%
rename from git-cvsexportcommit.perl
rename to interop/git-cvsexportcommit.perl
diff --git a/git-cvsimport.perl b/interop/git-cvsimport.perl
similarity index 100%
rename from git-cvsimport.perl
rename to interop/git-cvsimport.perl
diff --git a/git-cvsserver.perl b/interop/git-cvsserver.perl
similarity index 100%
rename from git-cvsserver.perl
rename to interop/git-cvsserver.perl
diff --git a/git-p4import.py b/interop/git-p4import.py
similarity index 100%
rename from git-p4import.py
rename to interop/git-p4import.py
diff --git a/git-quiltimport.sh b/interop/git-quiltimport.sh
similarity index 100%
rename from git-quiltimport.sh
rename to interop/git-quiltimport.sh
diff --git a/git-send-email.perl b/interop/git-send-email.perl
similarity index 100%
rename from git-send-email.perl
rename to interop/git-send-email.perl
diff --git a/git-svnimport.perl b/interop/git-svnimport.perl
similarity index 100%
rename from git-svnimport.perl
rename to interop/git-svnimport.perl
-- 
1.4.1.gc473b-dirty

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

* [PATCH 2/2] Move all builtin .c files into builtin/
  2006-07-10  4:54 ` [PATCH 1/2] Move SCM interoperability tools into interop/ Ryan Anderson
@ 2006-07-10  4:54   ` Ryan Anderson
  2006-07-10  6:41     ` Pavel Roskin
  0 siblings, 1 reply; 4+ messages in thread
From: Ryan Anderson @ 2006-07-10  4:54 UTC (permalink / raw)
  To: git; +Cc: Ryan Anderson

Signed-off-by: Ryan Anderson <ryan@michonline.com>
---
 Makefile                                           |   15 ++-------------
 builtin/Makefile                                   |   13 +++++++++++++
 builtin-add.c => builtin/builtin-add.c             |    0 
 builtin-apply.c => builtin/builtin-apply.c         |    0 
 builtin-cat-file.c => builtin/builtin-cat-file.c   |    0 
 .../builtin-check-ref-format.c                     |    0 
 .../builtin-commit-tree.c                          |    0 
 builtin-count.c => builtin/builtin-count.c         |    0 
 .../builtin-diff-files.c                           |    0 
 .../builtin-diff-index.c                           |    0 
 .../builtin-diff-stages.c                          |    0 
 builtin-diff-tree.c => builtin/builtin-diff-tree.c |    0 
 builtin-diff.c => builtin/builtin-diff.c           |    0 
 .../builtin-fmt-merge-msg.c                        |    0 
 builtin-grep.c => builtin/builtin-grep.c           |    0 
 builtin-help.c => builtin/builtin-help.c           |    0 
 builtin-init-db.c => builtin/builtin-init-db.c     |    0 
 builtin-log.c => builtin/builtin-log.c             |    0 
 builtin-ls-files.c => builtin/builtin-ls-files.c   |    0 
 builtin-ls-tree.c => builtin/builtin-ls-tree.c     |    0 
 builtin-mailinfo.c => builtin/builtin-mailinfo.c   |    0 
 builtin-mailsplit.c => builtin/builtin-mailsplit.c |    0 
 builtin-push.c => builtin/builtin-push.c           |    0 
 builtin-read-tree.c => builtin/builtin-read-tree.c |    0 
 builtin-rev-list.c => builtin/builtin-rev-list.c   |    0 
 builtin-rev-parse.c => builtin/builtin-rev-parse.c |    0 
 builtin-rm.c => builtin/builtin-rm.c               |    0 
 .../builtin-show-branch.c                          |    0 
 .../builtin-stripspace.c                           |    0 
 builtin-tar-tree.c => builtin/builtin-tar-tree.c   |    0 
 .../builtin-update-index.c                         |    0 
 .../builtin-update-ref.c                           |    0 
 .../builtin-upload-tar.c                           |    0 
 .../builtin-write-tree.c                           |    0 
 builtin.h => builtin/builtin.h                     |    0 
 git.c                                              |    2 +-
 36 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/Makefile b/Makefile
index d6e2b0f..92368b9 100644
--- a/Makefile
+++ b/Makefile
@@ -87,7 +87,7 @@ uname_P := $(shell sh -c 'uname -p 2>/de
 
 # CFLAGS and LDFLAGS are for the users to override from the command line.
 
-CFLAGS = -g -O2 -Wall
+CFLAGS = -g -O2 -Wall -I.
 LDFLAGS =
 ALL_CFLAGS = $(CFLAGS)
 ALL_LDFLAGS = $(LDFLAGS)
@@ -177,6 +177,7 @@ BUILT_INS = git-log$X git-whatchanged$X 
 
 
 include interop/Makefile
+include builtin/Makefile
 
 # what 'all' will build and 'install' will install, in gitexecdir
 ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS)
@@ -222,18 +223,6 @@ LIB_OBJS = \
 	fetch-clone.o revision.o pager.o tree-walk.o xdiff-interface.o \
 	alloc.o $(DIFF_OBJS)
 
-BUILTIN_OBJS = \
-	builtin-log.o builtin-help.o builtin-count.o builtin-diff.o builtin-push.o \
-	builtin-grep.o builtin-add.o builtin-rev-list.o builtin-check-ref-format.o \
-	builtin-rm.o builtin-init-db.o builtin-rev-parse.o \
-	builtin-tar-tree.o builtin-upload-tar.o builtin-update-index.o \
-	builtin-ls-files.o builtin-ls-tree.o builtin-write-tree.o \
-	builtin-read-tree.o builtin-commit-tree.o builtin-mailinfo.o \
-	builtin-apply.o builtin-show-branch.o builtin-diff-files.o \
-	builtin-diff-index.o builtin-diff-stages.o builtin-diff-tree.o \
-	builtin-cat-file.o builtin-mailsplit.o builtin-stripspace.o \
-	builtin-update-ref.o builtin-fmt-merge-msg.o
-
 GITLIBS = $(LIB_FILE) $(XDIFF_LIB)
 LIBS = $(GITLIBS) -lz
 
diff --git a/builtin/Makefile b/builtin/Makefile
new file mode 100644
index 0000000..3588fce
--- /dev/null
+++ b/builtin/Makefile
@@ -0,0 +1,13 @@
+BUILTIN_OBJ_BASE = \
+	builtin-log.o builtin-help.o builtin-count.o builtin-diff.o builtin-push.o \
+	builtin-grep.o builtin-add.o builtin-rev-list.o builtin-check-ref-format.o \
+	builtin-rm.o builtin-init-db.o builtin-rev-parse.o \
+	builtin-tar-tree.o builtin-upload-tar.o builtin-update-index.o \
+	builtin-ls-files.o builtin-ls-tree.o builtin-write-tree.o \
+	builtin-read-tree.o builtin-commit-tree.o builtin-mailinfo.o \
+	builtin-apply.o builtin-show-branch.o builtin-diff-files.o \
+	builtin-diff-index.o builtin-diff-stages.o builtin-diff-tree.o \
+	builtin-cat-file.o builtin-mailsplit.o builtin-stripspace.o \
+	builtin-update-ref.o builtin-fmt-merge-msg.o
+
+BUILTIN_OBJS = $(addprefix builtin/,$(BUILTIN_OBJ_BASE))
\ No newline at end of file
diff --git a/builtin-add.c b/builtin/builtin-add.c
similarity index 100%
rename from builtin-add.c
rename to builtin/builtin-add.c
diff --git a/builtin-apply.c b/builtin/builtin-apply.c
similarity index 100%
rename from builtin-apply.c
rename to builtin/builtin-apply.c
diff --git a/builtin-cat-file.c b/builtin/builtin-cat-file.c
similarity index 100%
rename from builtin-cat-file.c
rename to builtin/builtin-cat-file.c
diff --git a/builtin-check-ref-format.c b/builtin/builtin-check-ref-format.c
similarity index 100%
rename from builtin-check-ref-format.c
rename to builtin/builtin-check-ref-format.c
diff --git a/builtin-commit-tree.c b/builtin/builtin-commit-tree.c
similarity index 100%
rename from builtin-commit-tree.c
rename to builtin/builtin-commit-tree.c
diff --git a/builtin-count.c b/builtin/builtin-count.c
similarity index 100%
rename from builtin-count.c
rename to builtin/builtin-count.c
diff --git a/builtin-diff-files.c b/builtin/builtin-diff-files.c
similarity index 100%
rename from builtin-diff-files.c
rename to builtin/builtin-diff-files.c
diff --git a/builtin-diff-index.c b/builtin/builtin-diff-index.c
similarity index 100%
rename from builtin-diff-index.c
rename to builtin/builtin-diff-index.c
diff --git a/builtin-diff-stages.c b/builtin/builtin-diff-stages.c
similarity index 100%
rename from builtin-diff-stages.c
rename to builtin/builtin-diff-stages.c
diff --git a/builtin-diff-tree.c b/builtin/builtin-diff-tree.c
similarity index 100%
rename from builtin-diff-tree.c
rename to builtin/builtin-diff-tree.c
diff --git a/builtin-diff.c b/builtin/builtin-diff.c
similarity index 100%
rename from builtin-diff.c
rename to builtin/builtin-diff.c
diff --git a/builtin-fmt-merge-msg.c b/builtin/builtin-fmt-merge-msg.c
similarity index 100%
rename from builtin-fmt-merge-msg.c
rename to builtin/builtin-fmt-merge-msg.c
diff --git a/builtin-grep.c b/builtin/builtin-grep.c
similarity index 100%
rename from builtin-grep.c
rename to builtin/builtin-grep.c
diff --git a/builtin-help.c b/builtin/builtin-help.c
similarity index 100%
rename from builtin-help.c
rename to builtin/builtin-help.c
diff --git a/builtin-init-db.c b/builtin/builtin-init-db.c
similarity index 100%
rename from builtin-init-db.c
rename to builtin/builtin-init-db.c
diff --git a/builtin-log.c b/builtin/builtin-log.c
similarity index 100%
rename from builtin-log.c
rename to builtin/builtin-log.c
diff --git a/builtin-ls-files.c b/builtin/builtin-ls-files.c
similarity index 100%
rename from builtin-ls-files.c
rename to builtin/builtin-ls-files.c
diff --git a/builtin-ls-tree.c b/builtin/builtin-ls-tree.c
similarity index 100%
rename from builtin-ls-tree.c
rename to builtin/builtin-ls-tree.c
diff --git a/builtin-mailinfo.c b/builtin/builtin-mailinfo.c
similarity index 100%
rename from builtin-mailinfo.c
rename to builtin/builtin-mailinfo.c
diff --git a/builtin-mailsplit.c b/builtin/builtin-mailsplit.c
similarity index 100%
rename from builtin-mailsplit.c
rename to builtin/builtin-mailsplit.c
diff --git a/builtin-push.c b/builtin/builtin-push.c
similarity index 100%
rename from builtin-push.c
rename to builtin/builtin-push.c
diff --git a/builtin-read-tree.c b/builtin/builtin-read-tree.c
similarity index 100%
rename from builtin-read-tree.c
rename to builtin/builtin-read-tree.c
diff --git a/builtin-rev-list.c b/builtin/builtin-rev-list.c
similarity index 100%
rename from builtin-rev-list.c
rename to builtin/builtin-rev-list.c
diff --git a/builtin-rev-parse.c b/builtin/builtin-rev-parse.c
similarity index 100%
rename from builtin-rev-parse.c
rename to builtin/builtin-rev-parse.c
diff --git a/builtin-rm.c b/builtin/builtin-rm.c
similarity index 100%
rename from builtin-rm.c
rename to builtin/builtin-rm.c
diff --git a/builtin-show-branch.c b/builtin/builtin-show-branch.c
similarity index 100%
rename from builtin-show-branch.c
rename to builtin/builtin-show-branch.c
diff --git a/builtin-stripspace.c b/builtin/builtin-stripspace.c
similarity index 100%
rename from builtin-stripspace.c
rename to builtin/builtin-stripspace.c
diff --git a/builtin-tar-tree.c b/builtin/builtin-tar-tree.c
similarity index 100%
rename from builtin-tar-tree.c
rename to builtin/builtin-tar-tree.c
diff --git a/builtin-update-index.c b/builtin/builtin-update-index.c
similarity index 100%
rename from builtin-update-index.c
rename to builtin/builtin-update-index.c
diff --git a/builtin-update-ref.c b/builtin/builtin-update-ref.c
similarity index 100%
rename from builtin-update-ref.c
rename to builtin/builtin-update-ref.c
diff --git a/builtin-upload-tar.c b/builtin/builtin-upload-tar.c
similarity index 100%
rename from builtin-upload-tar.c
rename to builtin/builtin-upload-tar.c
diff --git a/builtin-write-tree.c b/builtin/builtin-write-tree.c
similarity index 100%
rename from builtin-write-tree.c
rename to builtin/builtin-write-tree.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/git.c b/git.c
index 49062ca..81f6675 100644
--- a/git.c
+++ b/git.c
@@ -12,7 +12,7 @@ #include "git-compat-util.h"
 #include "exec_cmd.h"
 #include "cache.h"
 
-#include "builtin.h"
+#include "builtin/builtin.h"
 
 static void prepend_to_path(const char *dir, int len)
 {
-- 
1.4.1.gc473b-dirty

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

* Re: [PATCH 2/2] Move all builtin .c files into builtin/
  2006-07-10  4:54   ` [PATCH 2/2] Move all builtin .c files into builtin/ Ryan Anderson
@ 2006-07-10  6:41     ` Pavel Roskin
  0 siblings, 0 replies; 4+ messages in thread
From: Pavel Roskin @ 2006-07-10  6:41 UTC (permalink / raw)
  To: Ryan Anderson; +Cc: git

Hello, Ryan!

On Mon, 2006-07-10 at 00:54 -0400, Ryan Anderson wrote:
> Signed-off-by: Ryan Anderson <ryan@michonline.com>

I agree that the top level directory is overcrowded, but wouldn't it be
better to move libgit.a sources to "lib" and then classify the remaining
files in some way (e.g. "git" or "src" for builtin commands, "commands"
for the rest)?  While at that, the "buildin-"  prefix could be stripped.

The main "git" executable is nothing but several builtin commands rolled
together.  It's not like a shell, which has functionality beyond the
builtin commands.  So "builtin" is git.

Or you can say that the git executable is a command line frontend to the
git library (it's moving in this direction anyway).  Then you can have
"client" and "server" directories.  That's more important for
understanding the source than "builtin", "standalone" or any
classification based on technical details.

-- 
Regards,
Pavel Roskin

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

end of thread, other threads:[~2006-07-10  6:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-10  4:54 [RFC+PATCH 0/2] Clean up root directory Ryan Anderson
2006-07-10  4:54 ` [PATCH 1/2] Move SCM interoperability tools into interop/ Ryan Anderson
2006-07-10  4:54   ` [PATCH 2/2] Move all builtin .c files into builtin/ Ryan Anderson
2006-07-10  6:41     ` Pavel Roskin

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