All of lore.kernel.org
 help / color / mirror / Atom feed
From: "SZEDER Gábor" <szeder@ira.uka.de>
To: Nguyen Thai Ngoc Duy <pclouds@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>,
	Git Mailing List <git@vger.kernel.org>
Subject: Re: [PATCH] shortlog: initialize nongit variable
Date: Tue, 25 Mar 2008 17:03:56 +0100	[thread overview]
Message-ID: <20080325160356.GC6506@neumann> (raw)
In-Reply-To: <fcaeb9bf0803250839p721e1870l8fbc8715b3c6e7cb@mail.gmail.com>

On Tue, Mar 25, 2008 at 10:39:38PM +0700, Nguyen Thai Ngoc Duy wrote:
> On Tue, Mar 25, 2008 at 9:46 PM, SZEDER Gábor <szeder@ira.uka.de> wrote:
> > setup_git_directory_gently() only modifies the value of the nongit
> >  variable if we are not in a git repository, therefore nongit is left
> >  uninitialized if we are in a git repository.  This sometimes broke
> >  shortlog when it was not fed with a log on its standard input.
> 
> cmd_help() has the same problem. Can you make a similar patch for
> cmd_help as well?
Yes, I saw that, too, but:

While it's true that cmd_help()'s nongit variable will not be
initialized if we are in a git repository, cmd_help() never touches
nongit after calling setup_git_directory_gently(), so there is no
problem after all.

However, it might be better to let setup_git_directory_gently() set
*nongit_ok to 0 if we are in a git repository.  Patch appended.


Regards,
Gábor



Always set *nongit_ok in setup_git_directory_gently()

setup_git_directory_gently() only modified the value of its *nongit_ok
argument if we were not in a git repository.  Now it will always set it
to 0 when we are inside a repository.

Also remove now unnecessary initializations in the callers of this
function.

Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
---
 builtin-bundle.c     |    2 +-
 builtin-config.c     |    2 +-
 builtin-diff-files.c |    2 +-
 builtin-ls-remote.c  |    2 +-
 git.c                |    2 +-
 setup.c              |    8 ++++++++
 6 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/builtin-bundle.c b/builtin-bundle.c
index 9f38e21..ac476e7 100644
--- a/builtin-bundle.c
+++ b/builtin-bundle.c
@@ -14,7 +14,7 @@ static const char *bundle_usage="git-bundle (create <bundle> <git-rev-list args>
 int cmd_bundle(int argc, const char **argv, const char *prefix)
 {
 	struct bundle_header header;
-	int nongit = 0;
+	int nongit;
 	const char *cmd, *bundle_file;
 	int bundle_fd = -1;
 	char buffer[PATH_MAX];
diff --git a/builtin-config.c b/builtin-config.c
index 2b9a426..c34bc8b 100644
--- a/builtin-config.c
+++ b/builtin-config.c
@@ -264,7 +264,7 @@ static int get_colorbool(int argc, const char **argv)
 
 int cmd_config(int argc, const char **argv, const char *prefix)
 {
-	int nongit = 0;
+	int nongit;
 	char* value;
 	const char *file = setup_git_directory_gently(&nongit);
 
diff --git a/builtin-diff-files.c b/builtin-diff-files.c
index 4abe3c2..e2306c1 100644
--- a/builtin-diff-files.c
+++ b/builtin-diff-files.c
@@ -16,7 +16,7 @@ COMMON_DIFF_OPTIONS_HELP;
 int cmd_diff_files(int argc, const char **argv, const char *prefix)
 {
 	struct rev_info rev;
-	int nongit = 0;
+	int nongit;
 	int result;
 
 	prefix = setup_git_directory_gently(&nongit);
diff --git a/builtin-ls-remote.c b/builtin-ls-remote.c
index 8907a89..06ab8da 100644
--- a/builtin-ls-remote.c
+++ b/builtin-ls-remote.c
@@ -31,7 +31,7 @@ int cmd_ls_remote(int argc, const char **argv, const char *prefix)
 {
 	int i;
 	const char *dest = NULL;
-	int nongit = 0;
+	int nongit;
 	unsigned flags = 0;
 	const char *uploadpack = NULL;
 	const char **pattern = NULL;
diff --git a/git.c b/git.c
index 13de801..70458af 100644
--- a/git.c
+++ b/git.c
@@ -142,7 +142,7 @@ static int split_cmdline(char *cmdline, const char ***argv)
 
 static int handle_alias(int *argcp, const char ***argv)
 {
-	int nongit = 0, envchanged = 0, ret = 0, saved_errno = errno;
+	int nongit, envchanged = 0, ret = 0, saved_errno = errno;
 	const char *subdir;
 	int count, option_count;
 	const char** new_argv;
diff --git a/setup.c b/setup.c
index 41e298b..3d2d958 100644
--- a/setup.c
+++ b/setup.c
@@ -326,6 +326,14 @@ const char *setup_git_directory_gently(int *nongit_ok)
 	int len, offset;
 
 	/*
+	 * Let's assume that we are in a git repository.
+	 * If it turns out later that we are somewhere else, the value will be
+	 * updated accordingly.
+	 */
+	if (nongit_ok)
+		*nongit_ok = 0;
+
+	/*
 	 * If GIT_DIR is set explicitly, we're not going
 	 * to do any discovery, but we still do repository
 	 * validation.
-- 
1.5.5.rc1

  reply	other threads:[~2008-03-25 16:04 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-25 14:46 [PATCH] shortlog: initialize nongit variable SZEDER Gábor
2008-03-25 15:39 ` Nguyen Thai Ngoc Duy
2008-03-25 16:03   ` SZEDER Gábor [this message]
2008-03-25 19:58     ` Jonas Fonseca
2008-03-25 21:06       ` SZEDER Gábor

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=20080325160356.GC6506@neumann \
    --to=szeder@ira.uka.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=pclouds@gmail.com \
    /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.