All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH/RFC v3] add a commit.verbose config variable
@ 2016-03-10 18:58 Pranit Bauva
  2016-03-10 19:46 ` Pranit Bauva
  2016-03-10 21:34 ` Junio C Hamano
  0 siblings, 2 replies; 6+ messages in thread
From: Pranit Bauva @ 2016-03-10 18:58 UTC (permalink / raw)
  To: git

Since many people always run the command with this option, it would be
preferrable to specify it in the configuration file instead of passing
the option with `git commit` again and again.

Signed-off-by: Pranit Bauva <pranit.bauva@gmail.com>
---
 Documentation/config.txt     | 4 ++++
 Documentation/git-commit.txt | 3 ++-
 builtin/commit.c             | 4 ++++
 3 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/Documentation/config.txt b/Documentation/config.txt
index 01cca0a..9b93f6c 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -1110,6 +1110,10 @@ commit.template::
 	"`~/`" is expanded to the value of `$HOME` and "`~user/`" to the
 	specified user's home directory.
 
+commit.verbose::
+	A boolean to specify whether to always include the verbose option
+	with `git commit`. See linkgit:git-commit[1].
+
 credential.helper::
 	Specify an external helper to be called when a username or
 	password credential is needed; the helper may consult external
diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt
index 9ec6b3c..3dcaac7 100644
--- a/Documentation/git-commit.txt
+++ b/Documentation/git-commit.txt
@@ -290,7 +290,8 @@ configuration variable documented in linkgit:git-config[1].
 	what changes the commit has.
 	Note that this diff output doesn't have its
 	lines prefixed with '#'. This diff will not be a part
-	of the commit message.
+	of the commit message. To activate this option permanently, the
+	configuration variable `commit.verbose` can be set to true.
 +
 If specified twice, show in addition the unified diff between
 what would be committed and the worktree files, i.e. the unstaged
diff --git a/builtin/commit.c b/builtin/commit.c
index b3bd2d4..63ee0f2 100644
--- a/builtin/commit.c
+++ b/builtin/commit.c
@@ -1310,6 +1310,10 @@ static int git_status_config(const char *k, const char *v, void *cb)
 			return error(_("Invalid untracked files mode '%s'"), v);
 		return 0;
 	}
+	if (!strcmp(k, "commit.verbose")) {
+		verbose = git_config_bool(k, v);
+		return 0;
+	}
 	return git_diff_ui_config(k, v, NULL);
 }
 

--
https://github.com/git/git/pull/205

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

* Re: [PATCH/RFC v3] add a commit.verbose config variable
  2016-03-10 18:58 [PATCH/RFC v3] add a commit.verbose config variable Pranit Bauva
@ 2016-03-10 19:46 ` Pranit Bauva
  2016-03-10 21:34 ` Junio C Hamano
  1 sibling, 0 replies; 6+ messages in thread
From: Pranit Bauva @ 2016-03-10 19:46 UTC (permalink / raw)
  To: git; +Cc: Stefan Beller, Matthieu Moy, Eric Sunshine

Older versions of this patch can be found at :-
[v2] : http://thread.gmane.org/gmane.comp.version-control.git/288569
[v1] : http://thread.gmane.org/gmane.comp.version-control.git/287540

The changes are :
 - Remove the concept of override-verbose
 - Add the git_config_bool to the method git_status_config instead of cmd_commit

I have to yet figure out how to write the tests for this. I will see
the examples that Matthieu Moy mentioned for their implementation.

Regards,
Pranit Bauva,
IIT Kharagpur

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

