run_diff_index() had special handling for 'diff-index -m', which
was lost in the conversion to use unpack_trees() instead of
diff_cache().
---
Also on top of the patches of Junio and Linus.
I am not too certain about this; I just tried to reproduce what the old
code did.
diff-lib.c | 24 +++++++++++++-----------
1 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/diff-lib.c b/diff-lib.c
index 7941486..27032a9 100644
--- a/diff-lib.c
+++ b/diff-lib.c
@@ -614,11 +614,19 @@ static int oneway_diff(struct cache_entry **src,
tree = NULL;
/*
+ * Backward compatibility wart - "diff-index -m" does
+ * not mean "do not ignore merges", but totally different.
+ * Therefore, the "match_missing" argument is set to
+ * "!revs->ignore_merges".
+ */
+
+ /*
* Something added to the tree?
*/
if (!tree) {
if (ce_path_match(idx, revs->prune_data))
- show_new_file(revs, idx, o->index_only, 0);
+ show_new_file(revs, idx, o->index_only,
+ !revs->ignore_merges);
return 1;
}
@@ -627,13 +635,15 @@ static int oneway_diff(struct cache_entry **src,
*/
if (!idx) {
if (ce_path_match(tree, revs->prune_data))
- diff_index_show_file(revs, "-", tree, tree->sha1, tree->ce_mode);
+ diff_index_show_file(revs, "-",
+ tree, tree->sha1, tree->ce_mode);
return 0;
}
/* Show difference between old and new */
if (ce_path_match(idx, revs->prune_data))
- show_modified(revs, tree, idx, 1, o->index_only, 0);
+ show_modified(revs, tree, idx, 1, o->index_only,
+ !revs->ignore_merges);
return 1;
}
@@ -644,14 +654,6 @@ int run_diff_index(struct rev_info *revs, int cached)
const char *tree_name;
struct unpack_trees_options opts;
struct tree_desc t;
- int match_missing = 0;
-
- /*
- * Backward compatibility wart - "diff-index -m" does
- * not mean "do not ignore merges", but totally different.
- */
- if (!revs->ignore_merges)
- match_missing = 1;
mark_merge_entries();
--
1.5.4.rc3.44.g6cd4
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| david | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Eric Paris | [RFC 0/5] [TALPA] Intro to a linux interface for on access scanning |
| Linus Torvalds | Linux 2.6.25-rc4 |
git: | |
| David Miller | [GIT]: Networking |
| Gerrit Renker | [PATCH 13/37] dccp: Deprecate Ack Ratio sysctl |
| Vladimir Ivashchenko | Re: HTB accuracy for high speed |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
