threads / discuss / 41388

Interim "What's cooking"

Subject: Interim "What's cooking"

## tl;dr

5 messages between Feb 10, 2016 and Feb 14, 2016.

replies: 4people: 2as markdown or json

Junio C Hamano· Feb 10, 2016, 23:43 UTC · lore

In today/tonight's pushout, the 'master' branch will have these topics merged.

Thanks for contributing ;-)
[Graduated to "master"]
* aw/push-force-with-lease-reporting (2016-02-01) 1 commit
  (merged to 'next' on 2016-02-03 at facd28f)
 + push: fix ref status reporting for --force-with-lease
 "git push --force-with-lease" has been taught to report if the push
 needed to force (or fast-forwarded).
* cc/untracked (2016-01-27) 11 commits
  (merged to 'next' on 2016-02-01 at 8203631)
 + t7063: add tests for core.untrackedCache
 + test-dump-untracked-cache: don't modify the untracked cache
 + config: add core.untrackedCache
 + dir: simplify untracked cache "ident" field
 + dir: add remove_untracked_cache()
 + dir: add {new,add}_untracked_cache()
 + update-index: move 'uc' var declaration
 + update-index: add untracked cache notifications
 + update-index: add --test-untracked-cache
 + update-index: use enum for untracked cache options
 + dir: free untracked cache when removing it
 Update the untracked cache subsystem and change its primary UI from
 "git update-index" to "git config".
* ew/connect-verbose (2016-01-28) 1 commit
  (merged to 'next' on 2016-02-03 at ceac37e)
 + pass transport verbosity down to git_connect
 There were a few "now I am doing this thing" progress messages in
 the TCP connection code that can be triggered by setting a verbose
 option internally in the code, but "git fetch -v" and friends never
 passed the verbose option down to that codepath.
 There was a brief discussion about the impact on the end-user
 experience by not limiting this to "fetch -v -v", but I think the
 conclusion is that this is OK to enable with a single "-v" as it is
 not too noisy.
* jk/options-cleanup (2016-02-01) 6 commits
  (merged to 'next' on 2016-02-03 at a78d89d)
 + apply, ls-files: simplify "-z" parsing
 + checkout-index: disallow "--no-stage" option
 + checkout-index: handle "--no-index" option
 + checkout-index: handle "--no-prefix" option
 + checkout-index: simplify "-z" option parsing
 + give "nbuf" strbuf a more meaningful name
 Various clean-ups to the command line option parsing.
* js/test-lib-windows-emulated-yes (2016-02-02) 1 commit
  (merged to 'next' on 2016-02-03 at bf6b42c)
 + test-lib: limit the output of the yes utility
 The emulated "yes" command used in our test scripts has been
 tweaked not to spend too much time generating unnecessary output
 that is not used, to help those who test on Windows where it would
 not stop until it fills the pipe buffer due to lack of SIGPIPE.
* js/xmerge-marker-eol (2016-01-27) 2 commits
  (merged to 'next' on 2016-02-01 at 05d91a4)
 + merge-file: ensure that conflict sections match eol style
 + merge-file: let conflict markers match end-of-line style of the context
 The low-level merge machinery has been taught to use CRLF line
 termination when inserting conflict markers to merged contents that
 are themselves CRLF line-terminated.
* ls/clean-smudge-override-in-config (2016-01-29) 1 commit
  (merged to 'next' on 2016-02-03 at 5962354)
 + convert: treat an empty string for clean/smudge filters as "cat"
 Clean/smudge filters defined in a configuration file of lower
 precedence can now be overridden to be a pass-through no-op by
 setting the variable to an empty string.
* nd/do-not-move-worktree-manually (2016-01-22) 2 commits
  (merged to 'next' on 2016-01-26 at c539221)
 + worktree: stop supporting moving worktrees manually
 + worktree.c: fix indentation
 "git worktree" had a broken code that attempted to auto-fix
 possible inconsistency that results from end-users moving a
 worktree to different places without telling Git (the original
 repository needs to maintain backpointers to its worktrees, but
 "mv" run by end-users who are not familiar with that fact will
 obviously not adjust them), which actually made things worse
 when triggered.
* wp/sha1-name-negative-match (2016-02-01) 2 commits
  (merged to 'next' on 2016-02-03 at 89fa5ef)
 + object name: introduce '^{/!-<negative pattern>}' notation
 + test for '!' handling in rev-parse's named commits
 A new "<branch>^{/!-<pattern>}" notation can be used to name a
 commit that is reachable from <branch> that does not match the
 given <pattern>.
