Re: [PATCH v3 2/2] commit: add --ignore-submodules[=when] parameter

2014-04-14 Thread Junio C Hamano
Ronald Weiss weiss.ron...@gmail.com writes:

 On 8. 4. 2014 20:43, Jens Lehmann wrote:
 Useful when values for commit are 'all' (default) or 'none'. The others
 ('dirty' and 'untracked') have same effect as 'none', as commit is only
 interested in whether the submodule's HEAD differs from what is commited
 in the superproject.

 Unless it outputs a status message, then 'dirty' and 'untracked' do
 influence what is shown there. Apart from that (and maybe tests for
 these two cases ;-) this is looking good to me.

 OK, I updated the patch for commit to take that into account. Also, I
 rebased both patches onto current master. Sending them in a moment.

 If you don't have any more complaints, can I add Acked-by: you and
 resend the patches to Junio?

It is not When I see no more complaints, I'll resend with your
Ack.  An Ack is a positive thing, not lack of discovery of further
issues.

Rather, it is more like I'll wait for your Acks and then I'll
resend with your Ack, or If they look good, reply with Ack and let
the maintainer pick them up.

Thanks.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 2/2] commit: add --ignore-submodules[=when] parameter

2014-04-14 Thread Ronald Weiss
On 14. 4. 2014 20:30, Junio C Hamano wrote:
 Ronald Weiss weiss.ron...@gmail.com writes:
 
 On 8. 4. 2014 20:43, Jens Lehmann wrote:
 Useful when values for commit are 'all' (default) or 'none'. The others
 ('dirty' and 'untracked') have same effect as 'none', as commit is only
 interested in whether the submodule's HEAD differs from what is commited
 in the superproject.

 Unless it outputs a status message, then 'dirty' and 'untracked' do
 influence what is shown there. Apart from that (and maybe tests for
 these two cases ;-) this is looking good to me.

 OK, I updated the patch for commit to take that into account. Also, I
 rebased both patches onto current master. Sending them in a moment.

 If you don't have any more complaints, can I add Acked-by: you and
 resend the patches to Junio?
 
 It is not When I see no more complaints, I'll resend with your
 Ack.  An Ack is a positive thing, not lack of discovery of further
 issues.

I'm really sorry if the tone of my message sounded harsh to you, it
wasn't meant like that at all.

 Rather, it is more like I'll wait for your Acks and then I'll
 resend with your Ack, or If they look good, reply with Ack and let
 the maintainer pick them up.

OK.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 2/2] commit: add --ignore-submodules[=when] parameter

2014-04-14 Thread Junio C Hamano
Ronald Weiss weiss.ron...@gmail.com writes:

 On 14. 4. 2014 20:30, Junio C Hamano wrote:
 Ronald Weiss weiss.ron...@gmail.com writes:
 
 On 8. 4. 2014 20:43, Jens Lehmann wrote:
 Useful when values for commit are 'all' (default) or 'none'. The others
 ('dirty' and 'untracked') have same effect as 'none', as commit is only
 interested in whether the submodule's HEAD differs from what is commited
 in the superproject.

 Unless it outputs a status message, then 'dirty' and 'untracked' do
 influence what is shown there. Apart from that (and maybe tests for
 these two cases ;-) this is looking good to me.

 OK, I updated the patch for commit to take that into account. Also, I
 rebased both patches onto current master. Sending them in a moment.

 If you don't have any more complaints, can I add Acked-by: you and
 resend the patches to Junio?
 
 It is not When I see no more complaints, I'll resend with your
 Ack.  An Ack is a positive thing, not lack of discovery of further
 issues.

 I'm really sorry if the tone of my message sounded harsh to you, it
 wasn't meant like that at all.

No, that wasn't harsh at all.  I just did not want to get a patch
with Acked-by with somebody's name on it, when there is not yet an
Ack, as that will confuse me greatly.  My mental bandwidth is not
wide enough to keep track of all the in-flight topics I haven't yet
picked up.

