Re: [PATCH 09/19] reset.c: replace switch by if-else

2013-01-11 Thread Junio C Hamano
Martin von Zweigbergk martinv...@gmail.com writes:

 Justification?

 Clairvoyance ...

;-)
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 09/19] reset.c: replace switch by if-else

2013-01-10 Thread Martin von Zweigbergk
On Wed, Jan 9, 2013 at 11:53 AM, Junio C Hamano gits...@pobox.com wrote:
 Martin von Zweigbergk martinv...@gmail.com 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?

Clairvoyance -- the HARD case will soon be the only non-empty case.
It's also missing KEEP and MERGE (but the empty SOFT block is there).

I'll update the message. I will also move the patch a little later in
the series, closer to where it will be useful.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 09/19] reset.c: replace switch by if-else

2013-01-09 Thread Martin von Zweigbergk
---
 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;
-   }
 
remove_branch_state();
 
-- 
1.8.1.rc3.331.g1ef2165

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 09/19] reset.c: replace switch by if-else

2013-01-09 Thread Junio C Hamano
Martin von Zweigbergk martinv...@gmail.com 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html