git@vger.kernel.org mailing list mirror (one of many)
 help / Atom feed
From: "Thais D. Braz" <thais.dinizbraz@gmail.com>
To: marius.paliga@gmail.com
Cc: git@vger.kernel.org, sbeller@google.com, "Thais D. Braz" <thais.dinizbraz@gmail.com>
Subject: [PATCH][Outreachy] New git config variable to specify string that will be automatically  passed as --push-option
Date: Wed, 11 Oct 2017 17:25:05 -0300
Message-ID: <20171011202505.10113-2-thais.dinizbraz@gmail.com> (raw)
In-Reply-To: <20171011202505.10113-1-thais.dinizbraz@gmail.com>

---
 Documentation/git-push.txt | 3 +++
 builtin/push.c             | 9 ++++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/Documentation/git-push.txt b/Documentation/git-push.txt
index 3e76e99f3..e1036feaf 100644
--- a/Documentation/git-push.txt
+++ b/Documentation/git-push.txt
@@ -161,6 +161,9 @@ already exists on the remote side.
 	Transmit the given string to the server, which passes them to
 	the pre-receive as well as the post-receive hook. The given string
 	must not contain a NUL or LF character.
+	Can be configured using "git config push.optionDefault <option-string>".
+	After configured git push will always be executed silently
+	with --push-options <options configured>.
 
 --receive-pack=<git-receive-pack>::
 --exec=<git-receive-pack>::
diff --git a/builtin/push.c b/builtin/push.c
index 2ac810422..ae3efafce 100644
--- a/builtin/push.c
+++ b/builtin/push.c
@@ -467,11 +467,18 @@ static int git_push_config(const char *k, const char *v, void *cb)
 {
 	int *flags = cb;
 	int status;
+	struct string_list push_options = STRING_LIST_INIT_DUP;
 
 	status = git_gpg_config(k, v, NULL);
 	if (status)
 		return status;
 
+	const struct string_list *optionsDefault = git_config_get_value_multi("push.optionDefault");
+	for (int i = 0; i < optionsDefault->nr; i++) {
+		string_list_insert(&push_options, optionsDefault->items[i].string);
+	}
+
+
 	if (!strcmp(k, "push.followtags")) {
 		if (git_config_bool(k, v))
 			*flags |= TRANSPORT_PUSH_FOLLOW_TAGS;
@@ -515,7 +522,7 @@ int cmd_push(int argc, const char **argv, const char *prefix)
 	int push_cert = -1;
 	int rc;
 	const char *repo = NULL;	/* default repository */
-	struct string_list push_options = STRING_LIST_INIT_DUP;
+	static struct string_list push_options = STRING_LIST_INIT_DUP;
 	const struct string_list_item *item;
 
 	struct option options[] = {
-- 
2.15.0.rc0.39.g2f0e14e.dirty


  reply index

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-03 10:15 Enhancement request: git-push: Allow (configurable) default push-option Marius Paliga
2017-10-03 16:53 ` Stefan Beller
2017-10-04 15:20   ` Marius Paliga
2017-10-11  7:14     ` Marius Paliga
2017-10-11  9:18       ` Marius Paliga
2017-10-11 20:52         ` Stefan Beller
2017-10-11 11:13       ` Junio C Hamano
2017-10-11 13:38       ` Junio C Hamano
2017-10-12 14:59         ` Marius Paliga
2017-10-12 16:32           ` Marius Paliga
2017-10-12 16:51             ` Stefan Beller
2017-10-13  1:39               ` Junio C Hamano
2017-10-13  0:37           ` Junio C Hamano
2017-10-13  8:45             ` Marius Paliga
2017-10-11 20:25     ` Thais D. Braz
2017-10-11 20:25       ` Thais D. Braz [this message]
2017-10-12  1:21         ` [PATCH][Outreachy] New git config variable to specify string that will be automatically passed as --push-option Junio C Hamano
2017-10-12  2:41           ` Christian Couder
2017-10-12  3:26             ` Junio C Hamano
2017-10-17  3:47               ` [PATCH] patch reply Thais Diniz
2017-10-17  4:01                 ` Junio C Hamano
2017-10-17  7:15                   ` Marius Paliga
2017-10-17  3:58               ` [PATCH][Outreachy] New git config variable to specify string that will be automatically passed as --push-option thais braz
2017-10-11 20:40     ` Thais D. Braz

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171011202505.10113-2-thais.dinizbraz@gmail.com \
    --to=thais.dinizbraz@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=marius.paliga@gmail.com \
    --cc=sbeller@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

git@vger.kernel.org mailing list mirror (one of many)

Archives are clonable:
	git clone --mirror https://public-inbox.org/git
	git clone --mirror http://ou63pmih66umazou.onion/git
	git clone --mirror http://czquwvybam4bgbro.onion/git
	git clone --mirror http://hjrcffqmbrq6wope.onion/git

Newsgroups are available over NNTP:
	nntp://news.public-inbox.org/inbox.comp.version-control.git
	nntp://ou63pmih66umazou.onion/inbox.comp.version-control.git
	nntp://czquwvybam4bgbro.onion/inbox.comp.version-control.git
	nntp://hjrcffqmbrq6wope.onion/inbox.comp.version-control.git
	nntp://news.gmane.org/gmane.comp.version-control.git

 note: .onion URLs require Tor: https://www.torproject.org/
       or Tor2web: https://www.tor2web.org/

AGPL code for this site: git clone https://public-inbox.org/ public-inbox