Martin von Zweigbergk <martinvonz@xxxxxxxxx> writes: > --- > builtin/reset.c | 13 +++---------- > 1 file changed, 3 insertions(+), 10 deletions(-) > > diff --git a/builtin/reset.c b/builtin/reset.c > index 42d1563..05ccfd4 100644 > --- a/builtin/reset.c > +++ b/builtin/reset.c > @@ -351,18 +351,11 @@ int cmd_reset(int argc, const char **argv, const char *prefix) > * saving the previous head in ORIG_HEAD before. */ > update_ref_status = update_refs(rev, sha1); > > - switch (reset_type) { > - case HARD: > - if (!update_ref_status && !quiet) > - print_new_head_line(commit); > - break; > - case SOFT: /* Nothing else to do. */ > - break; > - case MIXED: /* Report what has not been updated. */ > + if (reset_type == HARD && !update_ref_status && !quiet) > + print_new_head_line(commit); > + else if (reset_type == MIXED) /* Report what has not been updated. */ > update_index_refresh(0, NULL, > quiet ? REFRESH_QUIET : REFRESH_IN_PORCELAIN); > - break; > - } Justification? It might be shorter, but I somehow find the original _much_ easier to follow, and to possibly extend. The case arms delineate the major modes of operation, and when somebody is interested in what happens in "reset --hard", the case labels allow eyes to immediately spot and skip uninteresting case arms. On the other hand, the updated one forces you to read the if/else cascade through. -- 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