Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
diff-files -c/--cc: combine only when both ours and theirs exist.
author
Junio C Hamano
<junkio@cox.net>
Sat, 28 Jan 2006 10:09:08 +0000
(
02:09
-0800)
committer
Junio C Hamano
<junkio@cox.net>
Sat, 28 Jan 2006 10:26:18 +0000
(
02:26
-0800)
The previous round forgot to make sure there actually are two
versions to compare against the working tree version. Otherwise
using -c/--cc would not make much sense.
Also plug a small memory leak.
Signed-off-by: Junio C Hamano <junkio@cox.net>
diff-files.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
addafaf
)
diff --git
a/diff-files.c
b/diff-files.c
index 4a30c56f8471c4a816e989dfb63ea66db93c8b3f..4cafd3ea20080c408ffba1584202e8feb6d53764 100644
(file)
--- a/
diff-files.c
+++ b/
diff-files.c
@@
-121,6
+121,7
@@
int main(int argc, const char **argv)
struct combine_diff_path p;
unsigned char fill[4][20];
} combine;
struct combine_diff_path p;
unsigned char fill[4][20];
} combine;
+ int num_compare_stages = 0;
combine.p.next = NULL;
combine.p.len = ce_namelen(ce);
combine.p.next = NULL;
combine.p.len = ce_namelen(ce);
@@
-140,9
+141,11
@@
int main(int argc, const char **argv)
* stage #3 (theirs) is the second.
*/
stage = ce_stage(nce);
* stage #3 (theirs) is the second.
*/
stage = ce_stage(nce);
- if (2 <= stage)
+ if (2 <= stage) {
+ num_compare_stages++;
memcpy(combine.p.parent_sha1[stage-2],
nce->sha1, 20);
memcpy(combine.p.parent_sha1[stage-2],
nce->sha1, 20);
+ }
/* diff against the proper unmerged stage */
if (stage == diff_unmerged_stage)
/* diff against the proper unmerged stage */
if (stage == diff_unmerged_stage)
@@
-154,12
+157,14
@@
int main(int argc, const char **argv)
*/
i--;
*/
i--;
- if (combine_merges) {
+ if (combine_merges
&& num_compare_stages == 2
) {
show_combined_diff(&combine.p, 2,
dense_combined_merges,
NULL, 0);
show_combined_diff(&combine.p, 2,
dense_combined_merges,
NULL, 0);
+ free(combine.p.path);
continue;
}
continue;
}
+ free(combine.p.path);
/*
* Show the diff for the 'ce' if we found the one
/*
* Show the diff for the 'ce' if we found the one