Re: What's cooking in git.git (Oct 2016, #05; Thu, 20)

2016-10-21 Thread Lars Schneider

> On 21 Oct 2016, at 06:08, Johannes Schindelin  
> wrote:
> 
> Hi Junio & Lars,
> 
> On Thu, 20 Oct 2016, Junio C Hamano wrote:
> 
>> * ls/filter-process (2016-10-17) 14 commits
>>  (merged to 'next' on 2016-10-19 at ffd0de042c)
>> + contrib/long-running-filter: add long running filter example
>> + convert: add filter..process option
>> + convert: prepare filter..process option
>> + convert: make apply_filter() adhere to standard Git error handling
>> + pkt-line: add functions to read/write flush terminated packet streams
>> + pkt-line: add packet_write_gently()
>> + pkt-line: add packet_flush_gently()
>> + pkt-line: add packet_write_fmt_gently()
>> + pkt-line: extract set_packet_header()
>> + pkt-line: rename packet_write() to packet_write_fmt()
>> + run-command: add clean_on_exit_handler
>> + run-command: move check_pipe() from write_or_die to run_command
>> + convert: modernize tests
>> + convert: quote filter names in error messages
>> 
>> The smudge/clean filter API expect an external process is spawned
>> to filter the contents for each path that has a filter defined.  A
>> new type of "process" filter API has been added to allow the first
>> request to run the filter for a path to spawn a single process, and
>> all filtering need is served by this single process for multiple
>> paths, reducing the process creation overhead.
>> 
>> Will merge to 'master'.
> 
> This breaks in Git for Windows' SDK (I only now realized that t0060 was
> not the only thing breaking in `next` for a while now):
> ...
> -- snap --
> 
> Unsurprisingly, bisect identifies "convert: add filter..process
> option" as the first bad commit, although it only fails on the test case
> 15, but not on 17.
> 
> I am unfortunately still busy with trying to figure out what exactly makes
> t6030 hang on `pu` (seems it thinks stdin is a tty and just waits for an
> answer), and then trying to reduce that insane amount of time wasted on
> running, and waiting for, the test suite, and for unrelated reasons I'll
> have to go offline for the rest of the day, so I will most likely be
> unable to assist further with this.

Hi Johannes,

thanks for reporting this. Looks like I misunderstood your comment when
you wrote the error is already fixed in GfW:
https://github.com/git-for-windows/git/issues/770#issuecomment-251426487

I think this patch series (referenced by the link above, too) should fix 
the problem:
http://public-inbox.org/git/2016090521.72956-1-larsxschnei...@gmail.com/

Don't waste any time on this. I will look into it ASAP (traveling right now).

Cheers,
Lars

Re: What's cooking in git.git (Oct 2016, #05; Thu, 20)

2016-10-21 Thread Pranit Bauva
Hey Johannes,

On Fri, Oct 21, 2016 at 6:38 PM, Johannes Schindelin
 wrote:
> I am unfortunately still busy with trying to figure out what exactly makes
> t6030 hang on `pu` (seems it thinks stdin is a tty and just waits for an
> answer), and then trying to reduce that insane amount of time wasted on
> running, and waiting for, the test suite, and for unrelated reasons I'll
> have to go offline for the rest of the day, so I will most likely be
> unable to assist further with this.

My patch series [1] is recently merged into pu which changed a lot of
things around "git bisect next" which I remember that you mention it
somewhere else too but don't exactly recollect where. There were some
*really* drastic changes and they are evident with my conversation
with Junio. Maybe you could tell a little bit more about what's
happening with t6030 so that even I could dig further.

Heads up: The changes in "git bisect next" were related to revision
walking so you might want to check it out.

Sorry for any inconvenience caused by this series.

Regards,
Pranit Bauva


Re: What's cooking in git.git (Oct 2016, #05; Thu, 20)

2016-10-21 Thread Johannes Schindelin
Hi Junio & Lars,

On Thu, 20 Oct 2016, Junio C Hamano wrote:

