git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH RFC] new config option remote.<name>.pushexec

From
Uwe Kleine-König <zeisberg@informatik.uni-freiburg.de>
Date
Jan 17, 2007, 16:44 UTC
Message-ID
<20070117164410.GA5950@cepheus>
In-Reply-To
<Pine.LNX.4.63.0701162129430.22628@wbgn013.biozentrum.uni-wuerzburg.de>

git push --exec=... is fine, but having it to specify every time is annoying.

This sets the default remote program for pushing to remote <name>.
Signed-off-by: Uwe Kleine-König <zeisberg@informatik.uni-freiburg.de>
---
 Documentation/config.txt |    4 ++++
 builtin-push.c           |   11 +++++++++++
 2 files changed, 15 insertions(+), 0 deletions(-)

This patch fixes two of three shortcomings pointed out at initial sending. The compiler warning is gone (but I'm not 100% sure if it is fixed correctly or if only my compiler doesn't warn) and the commandline can overwrite the value now without a warning.

I tried to do the symmetric part for fetch, but that shell script is too complicated for me and so I let this part to s.o. being more familiar with git-fetch.sh.

Best regards Uwe

diff --git a/Documentation/config.txt b/Documentation/config.txt
index da7fde5..bd4f72a 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -356,6 +356,10 @@ remote.<name>.push::
 	The default set of "refspec" for gitlink:git-push[1]. See
 	gitlink:git-push[1].
 
+remote.<name>.pushexec::
+	The default program to execute on the remote side when pulling.  See
+	option \--exec of gitlink:git-push[1].
+
 repack.usedeltabaseoffset::
 	Allow gitlink:git-repack[1] to create packs that uses
 	delta-base offset.  Defaults to false.
diff --git a/builtin-push.c b/builtin-push.c
index 7a3d2bb..8ca5aee 100644
--- a/builtin-push.c
+++ b/builtin-push.c
@@ -143,6 +143,7 @@ static const char *config_repo;
 static int config_repo_len;
 static int config_current_uri;
 static int config_get_refspecs;
+static int config_get_pushexec;
 
 static int get_remote_config(const char* key, const char* value)
 {
@@ -157,6 +158,15 @@ static int get_remote_config(const char* key, const char* value)
 		else if (config_get_refspecs &&
 			 !strcmp(key + 7 + config_repo_len, ".push"))
 			add_refspec(xstrdup(value));
+		else if (config_get_pushexec &&
+			 !strcmp(key + 7 + config_repo_len, ".pushexec")) {
+			if (!execute) {
+				char *ex = xmalloc(strlen(value) + 8);
+				sprintf(ex, "--exec=%s", value);
+				execute = ex;
+			} else
+				error("more than one pushexec given, using the first");
+		}
 	}
 	return 0;
 }
@@ -168,6 +178,7 @@ static int get_config_remotes_uri(const char *repo, const char *uri[MAX_URI])
 	config_current_uri = 0;
 	config_uri = uri;
 	config_get_refspecs = !(refspec_nr || all || tags);
+	config_get_pushexec = (execute == NULL);
 
 	git_config(get_remote_config);
 	return config_current_uri;
-- 
1.5.0.rc1.g581a

-- 
Uwe Kleine-König

main(){char*a="main(){char*a=%c%s%c;printf(a,34,a,34%c";printf(a,34,a,34
,10);a=",10);a=%c%s%c;printf(a,34,a,34,10);}%c";printf(a,34,a,34,10);}
Previous: Johannes SchindelinNext: Junio C Hamano
Message 14 of 19 in “new config option remote.<name>.pushexec”
  1. new config option remote.<name>.pushexecUwe Kleine-König, Jan 16, 2007
  2. Johannes SchindelinJan 16, 2007
  3. Uwe Kleine-KönigJan 16, 2007
  4. How to merge FETCH_HEAD?Michael S. Tsirkin, Jan 16, 2007
  5. Shawn O. PearceJan 16, 2007
  6. Michael S. TsirkinJan 16, 2007
  7. Johannes SchindelinJan 16, 2007
  8. Michael S. TsirkinJan 17, 2007
  9. Junio C HamanoJan 17, 2007
  10. Michael S. TsirkinJan 17, 2007
  11. Junio C HamanoJan 16, 2007
  12. Shawn O. PearceJan 16, 2007
  13. Johannes SchindelinJan 16, 2007
  14. Uwe Kleine-KönigJan 17, 2007
  15. Junio C HamanoJan 17, 2007
  16. Uwe Kleine-KönigJan 18, 2007
  17. make --upload-pack option to git-fetch configurableUwe Kleine-König, Jan 25, 2007
  18. Uwe Kleine-KönigJan 25, 2007
  19. Brian GernhardtJan 16, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.