Re: What's cooking in git.git (Apr 2013, #08; Tue, 23)

2013-04-24 Thread Johannes Sixt
Am 4/24/2013 10:04, schrieb Felipe Contreras:
> On Wed, Apr 24, 2013 at 2:57 AM, Johannes Sixt  wrote:
>> Am 4/23/2013 21:31, schrieb Junio C Hamano:
>>> * fc/transport-helper-error-reporting (2013-04-17) 9 commits
>>>   (merged to 'next' on 2013-04-22 at 5ba6467)
>>>  + transport-helper: update remote helper namespace
>>>  + transport-helper: trivial code shuffle
>>>  + transport-helper: warn when refspec is not used
>>>  + transport-helper: clarify pushing without refspecs
>>>  + transport-helper: update refspec documentation
>>>  + transport-helper: clarify *:* refspec
>>>  + transport-helper: improve push messages
>>>  + transport-helper: mention helper name when it dies
>>>  + transport-helper: report errors properly
>>>
>>>  Update transport helper to report errors and maintain ref hierarchy
>>>  used to keep track of remote helper state better.
>>>
>>>  Will merge to 'master'.
>>
>> Please don't, yet. There is a new test case that fails on Windows. I'll
>> have to figure out a work-around.
> 
> Which test case? If it it failed, it failed before this series. I
> don't see how this new series would affect anything.

The test introduced in the commit at the tip: 'push update refs'.
More precisely:

 8< 
D:\Src\mingw-git\t>sh t5801-remote-helpers.sh
ok 1 - setup repository
ok 2 - cloning from local repo
ok 3 - create new commit on remote
ok 4 - pulling from local repo
ok 5 - pushing to local repo
ok 6 - fetch new branch
ok 7 - fetch multiple branches
ok 8 - push when remote has extra refs
ok 9 - push new branch by name
not ok 10 - push new branch with old:new refspec # TODO known breakage
ok 11 - cloning without refspec
ok 12 - pulling without refspecs
ok 13 - pushing without refspecs
ok 14 - pulling without marks
not ok 15 - pushing without marks # TODO known breakage
ok 16 - push all with existing object
ok 17 - push ref with existing object
not ok 18 - push update refs
#
#   (cd local &&
#   git checkout -b update master &&
#   echo update >>file &&
#   git commit -a -m update &&
#   git push origin update
#   git rev-parse --verify remotes/origin/update >expect &&
#   git rev-parse --verify testgit/origin/heads/update >actual &&
#   test_cmp expect actual
#   )
#
ok 19 - proper failure checks for fetching
ok 20 - proper failure checks for pushing
ok 21 - push messages
ok 22 - push signed tag
ok 23 - push signed tag with signed-tags capability
# still have 2 known breakage(s)
# failed 1 among remaining 21 test(s)
1..23
 8< 

The verbose failure is:

 8< 
expecting success:
(cd local &&
git checkout -b update master &&
echo update >>file &&
git commit -a -m update &&
git push origin update
git rev-parse --verify remotes/origin/update >expect &&
git rev-parse --verify testgit/origin/heads/update >actual &&
test_cmp expect actual
)

Switched to a new branch 'update'
[update 86cfeec] update
 Author: A U Thor 
 1 file changed, 1 insertion(+)
d:/Src/mingw-git/git-remote-testgit: cannot make pipe for process substitution: 
Function not implemented
d:/Src/mingw-git/git-remote-testgit: cannot make pipe for process substitution: 
Function not implemented
d:/Src/mingw-git/git-remote-testgit: line 97: join: command not found
Everything up-to-date
fatal: Needed a single revision
not ok 18 - push update refs
 8< 

An example of a successful test is this:

 8< 
expecting success:
(cd local &&
 git checkout -b new-name  &&
 echo content >>file &&
 git commit -a -m seven &&
 git push origin new-name
) &&
compare_refs local HEAD server refs/heads/new-name

Switched to a new branch 'new-name'
[new-name 455466e] seven
 Author: A U Thor 
 1 file changed, 1 insertion(+)
