* [PATCH 1/2] status: introduce status.short to enable --short by default
@ 2013-06-08 9:28 Jorge Juan Garcia Garcia
2013-06-08 9:28 ` [PATCH 2/2] status: introduce status.branch to enable --branch " Jorge Juan Garcia Garcia
2013-06-08 15:25 ` [PATCH 1/2] status: introduce status.short to enable --short " Ramkumar Ramachandra
0 siblings, 2 replies; 7+ messages in thread
From: Jorge Juan Garcia Garcia @ 2013-06-08 9:28 UTC (permalink / raw)
To: git; +Cc: gitster, Jorge Juan Garcia Garcia, Mathieu Lienard--Mayor,
Matthieu Moy
Some people always run 'git status -s'.
The configuration variable status.short allows to set it by default.
Signed-off-by: Jorge Juan Garcia Garcia <Jorge-Juan.Garcia-Garcia@ensimag.imag.fr>
Signed-off-by: Mathieu Lienard--Mayor <Mathieu.Lienard--Mayor@ensimag.imag.fr>
Signed-off-by: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
---
Documentation/config.txt | 3 +++
builtin/commit.c | 9 +++++++++
config.c | 1 +
t/t7508-status.sh | 34 ++++++++++++++++++++++++++++++++++
4 files changed, 47 insertions(+), 0 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 6e53fc5..80cdf75 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -2066,6 +2066,9 @@ status.relativePaths::
relative to the repository root (this was the default for Git
prior to v1.5.4).
+status.short::
+ Set to true to enable --short by default in linkgit:git-status[1].
+
status.showUntrackedFiles::
By default, linkgit:git-status[1] and linkgit:git-commit[1] show
files which are not currently tracked by Git. Directories which
diff --git a/builtin/commit.c b/builtin/commit.c
index 1621dfc..0f3429f 100644
--- a/builtin/commit.c
+++ b/builtin/commit.c
@@ -1112,6 +1112,15 @@ static int git_status_config(const char *k, const char *v, void *cb)
s->submodule_summary = -1;
return 0;
}
+ if (!strcmp(k, "status.short")) {
+ if (!v)
+ return config_error_nonbool(k);
+ if (git_config_bool(k,v)) {
+ status_format = STATUS_FORMAT_SHORT;
+ wt_shortstatus_print(s);
+ }
+ return 0;
+ }
if (!strcmp(k, "status.color") || !strcmp(k, "color.status")) {
s->use_color = git_config_colorbool(k, v);
return 0;
diff --git a/config.c b/config.c
index 7a85ebd..85ddbf2 100644
--- a/config.c
+++ b/config.c
@@ -9,6 +9,7 @@
#include "exec_cmd.h"
#include "strbuf.h"
#include "quote.h"
+#include "commit.h"
typedef struct config_file {
struct config_file *prev;
diff --git a/t/t7508-status.sh b/t/t7508-status.sh
index e2ffdac..4cb2b62 100755
--- a/t/t7508-status.sh
+++ b/t/t7508-status.sh
@@ -1334,5 +1334,39 @@ test_expect_failure '.git/config ignore=all suppresses submodule summary' '
git config --remove-section submodule.subname &&
git config -f .gitmodules --remove-section submodule.subname
'
+test_expect_success 'setup for testing status.short' '
+ >status1 &&
+ >status2
+'
+
+test_expect_success '"status.short=true" same as "-s"' '
+ git -c status.short=true status >status2 &&
+ git status -s >status1 &&
+ test_cmp status1 status2
+'
+
+test_expect_success '"status.short=true" different from "--no-short"' '
+ git -c status.short=true status >status2 &&
+ git status --no-short >status1 &&
+ test_must_fail test_cmp status1 status2
+'
+
+test_expect_success '"status.short=true" weaker than "--no-short"' '
+ git -c status.short=true status --no-short >status2 &&
+ git status --no-short >status1 &&
+ test_cmp status1 status2
+'
+
+test_expect_success '"status.short=false" same as "--no-short"' '
+ git -c status.short=false status >status2 &&
+ git status --no-short >status1 &&
+ test_cmp status1 status2
+'
+
+test_expect_success '"status.short=false" weaker than "-s"' '
+ git -c status.short=false status -s >status2 &&
+ git status -s >status1 &&
+ test_cmp status1 status2
+'
test_done
--
1.7.8
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] status: introduce status.branch to enable --branch by default
2013-06-08 9:28 [PATCH 1/2] status: introduce status.short to enable --short by default Jorge Juan Garcia Garcia
@ 2013-06-08 9:28 ` Jorge Juan Garcia Garcia
2013-06-08 15:25 ` [PATCH 1/2] status: introduce status.short to enable --short " Ramkumar Ramachandra
1 sibling, 0 replies; 7+ messages in thread
From: Jorge Juan Garcia Garcia @ 2013-06-08 9:28 UTC (permalink / raw)
To: git; +Cc: gitster, Jorge Juan Garcia Garcia, Mathieu Lienard--Mayor,
Matthieu Moy
Some people often run 'git status -b'.
The config variable status.branch allows to set it by default.
Signed-off-by: Jorge Juan Garcia Garcia <Jorge-Juan.Garcia-Garcia@ensimag.imag.fr>
Signed-off-by: Mathieu Lienard--Mayor <Mathieu.Lienard--Mayor@ensimag.imag.fr>
Signed-off-by: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
---
Documentation/config.txt | 3 +++
builtin/commit.c | 6 ++++++
t/t7508-status.sh | 30 ++++++++++++++++++++++++++++++
3 files changed, 39 insertions(+), 0 deletions(-)
diff --git a/Documentation/config.txt b/Documentation/config.txt
index 80cdf75..21ba9c2 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -2069,6 +2069,9 @@ status.relativePaths::
status.short::
Set to true to enable --short by default in linkgit:git-status[1].
+status.branch::
+ Set to true to enable --branch by default in linkgit:git-status[1].
+
status.showUntrackedFiles::
By default, linkgit:git-status[1] and linkgit:git-commit[1] show
files which are not currently tracked by Git. Directories which
diff --git a/builtin/commit.c b/builtin/commit.c
index 0f3429f..d447857 100644
--- a/builtin/commit.c
+++ b/builtin/commit.c
@@ -1121,6 +1121,12 @@ static int git_status_config(const char *k, const char *v, void *cb)
}
return 0;
}
+ if (!strcmp(k, "status.branch")) {
+ if (!v)
+ return config_error_nonbool(k);
+ s->show_branch = git_config_bool(k,v);
+ return 0;
+ }
if (!strcmp(k, "status.color") || !strcmp(k, "color.status")) {
s->use_color = git_config_colorbool(k, v);
return 0;
diff --git a/t/t7508-status.sh b/t/t7508-status.sh
index 4cb2b62..34cf30f 100755
--- a/t/t7508-status.sh
+++ b/t/t7508-status.sh
@@ -1369,4 +1369,34 @@ test_expect_success '"status.short=false" weaker than "-s"' '
test_cmp status1 status2
'
+test_expect_success '"status.branch=true" same as "-b"' '
+ git -c status.branch=true status -s >status2 &&
+ git status -sb >status1 &&
+ test_cmp status1 status2
+'
+
+test_expect_success '"status.branch=true" different from "--no-branch"' '
+ git -c status.branch=true status -s >status2 &&
+ git status -s --no-branch >status1 &&
+ test_must_fail test_cmp status1 status2
+'
+
+test_expect_success '"status.branch=true" weaker than "--no-branch"' '
+ git -c status.branch=true status -s --no-branch >status2 &&
+ git status -s --no-branch >status1 &&
+ test_cmp status1 status2
+'
+
+test_expect_success '"status.branch=false" same as "--no-branch"' '
+ git -c status.branch=false status -s >status2 &&
+ git status -s --no-branch >status1 &&
+ test_cmp status1 status2
+'
+
+test_expect_success '"status.branch=false" weaker than "-b"' '
+ git -c status.branch=false status -sb >status2 &&
+ git status -sb >status1 &&
+ test_cmp status1 status2
+'
+
test_done
--
1.7.8
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] status: introduce status.short to enable --short by default
2013-06-08 9:28 [PATCH 1/2] status: introduce status.short to enable --short by default Jorge Juan Garcia Garcia
2013-06-08 9:28 ` [PATCH 2/2] status: introduce status.branch to enable --branch " Jorge Juan Garcia Garcia
@ 2013-06-08 15:25 ` Ramkumar Ramachandra
2013-06-09 18:54 ` Junio C Hamano
2013-06-10 8:01 ` garciagj
1 sibling, 2 replies; 7+ messages in thread
From: Ramkumar Ramachandra @ 2013-06-08 15:25 UTC (permalink / raw)
To: Jorge Juan Garcia Garcia
Cc: git, gitster, Mathieu Lienard--Mayor, Matthieu Moy
Jorge Juan Garcia Garcia wrote:
> Some people always run 'git status -s'.
> The configuration variable status.short allows to set it by default.
Good feature.
> @@ -1112,6 +1112,15 @@ static int git_status_config(const char *k, const char *v, void *cb)
> s->submodule_summary = -1;
> return 0;
> }
> + if (!strcmp(k, "status.short")) {
> + if (!v)
> + return config_error_nonbool(k);
> + if (git_config_bool(k,v)) {
> + status_format = STATUS_FORMAT_SHORT;
> + wt_shortstatus_print(s);
> + }
> + return 0;
> + }
Incorrect. This is the wrong place to use config_error_nonbool():
this is very much a bool, and a "[status] short" in ~/.gitconfig
should not error out (all boolean variables behave in the same
manner). When in doubt, consult config_error_nonbool(); there's
clearly a comment stating:
/*
* Call this to report error for your variable that should not
* get a boolean value (i.e. "[my] var" means "true").
*/
Also, why are you calling wt_shortstatus_print() here, instead of
returning control to cmd_status(), which is going to do it anyway?
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] status: introduce status.short to enable --short by default
2013-06-08 15:25 ` [PATCH 1/2] status: introduce status.short to enable --short " Ramkumar Ramachandra
@ 2013-06-09 18:54 ` Junio C Hamano
2013-06-09 19:26 ` Matthieu Moy
2013-06-10 8:01 ` garciagj
1 sibling, 1 reply; 7+ messages in thread
From: Junio C Hamano @ 2013-06-09 18:54 UTC (permalink / raw)
To: Ramkumar Ramachandra
Cc: Jorge Juan Garcia Garcia, git, Mathieu Lienard--Mayor,
Matthieu Moy
Ramkumar Ramachandra <artagnon@gmail.com> writes:
> Jorge Juan Garcia Garcia wrote:
>> Some people always run 'git status -s'.
>> The configuration variable status.short allows to set it by default.
>
> Good feature.
Is there a corresponding command line override added to help people
who need to defeat such a configured-in default? Otherwise it is
not a good feature yet, but just only the beginning half.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] status: introduce status.short to enable --short by default
2013-06-09 18:54 ` Junio C Hamano
@ 2013-06-09 19:26 ` Matthieu Moy
2013-06-10 8:02 ` garciagj
0 siblings, 1 reply; 7+ messages in thread
From: Matthieu Moy @ 2013-06-09 19:26 UTC (permalink / raw)
To: Junio C Hamano
Cc: Ramkumar Ramachandra, Jorge Juan Garcia Garcia, git,
Mathieu Lienard--Mayor
Junio C Hamano <gitster@pobox.com> writes:
> Ramkumar Ramachandra <artagnon@gmail.com> writes:
>
>> Jorge Juan Garcia Garcia wrote:
>>> Some people always run 'git status -s'.
>>> The configuration variable status.short allows to set it by default.
>>
>> Good feature.
>
> Is there a corresponding command line override added to help people
> who need to defeat such a configured-in default?
Yes: "git status --no-short".
Perhaps the doc for status.short should explicitely mention that
--no-short takes precedence over it.
--
Matthieu Moy
http://www-verimag.imag.fr/~moy/
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] status: introduce status.short to enable --short by default
2013-06-08 15:25 ` [PATCH 1/2] status: introduce status.short to enable --short " Ramkumar Ramachandra
2013-06-09 18:54 ` Junio C Hamano
@ 2013-06-10 8:01 ` garciagj
1 sibling, 0 replies; 7+ messages in thread
From: garciagj @ 2013-06-10 8:01 UTC (permalink / raw)
To: Ramkumar Ramachandra
Cc: Jorge Juan Garcia Garcia, git, gitster, Mathieu Lienard--Mayor,
Matthieu Moy
El 2013-06-08 17:25, Ramkumar Ramachandra escribió:
> Jorge Juan Garcia Garcia wrote:
>> Some people always run 'git status -s'.
>> The configuration variable status.short allows to set it by default.
>
> Good feature.
>
>> @@ -1112,6 +1112,15 @@ static int git_status_config(const char *k,
>> const char *v, void *cb)
>> s->submodule_summary = -1;
>> return 0;
>> }
>> + if (!strcmp(k, "status.short")) {
>> + if (!v)
>> + return config_error_nonbool(k);
>> + if (git_config_bool(k,v)) {
>> + status_format = STATUS_FORMAT_SHORT;
>> + wt_shortstatus_print(s);
>> + }
>> + return 0;
>> + }
>
> Incorrect. This is the wrong place to use config_error_nonbool():
> this is very much a bool, and a "[status] short" in ~/.gitconfig
> should not error out (all boolean variables behave in the same
> manner). When in doubt, consult config_error_nonbool(); there's
> clearly a comment stating:
Ok. We will change it.
>
> /*
> * Call this to report error for your variable that should not
> * get a boolean value (i.e. "[my] var" means "true").
> */
>
> Also, why are you calling wt_shortstatus_print() here, instead of
> returning control to cmd_status(), which is going to do it anyway?
Yes, it's obviously a mistake.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] status: introduce status.short to enable --short by default
2013-06-09 19:26 ` Matthieu Moy
@ 2013-06-10 8:02 ` garciagj
0 siblings, 0 replies; 7+ messages in thread
From: garciagj @ 2013-06-10 8:02 UTC (permalink / raw)
To: Matthieu Moy
Cc: Junio C Hamano, Ramkumar Ramachandra, Jorge Juan Garcia Garcia,
git, Mathieu Lienard--Mayor
El 2013-06-09 21:26, Matthieu Moy escribió:
> Junio C Hamano <gitster@pobox.com> writes:
>
>> Ramkumar Ramachandra <artagnon@gmail.com> writes:
>>
>>> Jorge Juan Garcia Garcia wrote:
>>>> Some people always run 'git status -s'.
>>>> The configuration variable status.short allows to set it by
>>>> default.
>>>
>>> Good feature.
>>
>> Is there a corresponding command line override added to help people
>> who need to defeat such a configured-in default?
>
> Yes: "git status --no-short".
>
> Perhaps the doc for status.short should explicitely mention that
> --no-short takes precedence over it.
Yes, I will include that in the Documentation.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2013-06-10 8:02 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-08 9:28 [PATCH 1/2] status: introduce status.short to enable --short by default Jorge Juan Garcia Garcia
2013-06-08 9:28 ` [PATCH 2/2] status: introduce status.branch to enable --branch " Jorge Juan Garcia Garcia
2013-06-08 15:25 ` [PATCH 1/2] status: introduce status.short to enable --short " Ramkumar Ramachandra
2013-06-09 18:54 ` Junio C Hamano
2013-06-09 19:26 ` Matthieu Moy
2013-06-10 8:02 ` garciagj
2013-06-10 8:01 ` garciagj
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).