branch" respectively. With these options, diffs for
merged entries are not shown.
+
-The default is to diff against our branch (-2) if there
-is an unmerged path, and show diff for unmerged entries
-otherwise. The option -0 can be given to force diff for
-unmerged entries even when the index is unmerged.
+The default is to diff against our branch (-2) and the
+cleanly resolved paths. The option -0 can be given to
+omit diff output for unmerged entries and just show "Unmerged".
-q::
Remain silent even on nonexisting files
static struct diff_options diff_options;
static int silent = 0;
-static int diff_unmerged_stage = -1;
+static int diff_unmerged_stage = 2;
static void show_unmerge(const char *path)
{
pathspec = get_pathspec(prefix, argv + 1);
entries = read_cache();
- if (diff_unmerged_stage < 0) {
- /* default to "ours" if unmerged index, otherwise 0 */
- for (i = 0; i < entries; i++) {
- struct cache_entry *ce = active_cache[i];
- if (ce_stage(ce)) {
- diff_unmerged_stage = 2;
- break;
- }
- }
- if (diff_unmerged_stage < 0)
- diff_unmerged_stage = 0;
- }
-
-
if (diff_setup_done(&diff_options) < 0)
usage(diff_files_usage);
continue;
if (ce_stage(ce)) {
- if (!diff_unmerged_stage)
- show_unmerge(ce->name);
+ show_unmerge(ce->name);
while (i < entries) {
struct cache_entry *nce = active_cache[i];
if (ce_stage(ce) != diff_unmerged_stage)
continue;
}
- else if (diff_unmerged_stage)
- continue;
if (lstat(ce->name, &st) < 0) {
if (errno != ENOENT && errno != ENOTDIR) {