Hi, On Mon, 17 Aug 2009, Alexandre Julliard wrote: > diff --git a/builtin-read-tree.c b/builtin-read-tree.c > index 9c2d634..14c836b 100644 > --- a/builtin-read-tree.c > +++ b/builtin-read-tree.c > @@ -113,13 +113,15 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix) > argc = parse_options(argc, argv, unused_prefix, read_tree_options, > read_tree_usage, 0); > > - if (read_cache_unmerged() && (opts.prefix || opts.merge)) > - die("You need to resolve your current index first"); > - > prefix_set = opts.prefix ? 1 : 0; > if (1 < opts.merge + opts.reset + prefix_set) > die("Which one? -m, --reset, or --prefix?"); > - stage = opts.merge = (opts.reset || opts.merge || prefix_set); > + > + if (opts.reset || opts.merge || opts.prefix) { > + if (read_cache_unmerged() && (opts.prefix || opts.merge)) > + die("You need to resolve your current index first"); > + stage = opts.merge = 1; > + } Actually, this should be enough: -- snipsnap -- diff --git a/builtin-read-tree.c b/builtin-read-tree.c index 9c2d634..d649c56 100644 --- a/builtin-read-tree.c +++ b/builtin-read-tree.c @@ -113,14 +113,14 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix) argc = parse_options(argc, argv, unused_prefix, read_tree_options, read_tree_usage, 0); - if (read_cache_unmerged() && (opts.prefix || opts.merge)) - die("You need to resolve your current index first"); - prefix_set = opts.prefix ? 1 : 0; if (1 < opts.merge + opts.reset + prefix_set) die("Which one? -m, --reset, or --prefix?"); stage = opts.merge = (opts.reset || opts.merge || prefix_set); + if (opts.merge && (read_cache_unmerged() && !prefix_set && !opts.reset)) + die("You need to resolve your current index first"); + for (i = 0; i < argc; i++) { const char *arg = argv[i]; -- 1.6.4.313.g3d9e3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html