* Re: [PATCH/RFC v3] add a commit.verbose config variable
  2016-03-10 18:58 [PATCH/RFC v3] add a commit.verbose config variable Pranit Bauva
  2016-03-10 19:46 ` Pranit Bauva
@ 2016-03-10 21:34 ` Junio C Hamano
  2016-03-10 21:38   ` Pranit Bauva
  1 sibling, 1 reply; 6+ messages in thread
From: Junio C Hamano @ 2016-03-10 21:34 UTC (permalink / raw)
  To: Pranit Bauva; +Cc: git

Pranit Bauva <pranit.bauva@gmail.com> writes:

> diff --git a/builtin/commit.c b/builtin/commit.c
> index b3bd2d4..63ee0f2 100644
> --- a/builtin/commit.c
> +++ b/builtin/commit.c
> @@ -1310,6 +1310,10 @@ static int git_status_config(const char *k, const char *v, void *cb)
>  			return error(_("Invalid untracked files mode '%s'"), v);
>  		return 0;
>  	}
> +	if (!strcmp(k, "commit.verbose")) {
> +		verbose = git_config_bool(k, v);
> +		return 0;
> +	}
>  	return git_diff_ui_config(k, v, NULL);
>  }

Checking the code flow in cmd_commit(), we first do the config, and
then later call parse_options(), so it is clear that giving the
initial value of 0 or 1 depending on the boolean setting would be
all that is necessary to support "--no-verbose", which makes the
patch very compact.  Good.

But doesn't this belong to git_commit_config(), not
git_STATUS_config()?  Should "commit.verbose" make output from "git
status" verbose?

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

* Re: [PATCH/RFC v3] add a commit.verbose config variable
  2016-03-10 21:34 ` Junio C Hamano
@ 2016-03-10 21:38   ` Pranit Bauva
  2016-03-10 21:46     ` Junio C Hamano
  2016-03-10 21:49     ` Pranit Bauva
  0 siblings, 2 replies; 6+ messages in thread
From: Pranit Bauva @ 2016-03-10 21:38 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

On Fri, Mar 11, 2016 at 3:04 AM, Junio C Hamano <gitster@pobox.com>
wrote:
> But doesn't this belong to git_commit_config(), not
> git_STATUS_config()?  Should "commit.verbose" make output from "git
> status" verbose?

True. It should belong to git_commit_config(). My bad. But
surprisingly this code works. I have no idea why. I will update the
Patch and I have also finished writing test so I will include that
also.

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

* Re: [PATCH/RFC v3] add a commit.verbose config variable
  2016-03-10 21:38   ` Pranit Bauva
@ 2016-03-10 21:46     ` Junio C Hamano
  2016-03-10 21:49     ` Pranit Bauva
  1 sibling, 0 replies; 6+ messages in thread
From: Junio C Hamano @ 2016-03-10 21:46 UTC (permalink / raw)
  To: Pranit Bauva; +Cc: git

Pranit Bauva <pranit.bauva@gmail.com> writes:

> On Fri, Mar 11, 2016 at 3:04 AM, Junio C Hamano <gitster@pobox.com>
> wrote:
>> But doesn't this belong to git_commit_config(), not
>> git_STATUS_config()?  Should "commit.verbose" make output from "git
>> status" verbose?
>
> True. It should belong to git_commit_config(). My bad. But
> surprisingly this code works. I have no idea why. I will update the
> Patch and I have also finished writing test so I will include that
> also.

If that is surprising to you, that indicates that you only tested
"commit" and not "status", I think.  If you choose commit.verbose to
apply only to "commit", but not "status", then your test should
cover both commands, i.e. when the configuration is set to true, the
default verbosity level for "git commit" should be raised, and the
verbosity level for "git status" should not be--both must be
verified in your test script.

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

* Re: [PATCH/RFC v3] add a commit.verbose config variable
  2016-03-10 21:38   ` Pranit Bauva
  2016-03-10 21:46     ` Junio C Hamano
@ 2016-03-10 21:49     ` Pranit Bauva
  1 sibling, 0 replies; 6+ messages in thread
From: Pranit Bauva @ 2016-03-10 21:49 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

I figured it out, It first runs status_init_config(). I might have
thought "status" as status of the options and thus I may have edited
there.

On Fri, Mar 11, 2016 at 3:08 AM, Pranit Bauva <pranit.bauva@gmail.com> wrote:
> On Fri, Mar 11, 2016 at 3:04 AM, Junio C Hamano <gitster@pobox.com>
> wrote:
>> But doesn't this belong to git_commit_config(), not
>> git_STATUS_config()?  Should "commit.verbose" make output from "git
>> status" verbose?
>
> True. It should belong to git_commit_config(). My bad. But
> surprisingly this code works. I have no idea why. I will update the
> Patch and I have also finished writing test so I will include that
> also.

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

end of thread, other threads:[~2016-03-10 21:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-10 18:58 [PATCH/RFC v3] add a commit.verbose config variable Pranit Bauva
2016-03-10 19:46 ` Pranit Bauva
2016-03-10 21:34 ` Junio C Hamano
2016-03-10 21:38   ` Pranit Bauva
2016-03-10 21:46     ` Junio C Hamano
2016-03-10 21:49     ` Pranit Bauva

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.