[PATCH v2 4/4] Move builtin-related implementations to a new builtin.c file

2014-01-02 Thread Sebastian Schuberth
Signed-off-by: Sebastian Schuberth sschube...@gmail.com
---
 Documentation/technical/api-builtin.txt |   2 +-
 Makefile|   1 +
 builtin.c   | 225 ++
 builtin.h   |  21 +++
 git.c   | 238 
 5 files changed, 248 insertions(+), 239 deletions(-)
 create mode 100644 builtin.c

diff --git a/Documentation/technical/api-builtin.txt 
b/Documentation/technical/api-builtin.txt
index e3d6e7a..d1d946c 100644
--- a/Documentation/technical/api-builtin.txt
+++ b/Documentation/technical/api-builtin.txt
@@ -14,7 +14,7 @@ Git:
 
 . Add the external declaration for the function to `builtin.h`.
 
-. Add the command to the `commands[]` table defined in `git.c`.
+. Add the command to the `commands[]` table defined in `builtin.c`.
   The entry should look like:
 
{ foo, cmd_foo, options },
diff --git a/Makefile b/Makefile
index b4af1e2..2d947e8 100644
--- a/Makefile
+++ b/Makefile
@@ -763,6 +763,7 @@ LIB_OBJS += base85.o
 LIB_OBJS += bisect.o
 LIB_OBJS += blob.o
 LIB_OBJS += branch.o
+LIB_OBJS += builtin.o
 LIB_OBJS += bulk-checkin.o
 LIB_OBJS += bundle.o
 LIB_OBJS += cache-tree.o
