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

[PATCH] make --exec=... option to git-push configurable

From
Uwe Kleine-König <zeisberg@informatik.uni-freiburg.de>
Date
Jan 19, 2007, 12:46 UTC
Message-ID
<20070119124616.GA3012@cepheus>
In-Reply-To
<20070119124300.GA2995@cepheus>

Having to specify git push --exec=... is annoying if you cannot have git-receivepack in your PATH on the remote side (or don't want to).

This introduces the config item remote.<name>.receivepack to override the default value (which is "git-receive-pack").

Signed-off-by: Uwe Kleine-König <zeisberg@informatik.uni-freiburg.de>
---
This is the already known patch with s/pushexec/receivepack/

Just now I realized that I missed to add a In-Reply-To: to the first mail. I hope you can match it anyhow.

 Documentation/config.txt |    4 ++++
 builtin-push.c           |   11 +++++++++++
 2 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index da7fde5..f1f409d 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>.receivepack::
+	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 ba7981f..6b3c03b 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_receivepack;
 
 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_receivepack &&
+			 !strcmp(key + 7 + config_repo_len, ".receivepack")) {
+			if (!execute) {
+				char *ex = xmalloc(strlen(value) + 8);
+				sprintf(ex, "--exec=%s", value);
+				execute = ex;
+			} else
+				error("more than one receivepack 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_receivepack = (execute == NULL);
 
 	git_config(get_remote_config);
 	return config_current_uri;
-- 
1.5.0.rc1.g581a


-- 
Uwe Kleine-König

http://www.google.com/search?q=e+%5E+%28i+pi%29
Previous: Uwe Kleine-KönigNext: Uwe Kleine-König
Message 2 of 9 in “Update documentation of fetch-pack, push and send-pack”
  1. Update documentation of fetch-pack, push and send-packUwe Kleine-König, Jan 19, 2007
  2. make --exec=... option to git-push configurableUwe Kleine-König, Jan 19, 2007
  3. rename --exec to --receive-pack for push and send-packUwe Kleine-König, Jan 19, 2007
  4. Junio C HamanoJan 19, 2007
  5. rename --exec to --upload-pack for fetch-pack and peek-remoteUwe Kleine-König, Jan 23, 2007
  6. Use --upload-pack in clone, fetch and ls-remote instead of --execUwe Kleine-König, Jan 23, 2007
  7. Junio C HamanoJan 23, 2007
  8. Junio C HamanoJan 23, 2007
  9. Uwe Kleine-KönigJan 23, 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.