git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 03/19] t5800: document some non-functional parts of remote helpers

From
Sverre Rabbelier <srabbelier@gmail.com>
Date
Jun 9, 2011, 12:45 UTC
Message-ID
<BANLkTikuAjchuACmdHYG6giy=3s2RkQxhw@mail.gmail.com>
In-Reply-To
<BANLkTi=-roQ5DH6RQ75+EwfDr9LutU0jrw@mail.gmail.com>
Heya,
On Wed, Jun 8, 2011 at 23:13, Sverre Rabbelier <srabbelier@gmail.com> wrote:
> I was going to test this, but it seems there's a problem with my
> series. Peff, if you want to look into it, (if not I'll try to look at
> it tomorrow) it's up at my github fork [0].

Turns out this was caused by the sloppy implementation of [PATCH 15/19] transport-helper: update ref status after push with export. After implementing it properly the breakage is fixed although I'm not entirely sure the output is (always) correct.

Follows are the test results (ran with GIT_TRACE=1 GIT_DEBUG_TESTGIT=1):
expecting success:
       (cd clone &&
        git tag -a -m "example tag" example-tag &&
        git push origin tag example-tag
       ) &&
       compare_refs clone example-tag server refs/tags/example-tag

trace: built-in: git 'tag' '-a' '-m' 'example tag' 'example-tag' trace: built-in: git 'push' 'origin' 'tag' 'example-tag' trace: run_command: 'git-remote-testgit' 'origin' 'file:///home/sverre/code/git/t/trash directory.t5800-remote-helpers/server' trace: built-in: git 'ls-remote' 'file:///home/sverre/code/git/t/trash directory.t5800-remote-helpers/server/.git' trace: run_command: 'git-upload-pack '\''/home/sverre/code/git/t/trash directory.t5800-remote-helpers/server/.git'\''' trace: exec: 'sh' '-c' 'git-upload-pack '\''/home/sverre/code/git/t/trash directory.t5800-remote-helpers/server/.git'\''' 'git-upload-pack '\''/home/sverre/code/git/t/trash directory.t5800-remote-helpers/server/.git'\''' prefix: 'refs/testgit/origin/' Got arguments ['origin', 'file:///home/sverre/code/git/t/trash directory.t5800-remote-helpers/server'] Got command 'capabilities' with args '' Got command 'gitdir' with args '.git' Got command 'list' with args '' ? refs/heads/new ? refs/heads/master ? refs/heads/new-name @refs/heads/master HEAD Got command 'export' with args '' trace: run_command: 'fast-export' '--use-done-feature' '--export-marks=.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/testgit.marks' '--import-marks=.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/testgit.marks' '^refs/testgit/origin/master' 'refs/tags/example-tag' trace: exec: 'git' 'fast-export' '--use-done-feature' '--export-marks=.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/testgit.marks' '--import-marks=.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/testgit.marks' '^refs/testgit/origin/master' 'refs/tags/example-tag' trace: built-in: git 'fast-export' '--use-done-feature' '--export-marks=.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/testgit.marks' '--import-marks=.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/testgit.marks' '^refs/testgit/origin/master' 'refs/tags/example-tag' trace: built-in: git 'fetch' '--quiet' 'file:///home/sverre/code/git/t/trash directory.t5800-remote-helpers/server/.git' trace: run_command: 'git-upload-pack '\''/home/sverre/code/git/t/trash directory.t5800-remote-helpers/server/.git'\''' trace: exec: 'sh' '-c' 'git-upload-pack '\''/home/sverre/code/git/t/trash directory.t5800-remote-helpers/server/.git'\''' 'git-upload-pack '\''/home/sverre/code/git/t/trash directory.t5800-remote-helpers/server/.git'\''' trace: run_command: 'rev-list' '--quiet' '--objects' '--stdin' '--not' '--all' trace: built-in: git 'update-ref' 'refs/heads/master' 'FETCH_HEAD' trace: built-in: git 'for-each-ref' 'refs/heads' trace: exec: 'git-fast-import' '--quiet' '--export-marks=/home/sverre/code/git/t/trash directory.t5800-remote-helpers/clone/.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/git.marks' '--import-marks=/home/sverre/code/git/t/trash directory.t5800-remote-helpers/clone/.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/git.marks' trace: run_command: 'git-fast-import' '--quiet' '--export-marks=/home/sverre/code/git/t/trash directory.t5800-remote-helpers/clone/.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/git.marks' '--import-marks=/home/sverre/code/git/t/trash directory.t5800-remote-helpers/clone/.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/git.marks' trace: built-in: git 'for-each-ref' 'refs/heads' trace: built-in: git 'push' '--quiet' 'file:///home/sverre/code/git/t/trash directory.t5800-remote-helpers/server/.git' '--all' trace: run_command: 'git-receive-pack '\''/home/sverre/code/git/t/trash directory.t5800-remote-helpers/server/.git'\''' trace: exec: 'sh' '-c' 'git-receive-pack '\''/home/sverre/code/git/t/trash directory.t5800-remote-helpers/server/.git'\''' 'git-receive-pack '\''/home/sverre/code/git/t/trash directory.t5800-remote-helpers/server/.git'\''' trace: built-in: git 'receive-pack' '/home/sverre/code/git/t/trash directory.t5800-remote-helpers/server/.git' Everything up-to-date trace: built-in: git 'rev-parse' '--verify' 'example-tag' trace: built-in: git 'rev-parse' '--verify' 'refs/tags/example-tag' fatal: Needed a single revision not ok - 15 test pushing tags

