All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
To: git@vger.kernel.org
Subject: [PATCH 02/10] Make sure setup_git_directory is called before accessing repository
Date: Sun, 2 Mar 2008 17:33:33 +0700	[thread overview]
Message-ID: <20080302103333.GA8915@laptop> (raw)
In-Reply-To: <cover.1204453703.git.pclouds@gmail.com>

Right now setup_git_env is called automatically when needed and
will not die out if $GIT_DIR is invalid. The next patch no longer
guarantee that, so make sure all commands have environment properly
setup before using.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 fast-import.c |    1 +
 hash-object.c |   10 +++++-----
 index-pack.c  |    2 ++
 3 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/fast-import.c b/fast-import.c
index 0d3449f..7f197d5 100644
--- a/fast-import.c
+++ b/fast-import.c
@@ -2377,6 +2377,7 @@ int main(int argc, const char **argv)
 {
 	unsigned int i, show_stats = 1;
 
+	setup_git_directory();
 	git_config(git_pack_config);
 	if (!pack_compression_seen && core_compression_seen)
 		pack_compression_level = core_compression_level;
diff --git a/hash-object.c b/hash-object.c
index 61e7160..46d57ad 100644
--- a/hash-object.c
+++ b/hash-object.c
@@ -42,7 +42,10 @@ int main(int argc, char **argv)
 	int prefix_length = -1;
 	int no_more_flags = 0;
 	int hashstdin = 0;
+	int nongit = 0;
 
+	prefix = setup_git_directory_gently(&nongit);
+	prefix_length = prefix ? strlen(prefix) : 0;
 	git_config(git_default_config);
 
 	for (i = 1 ; i < argc; i++) {
@@ -53,11 +56,8 @@ int main(int argc, char **argv)
 				type = argv[i];
 			}
 			else if (!strcmp(argv[i], "-w")) {
-				if (prefix_length < 0) {
-					prefix = setup_git_directory();
-					prefix_length =
-						prefix ? strlen(prefix) : 0;
-				}
+				if (nongit)
+					die("Not a git repository");
 				write_object = 1;
 			}
 			else if (!strcmp(argv[i], "--")) {
diff --git a/index-pack.c b/index-pack.c
index 9c0c278..1dbe88d 100644
--- a/index-pack.c
+++ b/index-pack.c
@@ -785,7 +785,9 @@ int main(int argc, char **argv)
 	char *index_name_buf = NULL, *keep_name_buf = NULL;
 	struct pack_idx_entry **idx_objects;
 	unsigned char sha1[20];
+	int nongit = 0;
 
+	setup_git_directory_gently(&nongit);
 	git_config(git_index_pack_config);
 
 	for (i = 1; i < argc; i++) {
-- 
1.5.4.2.281.g28d0e

  parent reply	other threads:[~2008-03-02 10:34 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <cover.1204453703.git.pclouds@gmail.com>
2008-03-02 10:33 ` [PATCH 01/10] "git read-tree -m" and the like require worktree Nguyễn Thái Ngọc Duy
2008-03-11 13:02   ` Johannes Schindelin
2008-03-11 14:57     ` Nguyen Thai Ngoc Duy
2008-03-11 15:06       ` Johannes Schindelin
2008-03-11 15:41         ` Nguyen Thai Ngoc Duy
2008-03-02 10:33 ` Nguyễn Thái Ngọc Duy [this message]
2008-03-02 10:33 ` [PATCH 03/10] Make get_git_dir() and 'git rev-parse --git-dir' absolute path Nguyễn Thái Ngọc Duy
2008-03-11 13:20   ` Johannes Schindelin
2008-03-11 15:06     ` Nguyen Thai Ngoc Duy
2008-03-11 15:18       ` Johannes Schindelin
2008-03-11 15:39         ` Nguyen Thai Ngoc Duy
2008-03-11 16:20           ` Johannes Schindelin
2008-03-02 10:34 ` [PATCH 04/10] Make setup_work_tree() return new prefix Nguyễn Thái Ngọc Duy
2008-03-11 13:27   ` Johannes Schindelin
2008-03-11 15:18     ` Nguyen Thai Ngoc Duy
2008-03-02 10:34 ` [PATCH 05/10] http-push: Avoid calling setup_git_directory() twice Nguyễn Thái Ngọc Duy
2008-03-11 13:28   ` Johannes Schindelin
2008-03-11 14:54     ` Nguyen Thai Ngoc Duy
2008-03-11 15:08       ` Johannes Schindelin
2008-03-11 16:12         ` Nguyen Thai Ngoc Duy
2008-03-02 10:34 ` [PATCH 06/10] Completely move out worktree setup from setup_git_directory_gently() Nguyễn Thái Ngọc Duy
2008-03-11 13:31   ` Johannes Schindelin
2008-03-11 15:28     ` Nguyen Thai Ngoc Duy
2008-03-11 16:21       ` Johannes Schindelin
2008-03-02 10:34 ` [PATCH 07/10] builtin-archive: mark unused prefix "unused_prefix" Nguyễn Thái Ngọc Duy
2008-03-11 13:33   ` Johannes Schindelin
2008-03-11 14:50     ` Nguyen Thai Ngoc Duy
2008-03-11 15:38       ` Jay Soffian
2008-03-11 16:21         ` Nguyen Thai Ngoc Duy
2008-03-02 10:35 ` [PATCH 08/10] Make setup_git_directory() auto-setup worktree if found Nguyễn Thái Ngọc Duy
2008-03-02 10:35 ` [PATCH 09/10] Documentation: update api-builtin and api-setup Nguyễn Thái Ngọc Duy
2008-03-02 10:35 ` [PATCH 10/10] Additional tests to capture worktree special cases Nguyễn Thái Ngọc Duy

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=20080302103333.GA8915@laptop \
    --to=pclouds@gmail.com \
    --cc=git@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.