From: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
To: git@vger.kernel.org
Cc: "Shawn O. Pearce" <spearce@spearce.org>,
Junio C Hamano <gitster@pobox.com>,
Heiko Voigt <hvoigt@hvoigt.net>,
msysGit Mailinglist <msysgit@googlegroups.com>,
Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Subject: [PATCH 1/2] shell setup: clear_local_git_env() function
Date: Tue, 23 Feb 2010 00:31:57 +0100 [thread overview]
Message-ID: <1266881518-11213-1-git-send-email-giuseppe.bilotta@gmail.com> (raw)
In-Reply-To: <7vsk8s274t.fsf@alter.siamese.dyndns.org>
Introduce an auxiliary function to clear all repo-local environment
variables. This should be invoked by any shell script that switches
repository during execution, to ensure that the environment is clean
and that things such as the git dir and worktree are set up correctly.
Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
---
git-sh-setup.sh | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/git-sh-setup.sh b/git-sh-setup.sh
index 7a09566..d382879 100644
--- a/git-sh-setup.sh
+++ b/git-sh-setup.sh
@@ -172,6 +172,15 @@ get_author_ident_from_commit () {
LANG=C LC_ALL=C sed -ne "$pick_author_script"
}
+# Clear repo-local GIT_* environment variables. Useful when switching to
+# another repository (e.g. when entering a submodule)
+clear_local_git_env() {
+ unset GIT_DIR GIT_WORKTREE GIT_OBJECT_DIRECTORY \
+ GIT_INDEX_FILE GIT_GRAFT_FILE GIT_CONFIG \
+ GIT_NO_REPLACE_OBJECTS
+
+}
+
# Make sure we are in a valid repository of a vintage we understand,
# if we require to be in a git repository.
if test -z "$NONGIT_OK"
--
1.7.0.200.g5ba36.dirty
next prev parent reply other threads:[~2010-02-22 23:32 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20100218203726.GD12660@book.hvoigt.net>
2010-02-22 22:16 ` [PATCH] submodules: ensure clean environment when operating in a submodule Giuseppe Bilotta
2010-02-22 22:43 ` Junio C Hamano
2010-02-22 22:56 ` Giuseppe Bilotta
2010-02-22 23:16 ` Junio C Hamano
2010-02-22 23:31 ` Giuseppe Bilotta [this message]
2010-02-23 6:49 ` [PATCH 1/2] shell setup: clear_local_git_env() function Johannes Sixt
2010-02-23 7:55 ` Giuseppe Bilotta
2010-02-23 8:30 ` [PATCHv2 0/2] clear environment for submodules Giuseppe Bilotta
2010-02-23 8:30 ` [PATCHv2 1/2] shell setup: clear_local_git_env() function Giuseppe Bilotta
2010-02-23 20:25 ` Jens Lehmann
2010-02-23 8:30 ` [PATCHv2 2/2] submodules: ensure clean environment when operating in a submodule Giuseppe Bilotta
2010-02-22 23:31 ` [PATCH " Giuseppe Bilotta
2010-02-23 0:04 ` [msysGit] [PATCH] " Johannes Schindelin
2010-02-23 21:07 ` Heiko Voigt
2010-02-23 21:47 ` Johannes Schindelin
Reply instructions:
You may reply publicly 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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1266881518-11213-1-git-send-email-giuseppe.bilotta@gmail.com \
--to=giuseppe.bilotta@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=hvoigt@hvoigt.net \
--cc=msysgit@googlegroups.com \
--cc=spearce@spearce.org \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).