diff --git a/builtin.c b/builtin.c
new file mode 100644
index 000..6bdeb7c
--- /dev/null
+++ b/builtin.c
@@ -0,0 +1,225 @@
+#include builtin.h
+
+static struct cmd_struct commands[] = {
+   { add, cmd_add, RUN_SETUP | NEED_WORK_TREE },
+   { annotate, cmd_annotate, RUN_SETUP },
+   { apply, cmd_apply, RUN_SETUP_GENTLY },
+   { archive, cmd_archive },
+   { bisect--helper, cmd_bisect__helper, RUN_SETUP },
+   { blame, cmd_blame, RUN_SETUP },
+   { branch, cmd_branch, RUN_SETUP },
+   { bundle, cmd_bundle, RUN_SETUP_GENTLY },
+   { cat-file, cmd_cat_file, RUN_SETUP },
+   { check-attr, cmd_check_attr, RUN_SETUP },
+   { check-ignore, cmd_check_ignore, RUN_SETUP | NEED_WORK_TREE },
+   { check-mailmap, cmd_check_mailmap, RUN_SETUP },
+   { check-ref-format, cmd_check_ref_format },
+   { checkout, cmd_checkout, RUN_SETUP | NEED_WORK_TREE },
+   { checkout-index, cmd_checkout_index,
+   RUN_SETUP | NEED_WORK_TREE},
+   { cherry, cmd_cherry, RUN_SETUP },
+   { cherry-pick, cmd_cherry_pick, RUN_SETUP | NEED_WORK_TREE },
+   { clean, cmd_clean, RUN_SETUP | NEED_WORK_TREE },
+   { clone, cmd_clone },
+   { column, cmd_column, RUN_SETUP_GENTLY },
+   { commit, cmd_commit, RUN_SETUP | NEED_WORK_TREE },
+   { commit-tree, cmd_commit_tree, RUN_SETUP },
+   { config, cmd_config, RUN_SETUP_GENTLY },
+   { count-objects, cmd_count_objects, RUN_SETUP },
+   { credential, cmd_credential, RUN_SETUP_GENTLY },
+   { describe, cmd_describe, RUN_SETUP },
+   { diff, cmd_diff },
+   { diff-files, cmd_diff_files, RUN_SETUP | NEED_WORK_TREE },
+   { diff-index, cmd_diff_index, RUN_SETUP },
+   { diff-tree, cmd_diff_tree, RUN_SETUP },
+   { fast-export, cmd_fast_export, RUN_SETUP },
+   { fetch, cmd_fetch, RUN_SETUP },
+   { fetch-pack, cmd_fetch_pack, RUN_SETUP },
+   { fmt-merge-msg, cmd_fmt_merge_msg, RUN_SETUP },
+   { for-each-ref, cmd_for_each_ref, RUN_SETUP },
+   { format-patch, cmd_format_patch, RUN_SETUP },
+   { fsck, cmd_fsck, RUN_SETUP },
+   { fsck-objects, cmd_fsck, RUN_SETUP },
+   { gc, cmd_gc, RUN_SETUP },
+   { get-tar-commit-id, cmd_get_tar_commit_id },
+   { grep, cmd_grep, RUN_SETUP_GENTLY },
+   { hash-object, cmd_hash_object },
+   { help, cmd_help },
+   { index-pack, cmd_index_pack, RUN_SETUP_GENTLY },
+   { init, cmd_init_db },
+   { init-db, cmd_init_db },
+   { log, cmd_log, RUN_SETUP },
+   { ls-files, cmd_ls_files, RUN_SETUP },
+   { ls-remote, cmd_ls_remote, RUN_SETUP_GENTLY },
+   { ls-tree, cmd_ls_tree, RUN_SETUP },
+   { mailinfo, cmd_mailinfo },
+   { mailsplit, cmd_mailsplit },
+   { merge, cmd_merge, RUN_SETUP | NEED_WORK_TREE },
+   { merge-base, cmd_merge_base, RUN_SETUP },
+   { merge-file, cmd_merge_file, RUN_SETUP_GENTLY },
+   { merge-index, cmd_merge_index, RUN_SETUP },
+   { merge-ours, cmd_merge_ours, RUN_SETUP },
+   { merge-recursive, cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE },
+   { merge-recursive-ours, cmd_merge_recursive, RUN_SETUP | 
NEED_WORK_TREE },
+   { merge-recursive-theirs, cmd_merge_recursive, RUN_SETUP | 
NEED_WORK_TREE },
+   { merge-subtree, cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE },
+   { merge-tree, cmd_merge_tree, RUN_SETUP },
+   { mktag, cmd_mktag, RUN_SETUP },
+   { mktree, cmd_mktree, RUN_SETUP },
+   { mv, cmd_mv, RUN_SETUP | NEED_WORK_TREE },
+   { name-rev, cmd_name_rev, RUN_SETUP },
+   { notes, cmd_notes, RUN_SETUP },
+   { pack-objects, cmd_pack_objects, RUN_SETUP },
+   { pack-redundant, cmd_pack_redundant, 

Re: [PATCH v2 4/4] Move builtin-related implementations to a new builtin.c file

2014-01-02 Thread Junio C Hamano
Sebastian Schuberth sschube...@gmail.com writes:

 Signed-off-by: Sebastian Schuberth sschube...@gmail.com
 ---
  Documentation/technical/api-builtin.txt |   2 +-
  Makefile|   1 +
  builtin.c   | 225 ++
  builtin.h   |  21 +++
  git.c   | 238 
 
  5 files changed, 248 insertions(+), 239 deletions(-)
  create mode 100644 builtin.c

I'm sorry but I do not see a point in this.

It is not like builtin.c can be used outside the context of the main
Git program, and many helper functions you moved out of git.c that
used to be static want to be called from other places.

 diff --git a/Documentation/technical/api-builtin.txt 
 b/Documentation/technical/api-builtin.txt
 index e3d6e7a..d1d946c 100644
 --- a/Documentation/technical/api-builtin.txt
 +++ b/Documentation/technical/api-builtin.txt
 @@ -14,7 +14,7 @@ Git:
  
  . Add the external declaration for the function to `builtin.h`.
  
 -. Add the command to the `commands[]` table defined in `git.c`.
 +. Add the command to the `commands[]` table defined in `builtin.c`.
The entry should look like:
  
   { foo, cmd_foo, options },
 diff --git a/Makefile b/Makefile
 index b4af1e2..2d947e8 100644
 --- a/Makefile
 +++ b/Makefile
 @@ -763,6 +763,7 @@ LIB_OBJS += base85.o
  LIB_OBJS += bisect.o
  LIB_OBJS += blob.o
  LIB_OBJS += branch.o
 +LIB_OBJS += builtin.o
  LIB_OBJS += bulk-checkin.o
  LIB_OBJS += bundle.o
  LIB_OBJS += cache-tree.o
 diff --git a/builtin.c b/builtin.c
 new file mode 100644
 index 000..6bdeb7c
 --- /dev/null
 +++ b/builtin.c
 @@ -0,0 +1,225 @@
 +#include builtin.h
 +
 +static struct cmd_struct commands[] = {
 + { add, cmd_add, RUN_SETUP | NEED_WORK_TREE },
 + { annotate, cmd_annotate, RUN_SETUP },
 + { apply, cmd_apply, RUN_SETUP_GENTLY },
 + { archive, cmd_archive },
 + { bisect--helper, cmd_bisect__helper, RUN_SETUP },
 + { blame, cmd_blame, RUN_SETUP },
 + { branch, cmd_branch, RUN_SETUP },
 + { bundle, cmd_bundle, RUN_SETUP_GENTLY },
 + { cat-file, cmd_cat_file, RUN_SETUP },
 + { check-attr, cmd_check_attr, RUN_SETUP },
 + { check-ignore, cmd_check_ignore, RUN_SETUP | NEED_WORK_TREE },
 + { check-mailmap, cmd_check_mailmap, RUN_SETUP },
 + { check-ref-format, cmd_check_ref_format },
 + { checkout, cmd_checkout, RUN_SETUP | NEED_WORK_TREE },
 + { checkout-index, cmd_checkout_index,
 + RUN_SETUP | NEED_WORK_TREE},
 + { cherry, cmd_cherry, RUN_SETUP },
 + { cherry-pick, cmd_cherry_pick, RUN_SETUP | NEED_WORK_TREE },
 + { clean, cmd_clean, RUN_SETUP | NEED_WORK_TREE },
 + { clone, cmd_clone },
 + { column, cmd_column, RUN_SETUP_GENTLY },
 + { commit, cmd_commit, RUN_SETUP | NEED_WORK_TREE },
 + { commit-tree, cmd_commit_tree, RUN_SETUP },
 + { config, cmd_config, RUN_SETUP_GENTLY },
 + { count-objects, cmd_count_objects, RUN_SETUP },
 + { credential, cmd_credential, RUN_SETUP_GENTLY },
 + { describe, cmd_describe, RUN_SETUP },
 + { diff, cmd_diff },
 + { diff-files, cmd_diff_files, RUN_SETUP | NEED_WORK_TREE },
 + { diff-index, cmd_diff_index, RUN_SETUP },
 + { diff-tree, cmd_diff_tree, RUN_SETUP },
 + { fast-export, cmd_fast_export, RUN_SETUP },
 + { fetch, cmd_fetch, RUN_SETUP },
 + { fetch-pack, cmd_fetch_pack, RUN_SETUP },
 + { fmt-merge-msg, cmd_fmt_merge_msg, RUN_SETUP },
 + { for-each-ref, cmd_for_each_ref, RUN_SETUP },
 + { format-patch, cmd_format_patch, RUN_SETUP },
 + { fsck, cmd_fsck, RUN_SETUP },
 + { fsck-objects, cmd_fsck, RUN_SETUP },
 + { gc, cmd_gc, RUN_SETUP },
 + { get-tar-commit-id, cmd_get_tar_commit_id },
 + { grep, cmd_grep, RUN_SETUP_GENTLY },
 + { hash-object, cmd_hash_object },
 + { help, cmd_help },
 + { index-pack, cmd_index_pack, RUN_SETUP_GENTLY },
 + { init, cmd_init_db },
 + { init-db, cmd_init_db },
 + { log, cmd_log, RUN_SETUP },
 + { ls-files, cmd_ls_files, RUN_SETUP },
 + { ls-remote, cmd_ls_remote, RUN_SETUP_GENTLY },
 + { ls-tree, cmd_ls_tree, RUN_SETUP },
 + { mailinfo, cmd_mailinfo },
 + { mailsplit, cmd_mailsplit },
 + { merge, cmd_merge, RUN_SETUP | NEED_WORK_TREE },
 + { merge-base, cmd_merge_base, RUN_SETUP },
 + { merge-file, cmd_merge_file, RUN_SETUP_GENTLY },
 + { merge-index, cmd_merge_index, RUN_SETUP },
 + { merge-ours, cmd_merge_ours, RUN_SETUP },
 + { merge-recursive, cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE },
 + { merge-recursive-ours, cmd_merge_recursive, RUN_SETUP | 
 NEED_WORK_TREE },
 + { merge-recursive-theirs, cmd_merge_recursive, RUN_SETUP | 
 NEED_WORK_TREE },
 + { merge-subtree, cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE },
 + { merge-tree, cmd_merge_tree, RUN_SETUP },
 + { mktag, cmd_mktag, RUN_SETUP },
 + { mktree,