The --for-status option was an undocumented option used only by
wt-status.c, which inserted a header and commented out the output. We can
achieve the same result within wt-status.c, without polluting the
submodule command-line options.
This will make it easier to disable the comments from wt-status.c later.
Cool, thanks for implementing this!
But unfortunately this change collides with bc/submodule-status-ignored
(I added Brian to the CC) which is currently on its way to next.
Thanks for pointing that out. The patch looks buggy:
--- a/git-submodule.sh+++ b/git-submodule.sh
@@ -1036,6 +1036,13 @@ cmd_summary() {do# Always show modules deleted or type-changed (blob<->module)test$status=D-o$status=T&&echo"$sm_path"&&continue+# Respect the ignore setting for --for-status.+iftest-n$for_status+then+name=$(module_name"$sm_path")+ignore_config=$(get_submodule_config"$name"ignorenone)+test$status!=A-a$ignore_config=all&&continue+fi
Because of the missing quotes around $for_status, it seems the test is
unconditionnaly true:
$ test -n t ; echo $?
0
$ test -n ; echo $?
0
This makes me wonder why the ignore configuration should be considered
only with --for-status. Why not turn that into
--- a/git-submodule.sh+++ b/git-submodule.sh
@@ -1036,6 +1036,13 @@ cmd_summary() {do# Always show modules deleted or type-changed (blob<->module)test$status=D-o$status=T&&echo"$sm_path"&&continue+# Respect the ignore setting+name=$(module_name"$sm_path")+ignore_config=$(get_submodule_config"$name"ignorenone)+test$status!=A-a$ignore_config=all&&continue
The --for-status option was an undocumented option used only by
wt-status.c, which inserted a header and commented out the output. We can
achieve the same result within wt-status.c, without polluting the
submodule command-line options.
This will make it easier to disable the comments from wt-status.c later.
Cool, thanks for implementing this!
But unfortunately this change collides with bc/submodule-status-ignored
(I added Brian to the CC) which is currently on its way to next.
Thanks for pointing that out. The patch looks buggy:
Ok, I'll tak
quoted hunk
--- a/git-submodule.sh+++ b/git-submodule.sh
@@ -1036,6 +1036,13 @@ cmd_summary() {do# Always show modules deleted or type-changed (blob<->module)test$status=D-o$status=T&&echo"$sm_path"&&continue+# Respect the ignore setting for --for-status.+iftest-n$for_status+then+name=$(module_name"$sm_path")+ignore_config=$(get_submodule_config"$name"ignorenone)+test$status!=A-a$ignore_config=all&&continue+fi
Because of the missing quotes around $for_status, it seems the test is
unconditionnaly true:
$ test -n t ; echo $?
0
$ test -n ; echo $?
0
This makes me wonder why the ignore configuration should be considered
only with --for-status. Why not turn that into
--- a/git-submodule.sh+++ b/git-submodule.sh
@@ -1036,6 +1036,13 @@ cmd_summary() {do# Always show modules deleted or type-changed (blob<->module)test$status=D-o$status=T&&echo"$sm_path"&&continue+# Respect the ignore setting+name=$(module_name"$sm_path")+ignore_config=$(get_submodule_config"$name"ignorenone)+test$status!=A-a$ignore_config=all&&continue
The --for-status option was an undocumented option used only by
wt-status.c, which inserted a header and commented out the output. We can
achieve the same result within wt-status.c, without polluting the
submodule command-line options.
This will make it easier to disable the comments from wt-status.c later.
Cool, thanks for implementing this!
But unfortunately this change collides with bc/submodule-status-ignored
(I added Brian to the CC) which is currently on its way to next.
Thanks for pointing that out. The patch looks buggy:
Ok, I'll tak
Sorry, I accidentally hit "Send" ... :-(
Ok, I'll take a look and will comment on that soon.
quoted
--- a/git-submodule.sh+++ b/git-submodule.sh
@@ -1036,6 +1036,13 @@ cmd_summary() {do# Always show modules deleted or type-changed (blob<->module)test$status=D-o$status=T&&echo"$sm_path"&&continue+# Respect the ignore setting for --for-status.+iftest-n$for_status+then+name=$(module_name"$sm_path")+ignore_config=$(get_submodule_config"$name"ignorenone)+test$status!=A-a$ignore_config=all&&continue+fi
Because of the missing quotes around $for_status, it seems the test is
unconditionnaly true:
$ test -n t ; echo $?
0
$ test -n ; echo $?
0
This makes me wonder why the ignore configuration should be considered
only with --for-status. Why not turn that into
Please don't. That changes the default behavior of submodule summary,
which never ignores any submodules. The ignore logic was added to core
git after commands like diff and status learned to check submodules for
modifications too. That was bad for people who used submodules to store
many and/or huge files in a way that wouldn't slow down diff or status,
as it slowed them down again. The ignore option allowed them to continue
using submodules for that purpose. They still need to have the submodule
script ignore the ignore settings, because running them is the point in
time they want to take the extra effort to look into those submodules
they normally ignore. And that's why the submodule totally lacks any
option to control the ignore behavior, which we would also have to add
if we would follow your proposal.
So I think it's either changing the default behavior of --for-status or
adding another option (--for-status-wo-comment or such) which will honor
the ignore setting only when called from status.
quoted
--- a/git-submodule.sh+++ b/git-submodule.sh
@@ -1036,6 +1036,13 @@ cmd_summary() {do# Always show modules deleted or type-changed (blob<->module)test$status=D-o$status=T&&echo"$sm_path"&&continue+# Respect the ignore setting+name=$(module_name"$sm_path")+ignore_config=$(get_submodule_config"$name"ignorenone)+test$status!=A-a$ignore_config=all&&continue
The --for-status option was an undocumented option used only by
wt-status.c, which inserted a header and commented out the output. We can
achieve the same result within wt-status.c, without polluting the
submodule command-line options.
This will make it easier to disable the comments from wt-status.c later.
Cool, thanks for implementing this!
But unfortunately this change collides with bc/submodule-status-ignored
(I added Brian to the CC) which is currently on its way to next.
Thanks for pointing that out. The patch looks buggy:
Ok, I'll tak
Sorry, I accidentally hit "Send" ... :-(
Ok, I'll take a look and will comment on that soon.
quoted
quoted
--- a/git-submodule.sh+++ b/git-submodule.sh
@@ -1036,6 +1036,13 @@ cmd_summary() {do# Always show modules deleted or type-changed (blob<->module)test$status=D-o$status=T&&echo"$sm_path"&&continue+# Respect the ignore setting for --for-status.+iftest-n$for_status+then+name=$(module_name"$sm_path")+ignore_config=$(get_submodule_config"$name"ignorenone)+test$status!=A-a$ignore_config=all&&continue+fi
Because of the missing quotes around $for_status, it seems the test is
unconditionnaly true:
$ test -n t ; echo $?
0
$ test -n ; echo $?
0
Right you are, I did not notice the missing "" in my review. Looks like
we also should add one or more tests making sure that submodule summary
and status never honor the ignore settings.
From: brian m. carlson <hidden> Date: 2016-06-15 22:58:35
On Fri, Aug 30, 2013 at 10:08:53PM +0200, Jens Lehmann wrote:
Am 30.08.2013 21:51, schrieb Jens Lehmann:
quoted
Am 30.08.2013 21:40, schrieb Jens Lehmann:
quoted
Am 29.08.2013 23:23, schrieb Matthieu Moy:
quoted
Jens Lehmann [off-list ref] writes:
quoted
Am 29.08.2013 15:05, schrieb Matthieu Moy:
Because of the missing quotes around $for_status, it seems the test is
unconditionnaly true:
$ test -n t ; echo $?
0
$ test -n ; echo $?
0
Right you are, I did not notice the missing "" in my review. Looks like
we also should add one or more tests making sure that submodule summary
and status never honor the ignore settings.
How do we want to handle this? I can send a reroll and include some
new tests, but if this code is going away, then there's no point.
--
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187
On Fri, Aug 30, 2013 at 10:08:53PM +0200, Jens Lehmann wrote:
quoted
Am 30.08.2013 21:51, schrieb Jens Lehmann:
quoted
Am 30.08.2013 21:40, schrieb Jens Lehmann:
quoted
Am 29.08.2013 23:23, schrieb Matthieu Moy:
quoted
Jens Lehmann [off-list ref] writes:
quoted
Am 29.08.2013 15:05, schrieb Matthieu Moy:
Because of the missing quotes around $for_status, it seems the test is
unconditionnaly true:
$ test -n t ; echo $?
0
$ test -n ; echo $?
0
Right you are, I did not notice the missing "" in my review. Looks like
we also should add one or more tests making sure that submodule summary
and status never honor the ignore settings.
How do we want to handle this? I can send a reroll and include some
new tests, but if this code is going away, then there's no point.
A reroll would be great, as I think your patch is a bugfix that should
go in rather soonish no matter how we continue with the comment signs.
Two new tests (one for submodule summary and one for submodule status)
with both the global ignore setting and a submodule specific one set
to "all" showing no impact on the output would suffice (and trigger the
then also fixed missing "" bug ;-).