Eric Wong· Feb 12, 2016, 23:49 UTC · re: Junio C Hamano · lore

Re: Interim "What's cooking"

Junio C Hamano <gitster@pobox.com> wrote:
> * ew/connect-verbose (2016-01-28) 1 commit
>   (merged to 'next' on 2016-02-03 at ceac37e)
>  + pass transport verbosity down to git_connect
Btw, I posted v2 of this with tests added to t/t5570-git-daemon.sh
  http://mid.gmane.org/20160130085056.GA20118@dcvr.yhbt.net

Can you replace it with my v2 or would you prefer a standalone patch for just the test? Thanks.

Eric Wong· Feb 13, 2016, 00:35 UTC · lore

[PATCH] t5570: add tests for "git fetch -v"

Now that git_connect is more information about connectivity progress after: ("pass transport verbosity down to git_connect") we should ensure it remains so for future users who need to to diagnose networking problems.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
---
  Junio C Hamano <gitster@pobox.com> wrote:
  > On Fri, Feb 12, 2016 at 3:49 PM, Eric Wong <normalperson@yhbt.net> wrote:
  > > Junio C Hamano <gitster@pobox.com> wrote:
  > >> * ew/connect-verbose (2016-01-28) 1 commit
  > >>   (merged to 'next' on 2016-02-03 at ceac37e)
  > >>  + pass transport verbosity down to git_connect
  > >
  > > Btw, I posted v2 of this with tests added to t/t5570-git-daemon.sh
  > >
  > >   http://mid.gmane.org/20160130085056.GA20118@dcvr.yhbt.net
  > >
  > > Can you replace it with my v2 or would you prefer a standalone
  > > patch for just the test?  Thanks.
  > 
  > Thanks, that's water under the bridge, so let's have a follow-up patch
  > to add test.
 t/t5570-git-daemon.sh | 25 +++++++++++++++++++++++--
 1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/t/t5570-git-daemon.sh b/t/t5570-git-daemon.sh
index d76269a..095e862 100755
--- a/t/t5570-git-daemon.sh
+++ b/t/t5570-git-daemon.sh
@@ -6,6 +6,13 @@ test_description='test fetching over git protocol'
 . "$TEST_DIRECTORY"/lib-git-daemon.sh
 start_git_daemon
 
+check_verbose_connect () {
+	grep -qF "Looking up 127.0.0.1 ..." stderr &&
+	grep -qF "Connecting to 127.0.0.1 (port " stderr &&
+	grep -qF "done." stderr &&
+	rm stderr
+}
+
 test_expect_success 'setup repository' '
 	git config push.default matching &&
 	echo content >file &&
@@ -24,18 +31,32 @@ test_expect_success 'create git-accessible bare repository' '
 '
 
 test_expect_success 'clone git repository' '
-	git clone "$GIT_DAEMON_URL/repo.git" clone &&
+	git clone -v "$GIT_DAEMON_URL/repo.git" clone 2>stderr &&
 	test_cmp file clone/file
 '
 
+test_expect_success 'clone -v stderr is as expected' check_verbose_connect
+
 test_expect_success 'fetch changes via git protocol' '
 	echo content >>file &&
 	git commit -a -m two &&
 	git push public &&
-	(cd clone && git pull) &&
+	(cd clone && git pull -v) 2>stderr &&
 	test_cmp file clone/file
 '
 
