Re: The merge from hell...
On Thu, 2 Feb 2006, Junio C Hamano wrote:
Show 15 quoted lines
>
> Linus Torvalds <torvalds@osdl.org> writes:
> >
> > Ahh. You're mis-using git-diff-tree.
> >
> > git-diff-tree will _never_ show the commit log if the diff ends up being
> > empty.
>
> True, I should fix the documentation.
>
> It _might_ make sense for certain users like gitk and gitview if
> we had a single tool that gives --pretty and its diff even if
> the diff is empty. Having said that, the flag --cc -m is too
> specific. If some uses want to see the commit log even for an
> empty diff, that flag should not be something only --cc honors.
Here's an "--always" flag that does that.
Linus
---
diff --git a/diff-tree.c b/diff-tree.c
index 6593a69..2df23c6 100644
--- a/diff-tree.c
+++ b/diff-tree.c
@@ -10,6 +10,7 @@ static int show_empty_combined = 0;
static int combine_merges = 0;
static int dense_combined_merges = 0;
static int read_stdin = 0;
+static int always_show_header = 0;
static const char *header = NULL;
static const char *header_prefix = "";
@@ -93,6 +94,10 @@ static const char *generate_header(const
offset += pretty_print_commit(commit_format, commit, len,
this_header + offset,
sizeof(this_header) - offset, abbrev);
+ if (always_show_header) {
+ puts(this_header);
+ return NULL;
+ }
return this_header;
}
@@ -262,6 +267,10 @@ int main(int argc, const char **argv)
no_commit_id = 1;
continue;
}
+ if (!strcmp(arg, "--always")) {
+ always_show_header = 1;
+ continue;
+ }
usage(diff_tree_usage);
}
if (diff_options.output_format == DIFF_FORMAT_PATCH)