Similar output for the following two:

<snip> Everything up-to-date trace: built-in: git 'rev-parse' '--verify' 'HEAD:file' trace: built-in: git 'rev-parse' '--verify' 'refs/blobs/file' fatal: Needed a single revision not ok - 16 test pushing a blob

<snip> Everything up-to-date trace: built-in: git 'rev-parse' '--verify' ':file' trace: built-in: git 'rev-parse' '--verify' 'refs/blobs/newfile' fatal: Needed a single revision not ok - 17 test pushing an updated blob

And then finally a rather different failure:
expecting success:
       (cd clone &&
        echo more >>file &&
        git commit -a -m another &&
        git push origin HEAD^0:master
       ) &&
       compare_refs clone HEAD server HEAD
trace: built-in: git 'commit' '-a' '-m' 'another'
[new-name a02c029] another
 Author: A U Thor <author@example.com>
 1 files changed, 1 insertions(+), 0 deletions(-)
trace: built-in: git 'push' 'origin' 'HEAD^0:master'
trace: run_command: 'git-remote-testgit' 'origin'
'file:///home/sverre/code/git/t/trash
directory.t5800-remote-helpers/server'
trace: built-in: git 'ls-remote' 'file:///home/sverre/code/git/t/trash
directory.t5800-remote-helpers/server/.git'
trace: run_command: 'git-upload-pack '\''/home/sverre/code/git/t/trash
directory.t5800-remote-helpers/server/.git'\'''
trace: exec: 'sh' '-c' 'git-upload-pack
'\''/home/sverre/code/git/t/trash
directory.t5800-remote-helpers/server/.git'\''' 'git-upload-pack
'\''/home/sverre/code/git/t/trash
directory.t5800-remote-helpers/server/.git'\'''
prefix: 'refs/testgit/origin/'
Got arguments ['origin', 'file:///home/sverre/code/git/t/trash
directory.t5800-remote-helpers/server']
Got command 'capabilities' with args ''
Got command 'gitdir' with args '.git'
Got command 'list' with args ''
? refs/heads/new
? refs/heads/master
? refs/heads/new-name
@refs/heads/master HEAD
Got command 'export' with args ''
trace: run_command: 'fast-export' '--use-done-feature'
'--export-marks=.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/testgit.marks'
'--import-marks=.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/testgit.marks'
'^refs/testgit/origin/master' 'HEAD^0'
trace: exec: 'git' 'fast-export' '--use-done-feature'
'--export-marks=.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/testgit.marks'
'--import-marks=.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/testgit.marks'
'^refs/testgit/origin/master' 'HEAD^0'
trace: built-in: git 'fast-export' '--use-done-feature'
'--export-marks=.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/testgit.marks'
'--import-marks=.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/testgit.marks'
'^refs/testgit/origin/master' 'HEAD^0'
trace: built-in: git 'fetch' '--quiet'
'file:///home/sverre/code/git/t/trash
directory.t5800-remote-helpers/server/.git'
trace: run_command: 'git-upload-pack '\''/home/sverre/code/git/t/trash
directory.t5800-remote-helpers/server/.git'\'''
trace: exec: 'sh' '-c' 'git-upload-pack
'\''/home/sverre/code/git/t/trash
directory.t5800-remote-helpers/server/.git'\''' 'git-upload-pack
'\''/home/sverre/code/git/t/trash
directory.t5800-remote-helpers/server/.git'\'''
trace: run_command: 'rev-list' '--quiet' '--objects' '--stdin' '--not' '--all'
trace: built-in: git 'update-ref' 'refs/heads/master' 'FETCH_HEAD'
trace: built-in: git 'for-each-ref' 'refs/heads'
trace: exec: 'git-fast-import' '--quiet'
'--export-marks=/home/sverre/code/git/t/trash
directory.t5800-remote-helpers/clone/.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/git.marks'
'--import-marks=/home/sverre/code/git/t/trash
directory.t5800-remote-helpers/clone/.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/git.marks'
trace: run_command: 'git-fast-import' '--quiet'
'--export-marks=/home/sverre/code/git/t/trash
directory.t5800-remote-helpers/clone/.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/git.marks'
'--import-marks=/home/sverre/code/git/t/trash
directory.t5800-remote-helpers/clone/.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/git.marks'
fatal: Branch name doesn't conform to GIT standards: HEAD^0
fast-import: dumping crash report to /home/sverre/code/git/t/trash
directory.t5800-remote-helpers/clone/.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/.git/fast_import_crash_2016
Traceback (most recent call last):
  File "/home/sverre/code/git/git-remote-testgit", line 265, in <module>
    sys.exit(main(sys.argv))
  File "/home/sverre/code/git/git-remote-testgit", line 262, in main
    more = read_one_line(repo)
  File "/home/sverre/code/git/git-remote-testgit", line 227, in read_one_line
    func(repo, cmdline)
  File "/home/sverre/code/git/git-remote-testgit", line 164, in do_export
    changed = repo.importer.do_import(repo.gitdir)
  File "/home/sverre/code/git/t/../git_remote_helpers/build/lib/git_remote_helpers/git/importer.py",
line 54, in do_import
    check_call(args)
  File "/home/sverre/code/git/t/../git_remote_helpers/build/lib/git_remote_helpers/util.py",
line 159, in check_call
    raise subprocess.CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['git',
'--git-dir=/home/sverre/code/git/t/trash
directory.t5800-remote-helpers/clone/.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/.git',
'fast-import', '--quiet',
'--export-marks=/home/sverre/code/git/t/trash
directory.t5800-remote-helpers/clone/.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/git.marks',
'--import-marks=/home/sverre/code/git/t/trash
directory.t5800-remote-helpers/clone/.git/info/fast-import/27c45ccde749c9cc424db9cf911f01688e75d056/git.marks']'
returned non-zero exit status 128
not ok - 18 test pushing HEAD^0
-- 
Cheers,

Sverre Rabbelier
Previous: Sverre RabbelierNext: Jeff King
Message 11 of 54 in “remote-helper improvements”
  1. 00/19 remote-helper improvementsSverre Rabbelier, Jun 8, 2011
  2. 01/19 transport-helper: fix minor leak in push_refs_with_exportSverre Rabbelier, Jun 8, 2011
  3. Jeff KingJun 8, 2011
  4. Sverre RabbelierJun 8, 2011
  5. 02/19 t5800: factor out some ref testsSverre Rabbelier, Jun 8, 2011
  6. 03/19 t5800: document some non-functional parts of remote helpersSverre Rabbelier, Jun 8, 2011
  7. Jonathan NiederJun 8, 2011
  8. Jonathan NiederJun 8, 2011
  9. Sverre RabbelierJun 8, 2011
  10. Sverre RabbelierJun 8, 2011
  11. Sverre RabbelierJun 9, 2011
  12. Jeff KingJun 10, 2011
  13. 04/19 teach remote-testgit to import non-HEAD refsSverre Rabbelier, Jun 8, 2011
  14. Jonathan NiederJun 8, 2011
  15. Sverre RabbelierJun 8, 2011
  16. Jeff KingJun 8, 2011
  17. Junio C HamanoJun 8, 2011
  18. Sverre RabbelierJun 9, 2011
  19. 05/19 transport-helper: don't feed bogus refs to export pushSverre Rabbelier, Jun 8, 2011
  20. 06/19 git_remote_helpers: push all refs during a non-local exportSverre Rabbelier, Jun 8, 2011
  21. Jonathan NiederJun 8, 2011
  22. Jeff KingJun 8, 2011
  23. Sverre RabbelierJun 8, 2011
  24. Jonathan NiederJun 9, 2011
  25. Sverre RabbelierJun 9, 2011
  26. Jonathan NiederJun 9, 2011
  27. Sverre RabbelierJun 9, 2011
  28. Jeff KingJun 10, 2011
  29. 07/19 remote-curl: accept empty line as terminatorSverre Rabbelier, Jun 8, 2011
  30. 08/19 git-remote-testgit: only push for non-local repositoriesSverre Rabbelier, Jun 8, 2011
  31. 09/19 git-remote-testgit: fix error handlingSverre Rabbelier, Jun 8, 2011
  32. 10/19 fast-import: introduce 'done' commandSverre Rabbelier, Jun 8, 2011
  33. Jonathan NiederJun 8, 2011
  34. Sverre RabbelierJun 8, 2011
  35. 11/19 fast-export: support done featureSverre Rabbelier, Jun 8, 2011
  36. 12/19 transport-helper: factor out push_update_refs_statusSverre Rabbelier, Jun 8, 2011
  37. 13/19 transport-helper: check status code of finish_commandSverre Rabbelier, Jun 8, 2011
  38. 14/19 transport-helper: use the new done feature where possibleSverre Rabbelier, Jun 8, 2011
  39. 15/19 transport-helper: update ref status after push with exportSverre Rabbelier, Jun 8, 2011
  40. Jonathan NiederJun 9, 2011
  41. Sverre RabbelierJun 9, 2011
  42. 16/19 transport-helper: change import semanticsSverre Rabbelier, Jun 8, 2011
  43. Jonathan NiederJun 8, 2011
  44. Sverre RabbelierJun 8, 2011
  45. 17/19 transport-helper: export is no longer always the last commandSverre Rabbelier, Jun 8, 2011
  46. Junio C HamanoJun 9, 2011
  47. Sverre RabbelierJun 9, 2011
  48. Jonathan NiederJun 9, 2011
  49. Sverre RabbelierJun 9, 2011
  50. Junio C HamanoJun 13, 2011
  51. 18/19 transport-helper: Use capname for gitdir capability tooSverre Rabbelier, Jun 8, 2011
  52. Jonathan NiederJun 8, 2011
  53. Sverre RabbelierJun 8, 2011
  54. 19/19 transport-helper: implement marks location as capabilitySverre Rabbelier, Jun 8, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.