+test_expect_success 'pull -v stderr is as expected' check_verbose_connect
+
+test_expect_success 'no-op fetch -v stderr is as expected' '
+	(cd clone && git fetch -v) 2>stderr &&
+	check_verbose_connect
+'
+
+test_expect_success 'no-op fetch without "-v" is quiet' '
+	(cd clone && git fetch) 2>stderr &&
+	! test -s stderr
+'
+
 test_expect_success 'remote detects correct HEAD' '
 	git push public master:other &&
 	(cd clone &&
-- 
EW
Junio C Hamano· Feb 13, 2016, 20:48 UTC · re: Eric Wong · lore

Re: [PATCH] t5570: add tests for "git fetch -v"

Eric Wong <normalperson@yhbt.net> writes:
> Now that git_connect is more information about connectivity
> progress after: ("pass transport verbosity down to git_connect")
> we should ensure it remains so for future users who need to
> to diagnose networking problems.
Thanks.
Show 14 quoted lines
> diff --git a/t/t5570-git-daemon.sh b/t/t5570-git-daemon.sh
> index d76269a..095e862 100755
> --- a/t/t5570-git-daemon.sh
> +++ b/t/t5570-git-daemon.sh
> @@ -6,6 +6,13 @@ test_description='test fetching over git protocol'
>  . "$TEST_DIRECTORY"/lib-git-daemon.sh
>  start_git_daemon
>  
> +check_verbose_connect () {
> +	grep -qF "Looking up 127.0.0.1 ..." stderr &&
> +	grep -qF "Connecting to 127.0.0.1 (port " stderr &&
> +	grep -qF "done." stderr &&
> +	rm stderr
> +}

If you run the test without "-v", you would not see these strings from grep hits, right? I'd prefer losing "-q" here. Also do we need "rm stderr" at the end? Everybody that uses this heler to check the result will create the file from scratch anyway, so...

Show 8 quoted lines
> @@ -24,18 +31,32 @@ test_expect_success 'create git-accessible bare repository' '
>  '
>  
>  test_expect_success 'clone git repository' '
> -	git clone "$GIT_DAEMON_URL/repo.git" clone &&
> +	git clone -v "$GIT_DAEMON_URL/repo.git" clone 2>stderr &&
>  	test_cmp file clone/file
>  '
What's the point of saving the error output without checking?
> +test_expect_success 'clone -v stderr is as expected' check_verbose_connect
> +

Ahh, you made it into two separate tests, one depending on the previous one not being skipped? I think it is better to fold this into the previous one, i.e.

	clone -v 2>stderr &&
        check_verbose_output &&
        test_cmp file clone/file
The same comment applies to the next one.

The test for "fetch -v" is already in that form, so no need to correct anything there. Also it is good that you test the case without "-v" and ensure it stays quiet.

Thanks.
Eric Wong· Feb 14, 2016, 09:26 UTC · re: Junio C Hamano · lore

[PATCH v2] t5570: add tests for "git {clone,fetch,pull} -v"

Now that git_connect is more information about connectivity progress after: ("pass transport verbosity down to git_connect") we should ensure it remains so for future users who need to to diagnose networking problems.

Signed-off-by: Eric Wong <normalperson@yhbt.net>
---
  Thanks for the feedback, v2 changes as suggested:
  - remove -q flag from grep invocation for verbose git tests
  - do not remove stderr file after testing
  - fold verbosity check into existing tests for skip-ability
 t/t5570-git-daemon.sh | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/t/t5570-git-daemon.sh b/t/t5570-git-daemon.sh
index d76269a..225a022 100755
--- a/t/t5570-git-daemon.sh
+++ b/t/t5570-git-daemon.sh
@@ -6,6 +6,12 @@ test_description='test fetching over git protocol'
 . "$TEST_DIRECTORY"/lib-git-daemon.sh
 start_git_daemon
 
+check_verbose_connect () {
+	grep -F "Looking up 127.0.0.1 ..." stderr &&
+	grep -F "Connecting to 127.0.0.1 (port " stderr &&
+	grep -F "done." stderr
+}
+
 test_expect_success 'setup repository' '
 	git config push.default matching &&
 	echo content >file &&
@@ -24,7 +30,8 @@ test_expect_success 'create git-accessible bare repository' '
 '
 
 test_expect_success 'clone git repository' '
-	git clone "$GIT_DAEMON_URL/repo.git" clone &&
+	git clone -v "$GIT_DAEMON_URL/repo.git" clone 2>stderr &&
+	check_verbose_connect &&
 	test_cmp file clone/file
 '
 
@@ -32,10 +39,21 @@ test_expect_success 'fetch changes via git protocol' '
 	echo content >>file &&
 	git commit -a -m two &&
 	git push public &&
-	(cd clone && git pull) &&
+	(cd clone && git pull -v) 2>stderr &&
+	check_verbose_connect &&
 	test_cmp file clone/file
 '
 
+test_expect_success 'no-op fetch -v stderr is as expected' '
+	(cd clone && git fetch -v) 2>stderr &&
+	check_verbose_connect
+'
+
+test_expect_success 'no-op fetch without "-v" is quiet' '
+	(cd clone && git fetch) 2>stderr &&
+	! test -s stderr
+'
+
 test_expect_success 'remote detects correct HEAD' '
 	git push public master:other &&
 	(cd clone &&
-- 
EW

← back to recent threads