git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] allow commands to be executed in submodules
@ 2007-05-20 15:39 Martin Waitz
  2007-05-20 18:14 ` Alex Riesen
  0 siblings, 1 reply; 20+ messages in thread
From: Martin Waitz @ 2007-05-20 15:39 UTC (permalink / raw)
  To: git

Add an extra "submodule" field to struct child_process to be able to
easily start commands which are to be executed in a submodule
repository.

Signed-off-by: Martin Waitz <tali@admingilde.org>
---

 run-command.c     |   13 ++++++
 run-command.h     |    1 +
 2 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/run-command.c b/run-command.c
index eff523e..c2475e4 100644
--- a/run-command.c
+++ b/run-command.c
@@ -73,6 +73,19 @@ int start_command(struct child_process *cmd)
 			close(cmd->out);
 		}
 
+		if (cmd->submodule) {
+			int err = chdir(cmd->submodule);
+			if (err) {
+				die("cannot exec %s in %s.",
+					cmd->argv[0], cmd->submodule);
+			}
+			/* don't inherit supermodule environment */
+			unsetenv(GIT_DIR_ENVIRONMENT);
+			unsetenv(DB_ENVIRONMENT);
+			unsetenv(INDEX_ENVIRONMENT);
+			unsetenv(GRAFT_ENVIRONMENT);
+		}
+
 		if (cmd->git_cmd) {
 			execv_git_cmd(cmd->argv);
 		} else {
diff --git a/run-command.h b/run-command.h
index 3680ef9..2940186 100644
--- a/run-command.h
+++ b/run-command.h
@@ -16,6 +16,7 @@ struct child_process {
 	pid_t pid;
 	int in;
 	int out;
+	const char *submodule;
 	unsigned close_in:1;
 	unsigned close_out:1;
 	unsigned no_stdin:1;
-- 
1.5.2.2.g081e


-- 
Martin Waitz

^ permalink raw reply related	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2007-05-23 20:21 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-20 15:39 [PATCH] allow commands to be executed in submodules Martin Waitz
2007-05-20 18:14 ` Alex Riesen
2007-05-20 18:25   ` Junio C Hamano
2007-05-20 20:48     ` Martin Waitz
2007-05-20 20:59       ` Alex Riesen
2007-05-20 21:08         ` Martin Waitz
     [not found]   ` <20070521090339.GH942MdfPADPa@greensroom.kotnet.org>
2007-05-21 22:48     ` [PATCH] Add ability to specify environment extension to run_command Alex Riesen
2007-05-21 23:02       ` Junio C Hamano
2007-05-22  6:03         ` Martin Waitz
2007-05-22  6:33           ` Junio C Hamano
2007-05-22  6:38             ` Shawn O. Pearce
2007-05-22  6:54               ` Sven Verdoolaege
2007-05-22 21:51             ` Alex Riesen
2007-05-22 21:47         ` Alex Riesen
2007-05-22 21:48           ` [PATCH] Add run_command_v_opt_cd: chdir into a directory before exec Alex Riesen
2007-05-22 21:48             ` [PATCH] Add ability to specify environment extension to run_command Alex Riesen
2007-05-22 21:49               ` [PATCH] Allow environment variables to be unset in the processes started by run_command Alex Riesen
2007-05-22 22:19           ` [PATCH] Add ability to specify environment extension to run_command Junio C Hamano
2007-05-22 23:14             ` Alex Riesen
2007-05-23 20:21               ` [PATCH] Allow environment variables to be unset in the processes started by run_command Alex Riesen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).