Merge branch 'rs/cherry'
authorJunio C Hamano <junkio@cox.net>
Wed, 1 Nov 2006 17:17:37 +0000 (09:17 -0800)
committerJunio C Hamano <junkio@cox.net>
Wed, 1 Nov 2006 17:17:37 +0000 (09:17 -0800)
* rs/cherry:
Make git-cherry handle root trees
Built-in cherry

1  2 
Makefile
builtin.h
git.c
diff --combined Makefile
index 40e2a680f050f6f7623f2e49066a8897f4b64cbd,2b53747df13cf74e4fef3596ea1f42dba52c2e18..1cc9f586d6d239273b72c4500b35e6c437debe6a
+++ b/Makefile
@@@ -132,8 -132,6 +132,8 @@@ GITWEB_HOMETEXT = indextext.htm
  GITWEB_CSS = gitweb.css
  GITWEB_LOGO = git-logo.png
  GITWEB_FAVICON = git-favicon.png
 +GITWEB_SITE_HEADER =
 +GITWEB_SITE_FOOTER =
  
  export prefix bindir gitexecdir template_dir GIT_PYTHON_DIR
  
@@@ -158,8 -156,8 +158,8 @@@ BASIC_CFLAGS 
  BASIC_LDFLAGS =
  
  SCRIPT_SH = \
 -      git-bisect.sh git-branch.sh git-checkout.sh \
 +      git-bisect.sh git-checkout.sh \
-       git-cherry.sh git-clean.sh git-clone.sh git-commit.sh \
+       git-clean.sh git-clone.sh git-commit.sh \
        git-fetch.sh \
        git-ls-remote.sh \
        git-merge-one-file.sh git-parse-remote.sh \
  SCRIPT_PERL = \
        git-archimport.perl git-cvsimport.perl git-relink.perl \
        git-shortlog.perl git-rerere.perl \
 -      git-annotate.perl git-cvsserver.perl \
 +      git-cvsserver.perl \
        git-svnimport.perl git-cvsexportcommit.perl \
        git-send-email.perl git-svn.perl
  
@@@ -212,7 -210,7 +212,7 @@@ PROGRAMS = 
  EXTRA_PROGRAMS =
  
  BUILT_INS = \
-       git-format-patch$X git-show$X git-whatchanged$X \
+       git-format-patch$X git-show$X git-whatchanged$X git-cherry$X \
        git-get-tar-commit-id$X \
        $(patsubst builtin-%.o,git-%$X,$(BUILTIN_OBJS))
  
@@@ -267,10 -265,8 +267,10 @@@ LIB_OBJS = 
  
  BUILTIN_OBJS = \
        builtin-add.o \
 +      builtin-annotate.o \
        builtin-apply.o \
        builtin-archive.o \
 +      builtin-branch.o \
        builtin-cat-file.o \
        builtin-checkout-index.o \
        builtin-check-ref-format.o \
        builtin-diff-stages.o \
        builtin-diff-tree.o \
        builtin-fmt-merge-msg.o \
 +      builtin-for-each-ref.o \
        builtin-grep.o \
        builtin-init-db.o \
        builtin-log.o \
        builtin-update-ref.o \
        builtin-upload-archive.o \
        builtin-verify-pack.o \
 -      builtin-write-tree.o
 +      builtin-write-tree.o \
 +      builtin-show-ref.o \
 +      builtin-pack-refs.o
  
  GITLIBS = $(LIB_FILE) $(XDIFF_LIB)
  EXTLIBS = -lz
@@@ -682,8 -675,6 +682,8 @@@ gitweb/gitweb.cgi: gitweb/gitweb.per
            -e 's|++GITWEB_CSS++|$(GITWEB_CSS)|g' \
            -e 's|++GITWEB_LOGO++|$(GITWEB_LOGO)|g' \
            -e 's|++GITWEB_FAVICON++|$(GITWEB_FAVICON)|g' \
 +          -e 's|++GITWEB_SITE_HEADER++|$(GITWEB_SITE_HEADER)|g' \
 +          -e 's|++GITWEB_SITE_FOOTER++|$(GITWEB_SITE_FOOTER)|g' \
            $< >$@+
        chmod +x $@+
        mv $@+ $@
