diff mbox series

[v2,03/13] push: split switch cases

Message ID 20210531195124.218325-4-felipe.contreras@gmail.com (mailing list archive)
State Accepted
Commit 04159fba42b61ffa954dfb1fa13df1862c210ad8
Headers show
Series push: revamp push.default | expand

Commit Message

Felipe Contreras May 31, 2021, 7:51 p.m. UTC
We want all the cases that don't do anything with a branch first, and
then the rest. That way we will be able to get the branch and die if
there's a problem in the parent function, instead of inside the function
of each mode.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 builtin/push.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)
diff mbox series

Patch

diff --git a/builtin/push.c b/builtin/push.c
index 0aa1d0f07d..f64b7100f0 100644
--- a/builtin/push.c
+++ b/builtin/push.c
@@ -254,11 +254,20 @@  static void setup_default_push_refspecs(struct remote *remote)
 	int same_remote = is_same_remote(remote);
 
 	switch (push_default) {
-	default:
 	case PUSH_DEFAULT_MATCHING:
 		refspec_append(&rs, ":");
 		return;
 
+	case PUSH_DEFAULT_NOTHING:
+		die(_("You didn't specify any refspecs to push, and "
+		    "push.default is \"nothing\"."));
+		return;
+	default:
+		break;
+	}
+
+	switch (push_default) {
+	default:
 	case PUSH_DEFAULT_UNSPECIFIED:
 	case PUSH_DEFAULT_SIMPLE:
 		setup_push_simple(remote, branch, same_remote);
@@ -271,11 +280,6 @@  static void setup_default_push_refspecs(struct remote *remote)
 	case PUSH_DEFAULT_CURRENT:
 		setup_push_current(remote, branch);
 		return;
-
-	case PUSH_DEFAULT_NOTHING:
-		die(_("You didn't specify any refspecs to push, and "
-		    "push.default is \"nothing\"."));
-		return;
 	}
 }