summaryrefslogtreecommitdiff
path: root/diff-tree.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2006-01-24 09:22:04 (GMT)
committerJunio C Hamano <junkio@cox.net>2006-01-28 08:08:28 (GMT)
commitd8f4790e6fe7a9d94468ea83d1370643604d43e5 (patch)
tree21468108c5791e31c898b5f49bdd7566f0975e48 /diff-tree.c
parentaf3feefa1d057713c2277cc1543d438e60c65306 (diff)
downloadgit-d8f4790e6fe7a9d94468ea83d1370643604d43e5.zip
git-d8f4790e6fe7a9d94468ea83d1370643604d43e5.tar.gz
git-d8f4790e6fe7a9d94468ea83d1370643604d43e5.tar.bz2
diff-tree --cc: denser combined diff output for a merge commit.
Building on the previous '-c' (combined) option, '--cc' option squelches the output further by omitting hunks that consist of difference with solely one parent. Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'diff-tree.c')
-rw-r--r--diff-tree.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/diff-tree.c b/diff-tree.c
index 0c68936..99c580c 100644
--- a/diff-tree.c
+++ b/diff-tree.c
@@ -8,6 +8,7 @@ static int verbose_header = 0;
static int ignore_merges = 1;
static int show_empty_combined = 0;
static int combine_merges = 0;
+static int dense_combined_merges = 0;
static int read_stdin = 0;
static const char *header = NULL;
@@ -121,7 +122,8 @@ static int diff_tree_commit(const unsigned char *commit_sha1)
header = generate_header(sha1, sha1,
commit->buffer);
return diff_tree_combined_merge(sha1, header,
- show_empty_combined);
+ show_empty_combined,
+ dense_combined_merges);
}
}
@@ -168,7 +170,7 @@ static int diff_tree_stdin(char *line)
}
static const char diff_tree_usage[] =
-"git-diff-tree [--stdin] [-m] [-c] [-s] [-v] [--pretty] [-t] [-r] [--root] "
+"git-diff-tree [--stdin] [-m] [-c] [--cc] [-s] [-v] [--pretty] [-t] [-r] [--root] "
"[<common diff options>] <tree-ish> [<tree-ish>] [<path>...]\n"
" -r diff recursively\n"
" --root include the initial commit as diff against /dev/null\n"
@@ -235,6 +237,10 @@ int main(int argc, const char **argv)
combine_merges = 1;
continue;
}
+ if (!strcmp(arg, "--cc")) {
+ dense_combined_merges = combine_merges = 1;
+ continue;
+ }
if (!strcmp(arg, "-v")) {
verbose_header = 1;
header_prefix = "diff-tree ";