diff --combined builtin.h
index f7150aa6b8c715c05ca1a6c0ec2718ba1d48b7fb,285d98fd9fc877874c612e5d4407b1db5096867a..a9b28ed8996ffc255f82ebc35f32386865b7f227
+++ b/builtin.h
@@@ -14,13 -14,12 +14,14 @@@ extern int write_tree(unsigned char *sh
  extern void prune_packed_objects(int);
  
  extern int cmd_add(int argc, const char **argv, const char *prefix);
 +extern int cmd_annotate(int argc, const char **argv, const char *prefix);
  extern int cmd_apply(int argc, const char **argv, const char *prefix);
  extern int cmd_archive(int argc, const char **argv, const char *prefix);
 +extern int cmd_branch(int argc, const char **argv, const char *prefix);
  extern int cmd_cat_file(int argc, const char **argv, const char *prefix);
  extern int cmd_checkout_index(int argc, const char **argv, const char *prefix);
  extern int cmd_check_ref_format(int argc, const char **argv, const char *prefix);
+ extern int cmd_cherry(int argc, const char **argv, const char *prefix);
  extern int cmd_commit_tree(int argc, const char **argv, const char *prefix);
  extern int cmd_count_objects(int argc, const char **argv, const char *prefix);
  extern int cmd_diff_files(int argc, const char **argv, const char *prefix);
@@@ -29,7 -28,6 +30,7 @@@ extern int cmd_diff(int argc, const cha
  extern int cmd_diff_stages(int argc, const char **argv, const char *prefix);
  extern int cmd_diff_tree(int argc, const char **argv, const char *prefix);
  extern int cmd_fmt_merge_msg(int argc, const char **argv, const char *prefix);
 +extern int cmd_for_each_ref(int argc, const char **argv, const char *prefix);
  extern int cmd_format_patch(int argc, const char **argv, const char *prefix);
  extern int cmd_get_tar_commit_id(int argc, const char **argv, const char *prefix);
  extern int cmd_grep(int argc, const char **argv, const char *prefix);
@@@ -52,8 -50,8 +53,8 @@@ extern int cmd_rev_list(int argc, cons
  extern int cmd_rev_parse(int argc, const char **argv, const char *prefix);
  extern int cmd_rm(int argc, const char **argv, const char *prefix);
  extern int cmd_runstatus(int argc, const char **argv, const char *prefix);
 -extern int cmd_show_branch(int argc, const char **argv, const char *prefix);
  extern int cmd_show(int argc, const char **argv, const char *prefix);
 +extern int cmd_show_branch(int argc, const char **argv, const char *prefix);
  extern int cmd_stripspace(int argc, const char **argv, const char *prefix);
  extern int cmd_symbolic_ref(int argc, const char **argv, const char *prefix);
  extern int cmd_tar_tree(int argc, const char **argv, const char *prefix);
@@@ -66,7 -64,5 +67,7 @@@ extern int cmd_version(int argc, const 
  extern int cmd_whatchanged(int argc, const char **argv, const char *prefix);
  extern int cmd_write_tree(int argc, const char **argv, const char *prefix);
  extern int cmd_verify_pack(int argc, const char **argv, const char *prefix);
 +extern int cmd_show_ref(int argc, const char **argv, const char *prefix);
 +extern int cmd_pack_refs(int argc, const char **argv, const char *prefix);
  
  #endif
diff --combined git.c
index af181d93b1ca5908ea58acea73394b1f36554b39,f8c991ff8c931cdbcdcc3f1b63ee7f5a44bbc537..d6c2d2db6051b664ccf4b215b63b48e27df71dc6
--- 1/git.c
--- 2/git.c
+++ b/git.c
@@@ -219,13 -219,12 +219,14 @@@ static void handle_internal_command(in
                int option;
        } commands[] = {
                { "add", cmd_add, RUN_SETUP },
 +              { "annotate", cmd_annotate, },
                { "apply", cmd_apply },
                { "archive", cmd_archive },
 +              { "branch", cmd_branch },
                { "cat-file", cmd_cat_file, RUN_SETUP },
                { "checkout-index", cmd_checkout_index, RUN_SETUP },
                { "check-ref-format", cmd_check_ref_format },
+               { "cherry", cmd_cherry, RUN_SETUP },
                { "commit-tree", cmd_commit_tree, RUN_SETUP },
                { "count-objects", cmd_count_objects, RUN_SETUP },
                { "diff", cmd_diff, RUN_SETUP | USE_PAGER },
                { "diff-stages", cmd_diff_stages, RUN_SETUP },
                { "diff-tree", cmd_diff_tree, 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 },
                { "get-tar-commit-id", cmd_get_tar_commit_id },
                { "grep", cmd_grep, RUN_SETUP },
                { "whatchanged", cmd_whatchanged, RUN_SETUP | USE_PAGER },
                { "write-tree", cmd_write_tree, RUN_SETUP },
                { "verify-pack", cmd_verify_pack },
 +              { "show-ref", cmd_show_ref, RUN_SETUP },
 +              { "pack-refs", cmd_pack_refs, RUN_SETUP },
        };
        int i;