summaryrefslogtreecommitdiff
path: root/diff-tree.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-20 05:39:27 (GMT)
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-20 05:39:27 (GMT)
commitde809dbbce497e0d107562615c1d85ff35b4e0c5 (patch)
treef435f47dab3465a47fbd2114cf006e0e869f31a9 /diff-tree.c
parent57fe64a40d95dd99d798c6d7c81c1a76d24a8e7c (diff)
downloadgit-de809dbbce497e0d107562615c1d85ff35b4e0c5.zip
git-de809dbbce497e0d107562615c1d85ff35b4e0c5.tar.gz
git-de809dbbce497e0d107562615c1d85ff35b4e0c5.tar.bz2
Fix up previous commit
Add '-R' flag to diff-tree, and change the test subdirectory shell files to be executable (something that Junio couldn't get me to do through the pure patch with my current patch handling infrastructure).
Diffstat (limited to 'diff-tree.c')
-rw-r--r--diff-tree.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/diff-tree.c b/diff-tree.c
index b43df18..5559dd3 100644
--- a/diff-tree.c
+++ b/diff-tree.c
@@ -11,6 +11,7 @@ static int read_stdin = 0;
static int line_termination = '\n';
static int generate_patch = 0;
static int detect_rename = 0;
+static int reverse_diff = 0;
static int diff_score_opt = 0;
static const char *header = NULL;
static const char *header_prefix = "";
@@ -270,7 +271,7 @@ static int diff_tree_sha1_top(const unsigned char *old,
{
int ret;
- diff_setup(detect_rename, diff_score_opt, 0,
+ diff_setup(detect_rename, diff_score_opt, reverse_diff,
(generate_patch ? -1 : line_termination),
0, 0);
ret = diff_tree_sha1(old, new, base);
@@ -284,7 +285,7 @@ static int diff_root_tree(const unsigned char *new, const char *base)
void *tree;
unsigned long size;
- diff_setup(detect_rename, diff_score_opt, 0,
+ diff_setup(detect_rename, diff_score_opt, reverse_diff,
(generate_patch ? -1 : line_termination),
0, 0);
tree = read_object_with_reference(new, "tree", &size, 0);
@@ -429,7 +430,7 @@ static int diff_tree_stdin(char *line)
}
static char *diff_tree_usage =
-"git-diff-tree [-p] [-r] [-z] [--stdin] [-M] [-m] [-s] [-v] <tree-ish> <tree-ish>";
+"git-diff-tree [-p] [-r] [-z] [--stdin] [-M] [-R] [-m] [-s] [-v] <tree-ish> <tree-ish>";
int main(int argc, char **argv)
{
@@ -464,6 +465,10 @@ int main(int argc, char **argv)
recursive = 1;
continue;
}
+ if (!strcmp(arg, "-R")) {
+ reverse_diff = 1;
+ continue;
+ }
if (!strcmp(arg, "-p")) {
recursive = generate_patch = 1;
continue;