d:/Src/mingw-git/git-remote-testgit: cannot make pipe for process substitution: 
Function not implemented
d:/Src/mingw-git/git-remote-testgit: cannot make pipe for process substitution: 
Function not implemented
d:/Src/mingw-git/git-remote-testgit: line 97: join: command not found
Everything up-to-date
ok 9 - push new branch by name
 8< 

-- Hannes
--
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: What's cooking in git.git (Apr 2013, #08; Tue, 23)

2013-04-24 Thread Felipe Contreras
On Wed, Apr 24, 2013 at 2:57 AM, Johannes Sixt  wrote:
> Am 4/23/2013 21:31, schrieb Junio C Hamano:
>> * fc/transport-helper-error-reporting (2013-04-17) 9 commits
>>   (merged to 'next' on 2013-04-22 at 5ba6467)
>>  + transport-helper: update remote helper namespace
>>  + transport-helper: trivial code shuffle
>>  + transport-helper: warn when refspec is not used
>>  + transport-helper: clarify pushing without refspecs
>>  + transport-helper: update refspec documentation
>>  + transport-helper: clarify *:* refspec
>>  + transport-helper: improve push messages
>>  + transport-helper: mention helper name when it dies
>>  + transport-helper: report errors properly
>>
>>  Update transport helper to report errors and maintain ref hierarchy
>>  used to keep track of remote helper state better.
>>
>>  Will merge to 'master'.
>
> Please don't, yet. There is a new test case that fails on Windows. I'll
> have to figure out a work-around.

Which test case? If it it failed, it failed before this series. I
don't see how this new series would affect anything.

-- 
Felipe Contreras
--
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: What's cooking in git.git (Apr 2013, #08; Tue, 23)

2013-04-24 Thread Johannes Sixt
Am 4/23/2013 21:31, schrieb Junio C Hamano:
> * fc/transport-helper-error-reporting (2013-04-17) 9 commits
>   (merged to 'next' on 2013-04-22 at 5ba6467)
>  + transport-helper: update remote helper namespace
>  + transport-helper: trivial code shuffle
>  + transport-helper: warn when refspec is not used
>  + transport-helper: clarify pushing without refspecs
>  + transport-helper: update refspec documentation
>  + transport-helper: clarify *:* refspec
>  + transport-helper: improve push messages
>  + transport-helper: mention helper name when it dies
>  + transport-helper: report errors properly
> 
>  Update transport helper to report errors and maintain ref hierarchy
>  used to keep track of remote helper state better.
> 
>  Will merge to 'master'.

Please don't, yet. There is a new test case that fails on Windows. I'll
have to figure out a work-around.

In git-remote-testgit we have this code:

before=$(git for-each-ref --format='%(refname) %(objectname)')

git fast-import "${testgitmarks_args[@]}" --quiet

after=$(git for-each-ref --format='%(refname) %(objectname)')

# figure out which refs were updated
join -e 0 -o '0 1.2 2.2' -a 2 <(echo "$before") <(echo "$after") |
while read ref a b
do
test $a == $b && continue
echo "ok $ref"
done

The failure is in the 'join' line: Bash on Windows does not implement
process substitution, and we do not have 'join'. This failing code exists
since 93b5cf9c (remote-testgit: report success after an import,
2012-11-28), but apparently, it did not matter so far.

-- Hannes
--
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


What's cooking in git.git (Apr 2013, #08; Tue, 23)

2013-04-23 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'.

Both of the two topics on preparing "git add" users for the
behaviour change in Git 2.0 are in 'master'.  We may want to tweak
the wording of warning messages and such before the feature freeze
(see jc/add-ignore-removal topic in 'pu' for a proposal).

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

--
[Graduated to "master"]

* fc/untracked-zsh-prompt (2013-04-21) 1 commit
  (merged to 'next' on 2013-04-22 at 472da3e)
 + prompt: fix untracked files for zsh

 Zsh completion forgot that '%' character used to signal untracked
 files needs to be escaped with another '%'.


