Thread (15 messages) 15 messages, 3 authors, 2016-06-15

[PATCH 2/3] cmd_push: pass "flags" pointer to config callback

flat view
STALE3770d

From: Jeff King <hidden>
Date: 2016-06-15 23:03:49
Subsystem: the rest · Maintainer: Linus Torvalds

This will let us manipulate any transport flags which have matching
config options (there are none yet, but we will add one in
the next patch).

We could also just make "flags" a static file-scope global,
but the result is a little confusing. We end up passing it
along through do_push and push_with_options, each of which
further munge it. Having slightly-differing versions of the
flags variable available to those functions would probably
cause more confusion than it is worth. Let's just keep the
original local to cmd_push, and it can continue to pass it
through the call-stack.

Signed-off-by: Jeff King <redacted>
---
I was also tempted to just remove the passing of "flags" through the
call stack entirely, and just have everybody touch a global
transport_flags. That is a much bigger change, and less obviously
correct (after a callee munges their local version, do we ever care
about seeing the original in the caller?). I don't think so.

To be honest, the whole do_push is confusing to me. It seems like that
should just be part of cmd_push.

 builtin/push.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/builtin/push.c b/builtin/push.c
index f558c2e..c25108f 100644
--- a/builtin/push.c
+++ b/builtin/push.c
@@ -555,7 +555,7 @@ int cmd_push(int argc, const char **argv, const char *prefix)
 	};
 
 	packet_trace_identity("push");
-	git_config(git_push_config, NULL);
+	git_config(git_push_config, &flags);
 	argc = parse_options(argc, argv, prefix, options, push_usage, 0);
 
 	if (deleterefs && (tags || (flags & (TRANSPORT_PUSH_ALL | TRANSPORT_PUSH_MIRROR))))
-- 
2.3.0.rc1.287.g761fd19
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help