From: Junio C Hamano Date: Wed, 19 Apr 2006 23:12:57 +0000 (-0700) Subject: Merge branch 'jc/unresolve' into next X-Git-Tag: v1.4.1-rc1~202 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/60571f75ab81f9e1d5a5f351ac07f6d86a461230?hp=-c Merge branch 'jc/unresolve' into next * jc/unresolve: Add git-unresolve ... 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 --- 60571f75ab81f9e1d5a5f351ac07f6d86a461230 diff --combined .gitignore index 145f8555ad,1e4ba7b209..a536f32497 --- a/.gitignore +++ b/.gitignore @@@ -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 f0be83b296,51dcce3aa3..858e58ddd2 --- a/Makefile +++ 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 0c40773a87,40b7e42ae9..447d86cd57 --- a/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;