I should be the one to say sorry if my message sounded harsh.

Thanks.

 Rather, it is more like I'll wait for your Acks and then I'll
 resend with your Ack, or If they look good, reply with Ack and let
 the maintainer pick them up.

 OK.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 2/2] commit: add --ignore-submodules[=when] parameter

2014-04-12 Thread Ronald Weiss

On 8. 4. 2014 20:43, Jens Lehmann wrote:

Useful when values for commit are 'all' (default) or 'none'. The others
('dirty' and 'untracked') have same effect as 'none', as commit is only
interested in whether the submodule's HEAD differs from what is commited
in the superproject.


Unless it outputs a status message, then 'dirty' and 'untracked' do
influence what is shown there. Apart from that (and maybe tests for
these two cases ;-) this is looking good to me.


OK, I updated the patch for commit to take that into account. Also, I
rebased both patches onto current master. Sending them in a moment.

If you don't have any more complaints, can I add Acked-by: you and
resend the patches to Junio?
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3 2/2] commit: add --ignore-submodules[=when] parameter

2014-04-08 Thread Jens Lehmann
Am 08.04.2014 01:03, schrieb Ronald Weiss:
 Git commit honors the 'ignore' setting from .gitmodules or .git/config,
 but didn't allow to override it from command line, like other commands do.
 
 Useful when values for commit are 'all' (default) or 'none'. The others
 ('dirty' and 'untracked') have same effect as 'none', as commit is only
 interested in whether the submodule's HEAD differs from what is commited
 in the superproject.