> * ls/filter-process (2016-10-17) 14 commits
>   (merged to 'next' on 2016-10-19 at ffd0de042c)
>  + contrib/long-running-filter: add long running filter example
>  + convert: add filter..process option
>  + convert: prepare filter..process option
>  + convert: make apply_filter() adhere to standard Git error handling
>  + pkt-line: add functions to read/write flush terminated packet streams
>  + pkt-line: add packet_write_gently()
>  + pkt-line: add packet_flush_gently()
>  + pkt-line: add packet_write_fmt_gently()
>  + pkt-line: extract set_packet_header()
>  + pkt-line: rename packet_write() to packet_write_fmt()
>  + run-command: add clean_on_exit_handler
>  + run-command: move check_pipe() from write_or_die to run_command
>  + convert: modernize tests
>  + convert: quote filter names in error messages
> 
>  The smudge/clean filter API expect an external process is spawned
>  to filter the contents for each path that has a filter defined.  A
>  new type of "process" filter API has been added to allow the first
>  request to run the filter for a path to spawn a single process, and
>  all filtering need is served by this single process for multiple
>  paths, reducing the process creation overhead.
> 
>  Will merge to 'master'.

This breaks in Git for Windows' SDK (I only now realized that t0060 was
not the only thing breaking in `next` for a while now):

-- snip --
not ok 15 - required process filter should filter data
#
#   test_config_global filter.protocol.process
#   "$TEST_DIRECTORY/t002
#   1/rot13-filter.pl clean smudge" &&
#   test_config_global filter.protocol.required true &&
#   rm -rf repo &&
#   mkdir repo &&
#   (
#   cd repo &&
#   git init &&
#
#   echo "git-stderr.log" >.gitignore &&
#   echo "*.r filter=protocol" >.gitattributes &&
#   git add . &&
#   git commit . -m "test commit 1" &&
#   git branch empty-branch &&
#
#   cp "$TEST_ROOT/test.o" test.r &&
#   cp "$TEST_ROOT/test2.o" test2.r &&
#   mkdir testsubdir &&
#   cp "$TEST_ROOT/test3 'sq',\$x.o" "testsubdir/test3
#   'sq',
#   \$x.r" &&
#   >test4-empty.r &&
#
#   S=$(file_size test.r) &&
#   S2=$(file_size test2.r) &&
#   S3=$(file_size "testsubdir/test3 'sq',\$x.r") &&
#
#   filter_git add . &&
#   cat >expected.log <<-EOF &&
#   START
#   init handshake complete
#   IN: clean test.r $S [OK] -- OUT: $S . [OK]
#   IN: clean test2.r $S2 [OK] -- OUT: $S2 .
#   [OK]
#   IN: clean test4-empty.r 0 [OK] -- OUT: 0
#   [OK]
#   IN: clean testsubdir/test3 'sq',\$x.r $S3
#   [OK] -
#   - OUT: $S3 . [OK]
#   STOP
#   EOF
#   test_cmp_count expected.log rot13-filter.log &&
#
#   filter_git commit . -m "test commit 2" &&
#   cat >expected.log <<-EOF &&
#   START
#   init handshake complete
#   IN: clean test.r $S [OK] -- OUT: $S . [OK]
#   IN: clean test2.r $S2 [OK] -- OUT: $S2 .
#   [OK]
#   IN: clean test4-empty.r 0 [OK] -- OUT: 0
#   [OK]
#   IN: clean testsubdir/test3 'sq',\$x.r $S3
#   [OK] -
#   - OUT: $S3 . [OK]
#   IN: clean test.r $S [OK] -- OUT: $S . [OK]
#   IN: clean test2.r $S2 [OK] -- OUT: $S2 .
#   [OK]
#   IN: clean test4-empty.r 0 [OK] -- OUT: 0
#   [OK]
#   IN: clean testsubdir/test3 'sq',\$x.r $S3
#   [OK] -
#   - OUT: $S3 . [OK]
#   STOP
#   EOF
#   test_cmp_count expected.log rot13-filter.log &&
#
#   rm -f test2.r "testsubdir/test3 'sq',\$x.r" &&
#
#   filter_git checkout --quiet --no-progress . &&
#   cat >expected.log <<-EOF &&
#   START
#   

What's cooking in git.git (Oct 2016, #05; Thu, 20)

2016-10-20 Thread Junio C Hamano
Here are the topics that have been cooking.  Commits prefixed with
'-' are only in 'pu' (proposed updates) while commits prefixed with
'+' are in 'next'.  The ones marked with '.' do not appear in any of
the integration branches, but I am still holding onto them.

The last batch of topics before -rc0 are expected to hopefully
graduate to 'master' sometime this weekend.  We are at around 450+
non-merge commits since v2.10.0 now.

You can find the changes described here in the integration branches
of the repositories listed at

http://git-blame.blogspot.com/p/git-public-repositories.html

--
[New Topics]

