summaryrefslogtreecommitdiff
path: root/builtin-rerere.c
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2007-02-25 11:08:47 -0800
committerJunio C Hamano <junkio@cox.net>2007-02-25 11:08:47 -0800
commit2c7ca1fcf19d3803a225130491e26dca86d1781d (patch)
treea123f8cce38b69141bc011dad157c94d3781b779 /builtin-rerere.c
parent7bd59dee5b4b42f2ed233141e33713a7f012dd22 (diff)
parentd2dc6222d4e2f7fa5efc82175d14d60d7b804687 (diff)
downloadgit-2c7ca1fcf19d3803a225130491e26dca86d1781d.tar.gz
Merge branch 'maint'
* maint: Add Release Notes to prepare for 1.5.0.2 Allow arbitrary number of arguments to git-pack-objects rerere: do not deal with symlinks. rerere: do not skip two conflicted paths next to each other. Don't modify CREDITS-FILE if it hasn't changed.
Diffstat (limited to 'builtin-rerere.c')
-rw-r--r--builtin-rerere.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/builtin-rerere.c b/builtin-rerere.c
index dd1d4c1c1d..b8867ab4ad 100644
--- a/builtin-rerere.c
+++ b/builtin-rerere.c
@@ -154,13 +154,17 @@ static int find_conflict(struct path_list *conflict)
return error("Could not read index");
for (i = 0; i + 2 < active_nr; i++) {
struct cache_entry *e1 = active_cache[i];
- struct cache_entry *e2 = active_cache[i + 1];
- struct cache_entry *e3 = active_cache[i + 2];
- if (ce_stage(e1) == 1 && ce_stage(e2) == 2 &&
- ce_stage(e3) == 3 && ce_same_name(e1, e2) &&
- ce_same_name(e1, e3)) {
+ struct cache_entry *e2 = active_cache[i+1];
+ struct cache_entry *e3 = active_cache[i+2];
+ if (ce_stage(e1) == 1 &&
+ ce_stage(e2) == 2 &&
+ ce_stage(e3) == 3 &&
+ ce_same_name(e1, e2) && ce_same_name(e1, e3) &&
+ S_ISREG(ntohl(e1->ce_mode)) &&
+ S_ISREG(ntohl(e2->ce_mode)) &&
+ S_ISREG(ntohl(e3->ce_mode))) {
path_list_insert((const char *)e1->name, conflict);
- i += 3;
+ i += 2;
}
}
return 0;