Unless it outputs a status message, then 'dirty' and 'untracked' do
influence what is shown there. Apart from that (and maybe tests for
these two cases ;-) this is looking good to me.

 This patch depends on Jens Lehmann's patch commit -m: commit staged
 submodules regardless of ignore config. Without it,
 commit -m --ignore-submodules would not work and tests introduced
 here would fail.
 
 Signed-off-by: Ronald Weiss weiss.ron...@gmail.com
 ---
  Documentation/git-commit.txt|  6 ++
  builtin/commit.c|  8 ++-
  t/t7513-commit-ignore-submodules.sh | 42 
 +
  3 files changed, 55 insertions(+), 1 deletion(-)
  create mode 100644 t/t7513-commit-ignore-submodules.sh
 
 diff --git a/Documentation/git-commit.txt b/Documentation/git-commit.txt
 index 1a7616c..8d3b2db 100644
 --- a/Documentation/git-commit.txt
 +++ b/Documentation/git-commit.txt
 @@ -13,6 +13,7 @@ SYNOPSIS
  [-F file | -m msg] [--reset-author] [--allow-empty]
  [--allow-empty-message] [--no-verify] [-e] [--author=author]
  [--date=date] [--cleanup=mode] [--[no-]status]
 +[--ignore-submodules[=when]]
  [-i | -o] [-S[keyid]] [--] [file...]
  
  DESCRIPTION
 @@ -271,6 +272,11 @@ The possible options are:
  The default can be changed using the status.showUntrackedFiles
  configuration variable documented in linkgit:git-config[1].
  
 +--ignore-submodules[=when]::
 + Can be used to override any settings of the 'submodule.*.ignore'
 + option in linkgit:git-config[1] or linkgit:gitmodules[5].
 + when can be either none or all, which is the default.
 +
  -v::
  --verbose::
   Show unified diff between the HEAD commit and what
 diff --git a/builtin/commit.c b/builtin/commit.c
 index 0db215b..121c185 100644
 --- a/builtin/commit.c
 +++ b/builtin/commit.c
 @@ -360,7 +360,7 @@ static char *prepare_index(int argc, const char **argv, 
 const char *prefix,
*/
   if (all || (also  pathspec.nr)) {
   fd = hold_locked_index(index_lock, 1);
 - add_files_to_cache(also ? prefix : NULL, pathspec, 0, NULL);
 + add_files_to_cache(also ? prefix : NULL, pathspec, 0, 
 ignore_submodule_arg);
   refresh_cache_or_die(refresh_flags);
   update_main_cache_tree(WRITE_TREE_SILENT);
   if (write_cache(fd, active_cache, active_nr) ||
 @@ -1492,6 +1492,9 @@ int cmd_commit(int argc, const char **argv, const char 
 *prefix)
   OPT_BOOL(0, amend, amend, N_(amend previous commit)),
   OPT_BOOL(0, no-post-rewrite, no_post_rewrite, N_(bypass 
 post-rewrite hook)),
   { OPTION_STRING, 'u', untracked-files, untracked_files_arg, 
 N_(mode), N_(show untracked files, optional modes: all, normal, no. 
 (Default: all)), PARSE_OPT_OPTARG, NULL, (intptr_t)all },
 + { OPTION_STRING, 0, ignore-submodules, ignore_submodule_arg, 
 N_(when),
 +   N_(ignore changes to submodules, optional when: all, none. 
 (Default: all)),
 +   PARSE_OPT_OPTARG, NULL, (intptr_t)all },
   /* end commit contents options */
  
   OPT_HIDDEN_BOOL(0, allow-empty, allow_empty,
 @@ -1531,6 +1534,9 @@ int cmd_commit(int argc, const char **argv, const char 
 *prefix)
   argc = parse_and_validate_options(argc, argv, builtin_commit_options,
 builtin_commit_usage,
 prefix, current_head, s);
 +
 + s.ignore_submodule_arg = ignore_submodule_arg;
 +
   if (dry_run)
   return dry_run_commit(argc, argv, prefix, current_head, s);
   index_file = prepare_index(argc, argv, prefix, current_head, 0);
 diff --git a/t/t7513-commit-ignore-submodules.sh 
 b/t/t7513-commit-ignore-submodules.sh
 new file mode 100644
 index 000..83ce04c
 --- /dev/null
 +++ b/t/t7513-commit-ignore-submodules.sh
 @@ -0,0 +1,42 @@
 +#!/bin/sh
 +#
 +# Copyright (c) 2014 Ronald Weiss
 +#
 +
 +test_description='Test of git commit --ignore-submodules'
 +
 +. ./test-lib.sh
 +
 +test_expect_success 'create submodule' '
 + test_create_repo sm  (
 + cd sm 
 + foo 
 + git add foo 
 + git commit -m Add foo
 + ) 
 + git submodule add ./sm 
 + git commit -m Add sm
 +'
 +
 +update_sm () {
 + (cd sm 
 + echo bar  foo 
 + git add foo 
 + git commit -m Updated foo
 + )
 +}
 +
 +test_expect_success 'commit -a --ignore-submodules=all 

Re: [PATCH v3 2/2] commit: add --ignore-submodules[=when] parameter

2014-04-08 Thread Ronald Weiss
On 8. 4. 2014 20:43, Jens Lehmann wrote:
 Am 08.04.2014 01:03, schrieb Ronald Weiss:
 Git commit honors the 'ignore' setting from .gitmodules or .git/config,
 but didn't allow to override it from command line, like other commands do.

 Useful when values for commit are 'all' (default) or 'none'. The others
 ('dirty' and 'untracked') have same effect as 'none', as commit is only
 interested in whether the submodule's HEAD differs from what is commited
 in the superproject.
 
 Unless it outputs a status message, then 'dirty' and 'untracked' do
 influence what is shown there. Apart from that (and maybe tests for
 these two cases ;-) this is looking good to me.

Hm, You mean the status message, which is pre-inserted as comment into
the commit message, when opening an editor to write the commit message?

OK, that really makes a difference, although really small and actually
affecting nothing. I'll take it into account. But are You sure the tests
for this would be actually useful? If only effect of them would be
increasing time needed to run the full test suite, then it's better to
not have them :-). But I can do that, if You still think it's useful.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html