* jc/merge-base-fp-only (2016-10-19) 8 commits
 . merge-base: fp experiment
 - merge: allow to use only the fp-only merge bases
 - merge-base: limit the output to bases that are on first-parent chain
 - merge-base: mark bases that are on first-parent chain
 - merge-base: expose get_merge_bases_many_0() a bit more
 - merge-base: stop moving commits around in remove_redundant()
 - sha1_name: remove ONELINE_SEEN bit
 - commit: simplify fastpath of merge-base

 An experiment of merge-base that ignores common ancestors that are
 not on the first parent chain.


* bw/submodule-branch-dot-doc (2016-10-19) 1 commit
 - submodules doc: update documentation for "." used for submodule branches

 Recent git allows submodule..branch to use a special token
 "." instead of the branch name; the documentation has been updated
 to describe it.

 Will merge to 'next'.


* tg/add-chmod+x-fix (2016-10-20) 1 commit
 - t3700: fix broken test under !SANITY

 A hot-fix for a test added by a recent topic that went to both
 'master' and 'maint' already.

 Will merge to 'next'.


* jk/diff-submodule-diff-inline (2016-10-20) 1 commit
 - rev-list: use hdr_termination instead of a always using a newline

 A recently graduated topic regressed "git rev-list --header"
 output, breaking "gitweb".  This has been fixed.

 Will merge to 'next'.


* jk/no-looking-at-dotgit-outside-repo (2016-10-20) 8 commits
 - setup_git_env: avoid blind fall-back to ".git"
 - diff: handle sha1 abbreviations outside of repository
 - diff_aligned_abbrev: use "struct oid"
 - diff_unique_abbrev: rename to diff_aligned_abbrev
 - find_unique_abbrev: use 4-buffer ring
 - test-*-cache-tree: setup git dir
 - read info/{attributes,exclude} only when in repository
 - Merge branch 'jc/diff-unique-abbrev-comments' into 
jk/no-looking-at-dotgit-outside-repo
 (this branch uses jc/diff-unique-abbrev-comments.)

 Update "git diff --no-index" codepath not to try to peek into .git/
 directory that happens to be under the current directory, when we
 know we are operating outside any repository.

 Will wait until 'jc/diff-unique-abbrev-comments' graduates, rebase
 onto 'master' and then cook in 'next'.


* pt/gitgui-updates (2016-10-20) 35 commits
 - Merge tag 'gitgui-0.21.0' of git://repo.or.cz/git-gui
 - git-gui: set version 0.21
 - Merge branch 'as/bulgarian' into pu
 - git-gui: Mark 'All' in remote.tcl for translation
 - git-gui i18n: Updated Bulgarian translation (565,0f,0u)
 - Merge branch 'os/preserve-author' into pu
 - git-gui: avoid persisting modified author identity
 - git-gui: Do not reset author details on amend
 - Merge branch 'kb/unicode' into pu
 - git-gui: handle the encoding of Git's output correctly
 - git-gui: unicode file name support on windows
 - Merge branch 'dr/ru' into pu
 - git-gui: Update Russian translation
 - git-gui: maintain backwards compatibility for merge syntax
 - Merge branch 'va/i18n_2' into pu
 - git-gui i18n: mark string in lib/error.tcl for translation
 - git-gui: fix incorrect use of Tcl append command
 - git-gui i18n: mark "usage:" strings for translation
 - git-gui i18n: internationalize use of colon punctuation
 - Merge branch 'pt/non-mouse-usage' into pu
 - Amend tab ordering and text widget border and highlighting.
 - Allow keyboard control to work in the staging widgets.
 - Merge branch 'pt/git4win-mods' into pu
 - git-gui (Windows): use git-gui.exe in `Create Desktop Shortcut`
 - git-gui: fix detection of Cygwin
 - Merge branch 'patches' into pu
 - git-gui: ensure the file in the diff pane is in the list of selected files
 - git-gui: support for $FILENAMES in tool definitions
 - git-gui: fix initial git gui message encoding
 - git-gui/po/glossary/txt-to-pot.sh: use the $( ... ) construct for command 
substitution
 - Merge branch 'va/i18n' into pu
 - Merge branch 'rs/use-modern-git-merge-syntax' into pu
 - Merge branch 'js/commit-gpgsign' into pu
 - Merge branch 'sy/i18n' into pu
 - git-gui: sort entries in tclIndex

 Will merge to 'master'.
 Parked here temporarily as I didn't have chance to double-check.


* yk/git-tag-remove-mention-of-old-layout-in-doc (2016-10-20) 1 commit
 - doc: remove reference to the traditional layout in git-tag.txt

 Shorten description of auto-following in "git tag" by removing a
 mention of historical remotes layout which is not relevant to the
 main