Merge branch 'jc/unresolve' into next
authorJunio C Hamano <junkio@cox.net>
Wed, 19 Apr 2006 23:12:57 +0000 (16:12 -0700)
committerJunio C Hamano <junkio@cox.net>
Wed, 19 Apr 2006 23:12:57 +0000 (16:12 -0700)
* jc/unresolve:
Add git-unresolve <paths>...
get_tree_entry(): make it available from tree-walk
sha1_name.c: no need to include diff.h; tree-walk.h will do.
sha1_name.c: prepare to make get_tree_entry() reusable from others.
pre-commit hook: complain about conflict markers.
git-merge: a bit more readable user guidance.
diff: move diff.c to diff-lib.c to make room.
git log: don't do merge diffs by default
Allow "git repack" users to specify repacking window/depth

1  2 
.gitignore
Makefile
git.c
diff --combined .gitignore
index 145f8555ad4b5c13cb7a6076cf7d9e809beff952,1e4ba7b209282f0ef16729dfffe8428a549c5f27..a536f32497b75f95b7943c9c639bdf4df0777145
@@@ -111,6 -111,7 +111,7 @@@ git-ta
  git-tar-tree
  git-unpack-file
  git-unpack-objects
+ git-unresolve
  git-update-index
  git-update-ref
  git-update-server-info
@@@ -123,7 -124,6 +124,7 @@@ git-write-tre
  git-core-*/?*
  test-date
  test-delta
 +test-gsimm
  common-cmds.h
  *.tar.gz
  *.dsc
diff --combined Makefile
index f0be83b296f0e480a529f6af96699b46bf75bece,51dcce3aa3f09f1774e49d69768890572ba8c5a8..858e58ddd2248fe4299d88759daa204ce3678fa0
+++ b/Makefile
@@@ -165,7 -165,8 +165,8 @@@ PROGRAMS = 
        git-upload-pack$X git-verify-pack$X git-write-tree$X \
        git-update-ref$X git-symbolic-ref$X git-check-ref-format$X \
        git-name-rev$X git-pack-redundant$X git-repo-config$X git-var$X \
-       git-describe$X git-merge-tree$X git-blame$X git-imap-send$X
+       git-describe$X git-merge-tree$X git-blame$X git-imap-send$X \
+       git-unresolve$X
  
  BUILT_INS = git-log$X
  
@@@ -199,7 -200,7 +200,7 @@@ LIB_H = 
        tree-walk.h log-tree.h
  
  DIFF_OBJS = \
-       diff.o diffcore-break.o diffcore-order.o \
+       diff-lib.o diffcore-break.o diffcore-order.o \
        diffcore-pickaxe.o diffcore-rename.o tree-diff.o combine-diff.o \
        diffcore-delta.o log-tree.o
  
@@@ -606,9 -607,6 +607,9 @@@ test-date$X: test-date.c date.o ctype.
  test-delta$X: test-delta.c diff-delta.o patch-delta.o
        $(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $^ -lz
  
 +test-gsimm$X: test-gsimm.c gsimm.o rabinpoly.o
 +      $(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $^
 +
  check:
        for i in *.c; do sparse $(ALL_CFLAGS) $(SPARSE_FLAGS) $$i || exit; done
  
@@@ -657,7 -655,6 +658,7 @@@ clean
        rm -f *.o mozilla-sha1/*.o arm/*.o ppc/*.o compat/*.o xdiff/*.o \
                $(LIB_FILE) $(XDIFF_LIB)
        rm -f $(ALL_PROGRAMS) $(BUILT_INS) git$X
 +      rm -f test-date$X test-delta$X test-gsimm$X
        rm -f *.spec *.pyc *.pyo */*.pyc */*.pyo common-cmds.h TAGS tags
        rm -rf $(GIT_TARNAME)
        rm -f $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz
diff --combined git.c
index 0c40773a87b81b123b7ef3053dfd59f836b96a04,40b7e42ae9f87b5cdc7e2f968bbb12caa8f2d01c..447d86cd571bcc06b06c64a8713c7dd3c3e1a4f5
--- 1/git.c
--- 2/git.c
+++ b/git.c
@@@ -276,43 -276,6 +276,43 @@@ static int cmd_help(int argc, const cha
        return 0;
  }
  
 +static int cmd_format_patch(int argc, const char **argv, char **envp)
 +{
 +      struct commit *commit;
 +      struct commit **list = NULL;
 +      struct rev_info rev;
 +      int nr = 0;
 +
 +      init_revisions(&rev);
 +      rev.commit_format = CMIT_FMT_EMAIL;
 +      rev.verbose_header = 1;
 +      rev.diff = 1;
 +      rev.diffopt.with_raw = 0;
 +      rev.diffopt.with_stat = 1;
 +      rev.combine_merges = 0;
 +      rev.ignore_merges = 1;
 +      rev.diffopt.output_format = DIFF_FORMAT_PATCH;
 +      argc = setup_revisions(argc, argv, &rev, "HEAD");
 +
 +      prepare_revision_walk(&rev);
 +      while ((commit = get_revision(&rev)) != NULL) {
 +              nr++;
 +              list = realloc(list, nr * sizeof(list[0]));
 +              list[nr - 1] = commit;
 +      }
 +      while (0 <= --nr) {
 +              int shown;
 +              commit = list[nr];
 +              shown = log_tree_commit(&rev, commit);
 +              free(commit->buffer);
 +              commit->buffer = NULL;
 +              if (shown)
 +                      printf("-- \n%s\n\n", GIT_VERSION);
 +      }
 +      free(list);
 +      return 0;
 +}
 +
  static int cmd_log_wc(int argc, const char **argv, char **envp,
                      struct rev_info *rev)
  {
@@@ -368,8 -331,6 +368,6 @@@ static int cmd_log(int argc, const cha
        init_revisions(&rev);
        rev.always_show_header = 1;
        rev.diffopt.recursive = 1;
-       rev.combine_merges = 1;
-       rev.ignore_merges = 0;
        return cmd_log_wc(argc, argv, envp, &rev);
  }
  
@@@ -385,7 -346,6 +383,7 @@@ static void handle_internal_command(in
                { "log", cmd_log },
                { "whatchanged", cmd_wc },
                { "show", cmd_show },
 +              { "format-patch", cmd_format_patch },
        };
        int i;