* jk/receive-pack-deadlocks-with-early-failure (2013-04-19) 1 commit
  (merged to 'next' on 2013-04-22 at 1e27177)
 + receive-pack: close sideband fd on early pack errors

 When receive-pack detects error in the pack header it received in
 order to decide which of unpack-objects or index-pack to run, it
 returned without closing the error stream, which led to a hang
 sideband thread.


* jn/gitweb-install-doc (2013-04-17) 2 commits
  (merged to 'next' on 2013-04-22 at a5d4812)
 + gitweb/INSTALL: GITWEB_CONFIG_SYSTEM is for backward compatibility
 + gitweb/INSTALL: Simplify description of GITWEB_CONFIG_SYSTEM

 Reword gitweb configuration instrutions.


* kb/status-ignored-optim-2 (2013-04-15) 14 commits
  (merged to 'next' on 2013-04-21 at d2a5c70)
 + dir.c: git-status --ignored: don't scan the work tree twice
 + dir.c: git-status --ignored: don't scan the work tree three times
 + dir.c: git-status: avoid is_excluded checks for tracked files
 + dir.c: replace is_path_excluded with now equivalent is_excluded API
 + dir.c: unify is_excluded and is_path_excluded APIs
 + dir.c: move prep_exclude
 + dir.c: factor out parts of last_exclude_matching for later reuse
 + dir.c: git-clean -d -X: don't delete tracked directories
 + dir.c: make 'git-status --ignored' work within leading directories
 + dir.c: git-status --ignored: don't list empty directories as ignored
 + dir.c: git-ls-files --directories: don't hide empty directories
 + dir.c: git-status --ignored: don't list empty ignored directories
 + dir.c: git-status --ignored: don't list files in ignored directories
 + dir.c: git-status --ignored: don't drop ignored directories

 A handful of issues in the code to traverse working tree to find
 untracked and/or ignored files have been fixed, and the general
 codepath involved in "status -u" and "clean" have been cleaned up
 and optimized.


* nd/pretty-formats (2013-04-18) 13 commits
  (merged to 'next' on 2013-04-22 at 3d63014)
 + pretty: support %>> that steal trailing spaces
 + pretty: support truncating in %>, %< and %><
 + pretty: support padding placeholders, %< %> and %><
 + pretty: add %C(auto) for auto-coloring
 + pretty: split color parsing into a separate function
 + pretty: two phase conversion for non utf-8 commits
 + utf8.c: add reencode_string_len() that can handle NULs in string
 + utf8.c: add utf8_strnwidth() with the ability to skip ansi sequences
 + utf8.c: move display_mode_esc_sequence_len() for use by other functions
 + pretty: share code between format_decoration and show_decorations
 + pretty-formats.txt: wrap long lines
 + pretty: get the correct encoding for --pretty:format=%e
 + pretty: save commit encoding from logmsg_reencode if the caller needs it

 pretty-printing body of the commit that is stored in non UTF-8
 encoding did not work well.  The early part of this series fixes
 it.  And then it adds %C(auto) specifier that turns the coloring on
 when we are emitting to the terminal, and adds column-aligning
 format directives.

--
[New Topics]

* jc/add-2.0-ignore-removal (2013-04-22) 1 commit
 - git add ... defaults to "-A"
 (this branch uses jc/add-ignore-removal.)

 Updated endgame for "git add " that defaults to "--all"
 aka "--no-ignore-removal".

 Will cook in 'next' until Git 2.0.


* jc/add-ignore-removal (2013-04-22) 2 commits
 - git add: rephrase -A/--no-all warning
 - git add: --ignore-removal is a better named --no-all
 (this branch is used by jc/add-2.0-ignore-removal.)

 Introduce "--ignore-removal" as a synonym to "--no-all" for "git
 add", and improve the 2.0 migration warning with it.

 Will merge to 'next'.


* fc/remote-hg (2013-04-22) 16 commits
 - remote-hg: strip extra newline
 - remote-hg: use marks instead of inlined files
 - remote-hg: small performance improvement
 - remote-hg: allow refs with spaces
 - remote-hg: don't update bookmarks unnecessarily
 - remote-hg: add support for schemes extension
 - remote-hg: improve email sanitation
 - remote-hg: add custom local tag write code
 - remote-hg: write tags in the appropriate branch