Skip to content

test failures #674

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
0-wiz-0 opened this issue Sep 29, 2017 · 12 comments
Closed

test failures #674

0-wiz-0 opened this issue Sep 29, 2017 · 12 comments

Comments

@0-wiz-0
Copy link

0-wiz-0 commented Sep 29, 2017

When running the self tests for today's git head of GitPython as of today (ddb828e) on NetBSD with python-3.6.2, ddt-1.1.1, mock-2.0.0, nose-1.3.7, smmap2-2.0.3, gitdb2-2.0.3 and git-2.14.2, there are many test failures:

cd /tmp
git clone [email protected]:gitpython-developers/GitPython.git
cd GitPython
python3.6 setup.py build
python3.6 setup.py test

gives me:

======================================================================
ERROR: test_references_and_objects (git.test.test_docs.Tutorials)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_docs.py", line 197, in test_references_and_objects
    repo = git.Repo.clone_from(self._small_repo_url(), osp.join(rw_dir, 'repo'), branch='master')
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
  cmdline: git clone --branch=master -v /tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_references_and_objectsrmqr92wx/repo
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' does not exist
'

======================================================================
ERROR: test_submodules (git.test.test_docs.Tutorials)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/test_docs.py", line 467, in test_submodules
    self.assertEqual(sm.children()[0].name, 'smmap')           # ... which has smmap as single submodule
IndexError: list index out of range

======================================================================
ERROR: test_rev_parse (git.test.test_repo.TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/repo/fun.py", line 261, in rev_parse
    entry = ref.log_entry(revlog_index)
  File "/tmp/GitPython/git/refs/symbolic.py", line 403, in log_entry
    return RefLog.entry_at(RefLog.path(self), index)
  File "/tmp/GitPython/git/refs/log.py", line 222, in entry_at
    return RefLogEntry.from_line(fp.readlines()[index].strip())
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/GitPython/git/test/test_repo.py", line 768, in test_rev_parse
    assert rev_parse('@{1}') != head.commit
  File "/tmp/GitPython/git/repo/fun.py", line 263, in rev_parse
    raise IndexError("Invalid revlog index: %i" % revlog_index)
IndexError: Invalid revlog index: -2

======================================================================
ERROR: test_submodule_update (git.test.test_repo.TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 141, in repo_creator
    return func(self, rw_repo)
  File "/tmp/GitPython/git/test/test_repo.py", line 792, in test_submodule_update
    sm = rwrepo.create_submodule("my_new_sub", "some_path", join_path_native(self.rorepo.working_tree_dir, sm.path))
  File "/tmp/GitPython/git/repo/base.py", line 332, in create_submodule
    return Submodule.add(self, *args, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 401, in add
    mrepo = cls._clone_repo(repo, url, path, name, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 261, in _clone_repo
    clone = git.Repo.clone_from(url, module_checkout_path, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone --separate-git-dir=/tmp/non_bare_test_submodule_updateqyfqkgvf/.git/modules/my_new_sub -v /tmp/GitPython/git/ext/gitdb /tmp/non_bare_test_submodule_updateqyfqkgvf/some_path
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb' does not exist
'

======================================================================
ERROR: test_base_rw (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/objects/submodule/base.py", line 1040, in module
    repo = git.Repo(module_checkout_abspath)
  File "/tmp/GitPython/git/repo/base.py", line 167, in __init__
    raise InvalidGitRepositoryError(epath)
git.exc.InvalidGitRepositoryError: /tmp/non_bare_test_base_rw25mh_iq4/git/ext/gitdb

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/GitPython/git/objects/submodule/base.py", line 482, in update
    mrepo = self.module()
  File "/tmp/GitPython/git/util.py", line 75, in wrapper
    return func(self, *args, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 1045, in module
    raise InvalidGitRepositoryError("No valid repository at %s" % module_checkout_abspath)
git.exc.InvalidGitRepositoryError: No valid repository at /tmp/non_bare_test_base_rw25mh_iq4/git/ext/gitdb

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 141, in repo_creator
    return func(self, rw_repo)
  File "/tmp/GitPython/git/test/test_submodule.py", line 419, in test_base_rw
    self._do_base_tests(rwrepo)
  File "/tmp/GitPython/git/test/test_submodule.py", line 174, in _do_base_tests
    assert sm.update() is sm
  File "/tmp/GitPython/git/objects/submodule/base.py", line 524, in update
    mrepo = self._clone_repo(self.repo, self.url, self.path, self.name, n=True)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 261, in _clone_repo
    clone = git.Repo.clone_from(url, module_checkout_path, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone -n --separate-git-dir=/tmp/non_bare_test_base_rw25mh_iq4/.git/modules/gitdb -v /tmp/GitPython/git/ext/gitdb /tmp/non_bare_test_base_rw25mh_iq4/git/ext/gitdb
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb' does not exist
'

======================================================================
ERROR: test_branch_renames (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_submodule.py", line 858, in test_branch_renames
    sm_source_repo = git.Repo.clone_from(source_url, osp.join(rw_dir, 'sm-source'), b='master')
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone -b master -v /tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_branch_renamesryh3epo2/sm-source
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' does not exist
'

======================================================================
ERROR: test_git_submodule_compatibility (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_submodule.py", line 741, in test_git_submodule_compatibility
    sm = parent.create_submodule('mymodules/myname', sm_path, url=self._small_repo_url())
  File "/tmp/GitPython/git/repo/base.py", line 332, in create_submodule
    return Submodule.add(self, *args, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 401, in add
    mrepo = cls._clone_repo(repo, url, path, name, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 261, in _clone_repo
    clone = git.Repo.clone_from(url, module_checkout_path, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone --separate-git-dir=/tmp/test_git_submodule_compatibilitys2djg9q8/parent/.git/modules/mymodules/myname -v /tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_git_submodule_compatibilitys2djg9q8/parent/submodules/intermediate/one
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' does not exist
'

======================================================================
ERROR: test_git_submodules_and_add_sm_with_new_commit (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_submodule.py", line 677, in test_git_submodules_and_add_sm_with_new_commit
    parent.git.submodule('add', self._small_repo_url(), 'module')
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git submodule add /tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap module
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' does not exist
fatal: clone of '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' into submodule path '/tmp/test_git_submodules_and_add_sm_with_new_committp4jpibt/parent/module' failed'

======================================================================
ERROR: test_remove_norefs (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_submodule.py", line 816, in test_remove_norefs
    sm = parent.create_submodule(sm_name, sm_name, url=self._small_repo_url())
  File "/tmp/GitPython/git/repo/base.py", line 332, in create_submodule
    return Submodule.add(self, *args, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 401, in add
    mrepo = cls._clone_repo(repo, url, path, name, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 261, in _clone_repo
    clone = git.Repo.clone_from(url, module_checkout_path, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone --separate-git-dir=/tmp/test_remove_norefsehfp1or0/parent/.git/modules/mymodules/myname -v /tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_remove_norefsehfp1or0/parent/mymodules/myname
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' does not exist
'

======================================================================
ERROR: test_rename (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_submodule.py", line 834, in test_rename
    sm = parent.create_submodule(sm_name, sm_name, url=self._small_repo_url())
  File "/tmp/GitPython/git/repo/base.py", line 332, in create_submodule
    return Submodule.add(self, *args, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 401, in add
    mrepo = cls._clone_repo(repo, url, path, name, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 261, in _clone_repo
    clone = git.Repo.clone_from(url, module_checkout_path, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone --separate-git-dir=/tmp/test_renamejlasfeno/parent/.git/modules/mymodules/myname -v /tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_renamejlasfeno/parent/mymodules/myname
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' does not exist
'

======================================================================
ERROR: test_references_and_objects (git.test.test_docs.Tutorials)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_docs.py", line 197, in test_references_and_objects
    repo = git.Repo.clone_from(self._small_repo_url(), osp.join(rw_dir, 'repo'), branch='master')
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone --branch=master -v /tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_references_and_objects6_2nei4y/repo
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' does not exist
'

======================================================================
ERROR: test_submodules (git.test.test_docs.Tutorials)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/test_docs.py", line 467, in test_submodules
    self.assertEqual(sm.children()[0].name, 'smmap')           # ... which has smmap as single submodule
IndexError: list index out of range

======================================================================
ERROR: test_base (git.test.test_remote.TestRemote)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 298, in remote_repo_creator
    return func(self, rw_repo, rw_daemon_repo)
  File "/tmp/GitPython/git/test/test_remote.py", line 456, in test_base
    self._assert_push_and_pull(remote, rw_repo, remote_repo)
  File "/tmp/GitPython/git/test/test_remote.py", line 351, in _assert_push_and_pull
    res = remote.push(progress=progress, tags=True)
  File "/tmp/GitPython/git/remote.py", line 833, in push
    return self._get_push_info(proc, progress)
  File "/tmp/GitPython/git/remote.py", line 719, in _get_push_info
    proc.wait(stderr=stderr_text)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(-13)
  cmdline: /usr/pkg/bin/git push --porcelain --progress --tags daemon_origin

======================================================================
ERROR: test_rev_parse (git.test.test_repo.TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/repo/fun.py", line 261, in rev_parse
    entry = ref.log_entry(revlog_index)
  File "/tmp/GitPython/git/refs/symbolic.py", line 403, in log_entry
    return RefLog.entry_at(RefLog.path(self), index)
  File "/tmp/GitPython/git/refs/log.py", line 222, in entry_at
    return RefLogEntry.from_line(fp.readlines()[index].strip())
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/GitPython/git/test/test_repo.py", line 768, in test_rev_parse
    assert rev_parse('@{1}') != head.commit
  File "/tmp/GitPython/git/repo/fun.py", line 263, in rev_parse
    raise IndexError("Invalid revlog index: %i" % revlog_index)
IndexError: Invalid revlog index: -2

======================================================================
ERROR: test_submodule_update (git.test.test_repo.TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 141, in repo_creator
    return func(self, rw_repo)
  File "/tmp/GitPython/git/test/test_repo.py", line 792, in test_submodule_update
    sm = rwrepo.create_submodule("my_new_sub", "some_path", join_path_native(self.rorepo.working_tree_dir, sm.path))
  File "/tmp/GitPython/git/repo/base.py", line 332, in create_submodule
    return Submodule.add(self, *args, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 401, in add
    mrepo = cls._clone_repo(repo, url, path, name, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 261, in _clone_repo
    clone = git.Repo.clone_from(url, module_checkout_path, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone --separate-git-dir=/tmp/non_bare_test_submodule_update1wh70vml/.git/modules/my_new_sub -v /tmp/GitPython/git/ext/gitdb /tmp/non_bare_test_submodule_update1wh70vml/some_path
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb' does not exist
'

======================================================================
ERROR: test_base_rw (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/objects/submodule/base.py", line 1040, in module
    repo = git.Repo(module_checkout_abspath)
  File "/tmp/GitPython/git/repo/base.py", line 167, in __init__
    raise InvalidGitRepositoryError(epath)
git.exc.InvalidGitRepositoryError: /tmp/non_bare_test_base_rwvi9dj98z/git/ext/gitdb

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/GitPython/git/objects/submodule/base.py", line 482, in update
    mrepo = self.module()
  File "/tmp/GitPython/git/util.py", line 75, in wrapper
    return func(self, *args, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 1045, in module
    raise InvalidGitRepositoryError("No valid repository at %s" % module_checkout_abspath)
git.exc.InvalidGitRepositoryError: No valid repository at /tmp/non_bare_test_base_rwvi9dj98z/git/ext/gitdb

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 141, in repo_creator
    return func(self, rw_repo)
  File "/tmp/GitPython/git/test/test_submodule.py", line 419, in test_base_rw
    self._do_base_tests(rwrepo)
  File "/tmp/GitPython/git/test/test_submodule.py", line 174, in _do_base_tests
    assert sm.update() is sm
  File "/tmp/GitPython/git/objects/submodule/base.py", line 524, in update
    mrepo = self._clone_repo(self.repo, self.url, self.path, self.name, n=True)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 261, in _clone_repo
    clone = git.Repo.clone_from(url, module_checkout_path, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone -n --separate-git-dir=/tmp/non_bare_test_base_rwvi9dj98z/.git/modules/gitdb -v /tmp/GitPython/git/ext/gitdb /tmp/non_bare_test_base_rwvi9dj98z/git/ext/gitdb
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb' does not exist
'

======================================================================
ERROR: test_branch_renames (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_submodule.py", line 858, in test_branch_renames
    sm_source_repo = git.Repo.clone_from(source_url, osp.join(rw_dir, 'sm-source'), b='master')
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone -b master -v /tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_branch_renameso41zmlu1/sm-source
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' does not exist
'

======================================================================
ERROR: test_git_submodule_compatibility (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_submodule.py", line 741, in test_git_submodule_compatibility
    sm = parent.create_submodule('mymodules/myname', sm_path, url=self._small_repo_url())
  File "/tmp/GitPython/git/repo/base.py", line 332, in create_submodule
    return Submodule.add(self, *args, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 401, in add
    mrepo = cls._clone_repo(repo, url, path, name, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 261, in _clone_repo
    clone = git.Repo.clone_from(url, module_checkout_path, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone --separate-git-dir=/tmp/test_git_submodule_compatibilityjzmtrtp0/parent/.git/modules/mymodules/myname -v /tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_git_submodule_compatibilityjzmtrtp0/parent/submodules/intermediate/one
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' does not exist
'

======================================================================
ERROR: test_git_submodules_and_add_sm_with_new_commit (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_submodule.py", line 677, in test_git_submodules_and_add_sm_with_new_commit
    parent.git.submodule('add', self._small_repo_url(), 'module')
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git submodule add /tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap module
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' does not exist
fatal: clone of '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' into submodule path '/tmp/test_git_submodules_and_add_sm_with_new_committ1tku5o7/parent/module' failed'

======================================================================
ERROR: test_remove_norefs (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_submodule.py", line 816, in test_remove_norefs
    sm = parent.create_submodule(sm_name, sm_name, url=self._small_repo_url())
  File "/tmp/GitPython/git/repo/base.py", line 332, in create_submodule
    return Submodule.add(self, *args, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 401, in add
    mrepo = cls._clone_repo(repo, url, path, name, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 261, in _clone_repo
    clone = git.Repo.clone_from(url, module_checkout_path, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone --separate-git-dir=/tmp/test_remove_norefs6aon4i41/parent/.git/modules/mymodules/myname -v /tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_remove_norefs6aon4i41/parent/mymodules/myname
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' does not exist
'

======================================================================
ERROR: test_rename (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_submodule.py", line 834, in test_rename
    sm = parent.create_submodule(sm_name, sm_name, url=self._small_repo_url())
  File "/tmp/GitPython/git/repo/base.py", line 332, in create_submodule
    return Submodule.add(self, *args, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 401, in add
    mrepo = cls._clone_repo(repo, url, path, name, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 261, in _clone_repo
    clone = git.Repo.clone_from(url, module_checkout_path, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone --separate-git-dir=/tmp/test_rename9plmxl94/parent/.git/modules/mymodules/myname -v /tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_rename9plmxl94/parent/mymodules/myname
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' does not exist
'

======================================================================
ERROR: test_references_and_objects (git.test.test_docs.Tutorials)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_docs.py", line 197, in test_references_and_objects
    repo = git.Repo.clone_from(self._small_repo_url(), osp.join(rw_dir, 'repo'), branch='master')
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone --branch=master -v /tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_references_and_objects9uvcn1ur/repo
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' does not exist
'

======================================================================
ERROR: test_submodules (git.test.test_docs.Tutorials)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/test_docs.py", line 467, in test_submodules
    self.assertEqual(sm.children()[0].name, 'smmap')           # ... which has smmap as single submodule
IndexError: list index out of range

======================================================================
ERROR: test_rev_parse (git.test.test_repo.TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/repo/fun.py", line 261, in rev_parse
    entry = ref.log_entry(revlog_index)
  File "/tmp/GitPython/git/refs/symbolic.py", line 403, in log_entry
    return RefLog.entry_at(RefLog.path(self), index)
  File "/tmp/GitPython/git/refs/log.py", line 222, in entry_at
    return RefLogEntry.from_line(fp.readlines()[index].strip())
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/GitPython/git/test/test_repo.py", line 768, in test_rev_parse
    assert rev_parse('@{1}') != head.commit
  File "/tmp/GitPython/git/repo/fun.py", line 263, in rev_parse
    raise IndexError("Invalid revlog index: %i" % revlog_index)
IndexError: Invalid revlog index: -2

======================================================================
ERROR: test_submodule_update (git.test.test_repo.TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 141, in repo_creator
    return func(self, rw_repo)
  File "/tmp/GitPython/git/test/test_repo.py", line 792, in test_submodule_update
    sm = rwrepo.create_submodule("my_new_sub", "some_path", join_path_native(self.rorepo.working_tree_dir, sm.path))
  File "/tmp/GitPython/git/repo/base.py", line 332, in create_submodule
    return Submodule.add(self, *args, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 401, in add
    mrepo = cls._clone_repo(repo, url, path, name, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 261, in _clone_repo
    clone = git.Repo.clone_from(url, module_checkout_path, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone --separate-git-dir=/tmp/non_bare_test_submodule_updateynwg22ql/.git/modules/my_new_sub -v /tmp/GitPython/git/ext/gitdb /tmp/non_bare_test_submodule_updateynwg22ql/some_path
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb' does not exist
'

======================================================================
ERROR: test_base_rw (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/objects/submodule/base.py", line 1040, in module
    repo = git.Repo(module_checkout_abspath)
  File "/tmp/GitPython/git/repo/base.py", line 167, in __init__
    raise InvalidGitRepositoryError(epath)
git.exc.InvalidGitRepositoryError: /tmp/non_bare_test_base_rwx9qm38gx/git/ext/gitdb

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/GitPython/git/objects/submodule/base.py", line 482, in update
    mrepo = self.module()
  File "/tmp/GitPython/git/util.py", line 75, in wrapper
    return func(self, *args, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 1045, in module
    raise InvalidGitRepositoryError("No valid repository at %s" % module_checkout_abspath)
git.exc.InvalidGitRepositoryError: No valid repository at /tmp/non_bare_test_base_rwx9qm38gx/git/ext/gitdb

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 141, in repo_creator
    return func(self, rw_repo)
  File "/tmp/GitPython/git/test/test_submodule.py", line 419, in test_base_rw
    self._do_base_tests(rwrepo)
  File "/tmp/GitPython/git/test/test_submodule.py", line 174, in _do_base_tests
    assert sm.update() is sm
  File "/tmp/GitPython/git/objects/submodule/base.py", line 524, in update
    mrepo = self._clone_repo(self.repo, self.url, self.path, self.name, n=True)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 261, in _clone_repo
    clone = git.Repo.clone_from(url, module_checkout_path, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone -n --separate-git-dir=/tmp/non_bare_test_base_rwx9qm38gx/.git/modules/gitdb -v /tmp/GitPython/git/ext/gitdb /tmp/non_bare_test_base_rwx9qm38gx/git/ext/gitdb
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb' does not exist
'

======================================================================
ERROR: test_branch_renames (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_submodule.py", line 858, in test_branch_renames
    sm_source_repo = git.Repo.clone_from(source_url, osp.join(rw_dir, 'sm-source'), b='master')
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone -b master -v /tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_branch_renamesrxi_m8qa/sm-source
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' does not exist
'

======================================================================
ERROR: test_git_submodule_compatibility (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_submodule.py", line 741, in test_git_submodule_compatibility
    sm = parent.create_submodule('mymodules/myname', sm_path, url=self._small_repo_url())
  File "/tmp/GitPython/git/repo/base.py", line 332, in create_submodule
    return Submodule.add(self, *args, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 401, in add
    mrepo = cls._clone_repo(repo, url, path, name, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 261, in _clone_repo
    clone = git.Repo.clone_from(url, module_checkout_path, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone --separate-git-dir=/tmp/test_git_submodule_compatibilityh2l58736/parent/.git/modules/mymodules/myname -v /tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_git_submodule_compatibilityh2l58736/parent/submodules/intermediate/one
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' does not exist
'

======================================================================
ERROR: test_git_submodules_and_add_sm_with_new_commit (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_submodule.py", line 677, in test_git_submodules_and_add_sm_with_new_commit
    parent.git.submodule('add', self._small_repo_url(), 'module')
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git submodule add /tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap module
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' does not exist
fatal: clone of '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' into submodule path '/tmp/test_git_submodules_and_add_sm_with_new_commitr8txmxpx/parent/module' failed'

======================================================================
ERROR: test_remove_norefs (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_submodule.py", line 816, in test_remove_norefs
    sm = parent.create_submodule(sm_name, sm_name, url=self._small_repo_url())
  File "/tmp/GitPython/git/repo/base.py", line 332, in create_submodule
    return Submodule.add(self, *args, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 401, in add
    mrepo = cls._clone_repo(repo, url, path, name, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 261, in _clone_repo
    clone = git.Repo.clone_from(url, module_checkout_path, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone --separate-git-dir=/tmp/test_remove_norefscrq8ejx6/parent/.git/modules/mymodules/myname -v /tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_remove_norefscrq8ejx6/parent/mymodules/myname
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' does not exist
'

======================================================================
ERROR: test_rename (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_submodule.py", line 834, in test_rename
    sm = parent.create_submodule(sm_name, sm_name, url=self._small_repo_url())
  File "/tmp/GitPython/git/repo/base.py", line 332, in create_submodule
    return Submodule.add(self, *args, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 401, in add
    mrepo = cls._clone_repo(repo, url, path, name, **kwargs)
  File "/tmp/GitPython/git/objects/submodule/base.py", line 261, in _clone_repo
    clone = git.Repo.clone_from(url, module_checkout_path, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 972, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, **kwargs)
  File "/tmp/GitPython/git/repo/base.py", line 927, in _clone
    finalize_process(proc, stderr=stderr)
  File "/tmp/GitPython/git/util.py", line 341, in finalize_process
    proc.wait(**kwargs)
  File "/tmp/GitPython/git/cmd.py", line 418, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git clone --separate-git-dir=/tmp/test_rename96k4_xoi/parent/.git/modules/mymodules/myname -v /tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap /tmp/test_rename96k4_xoi/parent/mymodules/myname
  stderr: 'fatal: repository '/tmp/GitPython/git/ext/gitdb/gitdb/ext/smmap' does not exist
'

======================================================================
FAIL: test_submodules (git.test.test_repo.TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/test_repo.py", line 778, in test_submodules
    self.assertGreaterEqual(len(list(self.rorepo.iter_submodules())), 2)
AssertionError: 1 not greater than or equal to 2

======================================================================
FAIL: test_root_module (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 141, in repo_creator
    return func(self, rw_repo)
  File "/tmp/GitPython/git/test/test_submodule.py", line 452, in test_root_module
    assert len(rsmsp) >= 2          # gitdb and async [and smmap], async being a child of gitdb
AssertionError

======================================================================
FAIL: test_call_process_calls_execute (git.test.test_git.TestGit)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/pkg/lib/python3.6/unittest/mock.py", line 1179, in patched
    return func(*args, **keywargs)
  File "/tmp/GitPython/git/test/test_git.py", line 57, in test_call_process_calls_execute
    assert_equal(git.call_args, ((['git', 'version'],), {}))
AssertionError: call(['/usr/pkg/bin/git', 'version']) != ((['git', 'version'],), {})

======================================================================
FAIL: test_submodules (git.test.test_repo.TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/test_repo.py", line 778, in test_submodules
    self.assertGreaterEqual(len(list(self.rorepo.iter_submodules())), 2)
AssertionError: 1 not greater than or equal to 2

======================================================================
FAIL: test_root_module (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 141, in repo_creator
    return func(self, rw_repo)
  File "/tmp/GitPython/git/test/test_submodule.py", line 452, in test_root_module
    assert len(rsmsp) >= 2          # gitdb and async [and smmap], async being a child of gitdb
AssertionError

======================================================================
FAIL: test_call_process_calls_execute (git.test.test_git.TestGit)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/pkg/lib/python3.6/unittest/mock.py", line 1179, in patched
    return func(*args, **keywargs)
  File "/tmp/GitPython/git/test/test_git.py", line 57, in test_call_process_calls_execute
    assert_equal(git.call_args, ((['git', 'version'],), {}))
AssertionError: call(['/usr/pkg/bin/git', 'version']) != ((['git', 'version'],), {})

======================================================================
FAIL: test_submodules (git.test.test_repo.TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/test_repo.py", line 778, in test_submodules
    self.assertGreaterEqual(len(list(self.rorepo.iter_submodules())), 2)
AssertionError: 1 not greater than or equal to 2

======================================================================
FAIL: test_root_module (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 141, in repo_creator
    return func(self, rw_repo)
  File "/tmp/GitPython/git/test/test_submodule.py", line 452, in test_root_module
    assert len(rsmsp) >= 2          # gitdb and async [and smmap], async being a child of gitdb
AssertionError

----------------------------------------------------------------------
Ran 1101 tests in 260.788s

FAILED (failures=8, errors=31, skipped=117)
@Byron
Copy link
Member

Byron commented Sep 29, 2017

Related to #673 .

I presume this worked before?

@0-wiz-0
Copy link
Author

0-wiz-0 commented Sep 29, 2017

I hadn't run the self-tests for GitPython before, no. Is there any additional information I can provide to help you in debugging this?

@Byron
Copy link
Member

Byron commented Sep 30, 2017

I think for the person tempted to pick it up it would be great to know your motivation. Right now, this issue describes something that is not working, but one might wonder which problem this causes, and the benefit a fix would provide.

@0-wiz-0
Copy link
Author

0-wiz-0 commented Sep 30, 2017

Sure, that is a valid question.
I'm packaging for pkgsrc, and when I package something, I try to run its self-tests and report problems upstream. I have no idea if your test suite only flags interesting problems.
I have no particular interest in GitPython, but I'm interested in gitless and that depends on it.

@Byron
Copy link
Member

Byron commented Sep 30, 2017

Does it work for you if you do this instead?

cd /tmp
git clone [email protected]:gitpython-developers/GitPython.git
# +++++++
git submodule update --init --recursive
# +++++++
cd GitPython
python3.6 setup.py build
python3.6 setup.py test

@0-wiz-0
Copy link
Author

0-wiz-0 commented Oct 2, 2017

I had to switch the order around, the cd GitPython needs to be before the git submodule. Then I see:


======================================================================
ERROR: test_diff_with_staged_file (git.test.test_diff.TestDiff)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_diff.py", line 59, in test_diff_with_staged_file
    r.git.commit(message="init")
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
  cmdline: git commit --message=init
  stderr: '
*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed'

======================================================================
ERROR: test_init_repo_object (git.test.test_docs.Tutorials)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_docs.py", line 98, in test_init_repo_object
    message="This is a tag-object pointing to %s" % new_branch.name)
  File "/tmp/GitPython/git/repo/base.py", line 377, in create_tag
    return TagReference.create(self, path, ref, message, force, **kwargs)
  File "/tmp/GitPython/git/refs/tag.py", line 83, in create
    repo.git.tag(*args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
  cmdline: git tag -m This is a tag-object pointing to feature past feature
  stderr: '
*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed'

======================================================================
ERROR: test_references_and_objects (git.test.test_docs.Tutorials)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_docs.py", line 234, in test_references_and_objects
    new_tag = repo.create_tag('my_new_tag', message='my message')
  File "/tmp/GitPython/git/repo/base.py", line 377, in create_tag
    return TagReference.create(self, path, ref, message, force, **kwargs)
  File "/tmp/GitPython/git/refs/tag.py", line 83, in create
    repo.git.tag(*args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
  cmdline: git tag -m my message my_new_tag HEAD
  stderr: '
*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed'

======================================================================
ERROR: test_head_reset (git.test.test_refs.TestRefs)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 141, in repo_creator
    return func(self, rw_repo)
  File "/tmp/GitPython/git/test/test_refs.py", line 307, in test_head_reset
    obj_tag = TagReference.create(rw_repo, other_tag_name, message=msg)
  File "/tmp/GitPython/git/refs/tag.py", line 83, in create
    repo.git.tag(*args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git tag -m my mighty tag
second line releases/1.0.2RC HEAD
  stderr: '
*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed'

======================================================================
ERROR: test_base (git.test.test_remote.TestRemote)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 298, in remote_repo_creator
    return func(self, rw_repo, rw_daemon_repo)
  File "/tmp/GitPython/git/test/test_remote.py", line 456, in test_base
    self._assert_push_and_pull(remote, rw_repo, remote_repo)
  File "/tmp/GitPython/git/test/test_remote.py", line 350, in _assert_push_and_pull
    other_tag = TagReference.create(rw_repo, "my_obj_tag.2.1aRV", message="my message")
  File "/tmp/GitPython/git/refs/tag.py", line 83, in create
    repo.git.tag(*args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git tag -m my message my_obj_tag.2.1aRV HEAD
  stderr: '
*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed'

======================================================================
ERROR: test_rev_parse (git.test.test_repo.TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/repo/fun.py", line 261, in rev_parse
    entry = ref.log_entry(revlog_index)
  File "/tmp/GitPython/git/refs/symbolic.py", line 403, in log_entry
    return RefLog.entry_at(RefLog.path(self), index)
  File "/tmp/GitPython/git/refs/log.py", line 222, in entry_at
    return RefLogEntry.from_line(fp.readlines()[index].strip())
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/GitPython/git/test/test_repo.py", line 777, in test_rev_parse
    assert rev_parse('@{1}') != head.commit
  File "/tmp/GitPython/git/repo/fun.py", line 263, in rev_parse
    raise IndexError("Invalid revlog index: %i" % revlog_index)
IndexError: Invalid revlog index: -2

======================================================================
ERROR: test_git_submodules_and_add_sm_with_new_commit (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_submodule.py", line 710, in test_git_submodules_and_add_sm_with_new_commit
    smm.git.commit(m="new file added")
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git commit -m new file added
  stderr: '
*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed'

======================================================================
ERROR: test_diff_with_staged_file (git.test.test_diff.TestDiff)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_diff.py", line 59, in test_diff_with_staged_file
    r.git.commit(message="init")
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git commit --message=init
  stderr: '
*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed'

======================================================================
ERROR: test_init_repo_object (git.test.test_docs.Tutorials)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_docs.py", line 98, in test_init_repo_object
    message="This is a tag-object pointing to %s" % new_branch.name)
  File "/tmp/GitPython/git/repo/base.py", line 377, in create_tag
    return TagReference.create(self, path, ref, message, force, **kwargs)
  File "/tmp/GitPython/git/refs/tag.py", line 83, in create
    repo.git.tag(*args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git tag -m This is a tag-object pointing to feature past feature
  stderr: '
*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed'

======================================================================
ERROR: test_references_and_objects (git.test.test_docs.Tutorials)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_docs.py", line 234, in test_references_and_objects
    new_tag = repo.create_tag('my_new_tag', message='my message')
  File "/tmp/GitPython/git/repo/base.py", line 377, in create_tag
    return TagReference.create(self, path, ref, message, force, **kwargs)
  File "/tmp/GitPython/git/refs/tag.py", line 83, in create
    repo.git.tag(*args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git tag -m my message my_new_tag HEAD
  stderr: '
*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed'

======================================================================
ERROR: test_head_reset (git.test.test_refs.TestRefs)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 141, in repo_creator
    return func(self, rw_repo)
  File "/tmp/GitPython/git/test/test_refs.py", line 307, in test_head_reset
    obj_tag = TagReference.create(rw_repo, other_tag_name, message=msg)
  File "/tmp/GitPython/git/refs/tag.py", line 83, in create
    repo.git.tag(*args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git tag -m my mighty tag
second line releases/1.0.2RC HEAD
  stderr: '
*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed'

======================================================================
ERROR: test_base (git.test.test_remote.TestRemote)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 298, in remote_repo_creator
    return func(self, rw_repo, rw_daemon_repo)
  File "/tmp/GitPython/git/test/test_remote.py", line 456, in test_base
    self._assert_push_and_pull(remote, rw_repo, remote_repo)
  File "/tmp/GitPython/git/test/test_remote.py", line 350, in _assert_push_and_pull
    other_tag = TagReference.create(rw_repo, "my_obj_tag.2.1aRV", message="my message")
  File "/tmp/GitPython/git/refs/tag.py", line 83, in create
    repo.git.tag(*args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git tag -m my message my_obj_tag.2.1aRV HEAD
  stderr: '
*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed'

======================================================================
ERROR: test_rev_parse (git.test.test_repo.TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/repo/fun.py", line 261, in rev_parse
    entry = ref.log_entry(revlog_index)
  File "/tmp/GitPython/git/refs/symbolic.py", line 403, in log_entry
    return RefLog.entry_at(RefLog.path(self), index)
  File "/tmp/GitPython/git/refs/log.py", line 222, in entry_at
    return RefLogEntry.from_line(fp.readlines()[index].strip())
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/GitPython/git/test/test_repo.py", line 777, in test_rev_parse
    assert rev_parse('@{1}') != head.commit
  File "/tmp/GitPython/git/repo/fun.py", line 263, in rev_parse
    raise IndexError("Invalid revlog index: %i" % revlog_index)
IndexError: Invalid revlog index: -2

======================================================================
ERROR: test_git_submodules_and_add_sm_with_new_commit (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_submodule.py", line 710, in test_git_submodules_and_add_sm_with_new_commit
    smm.git.commit(m="new file added")
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git commit -m new file added
  stderr: '
*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed'

======================================================================
ERROR: test_diff_with_staged_file (git.test.test_diff.TestDiff)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_diff.py", line 59, in test_diff_with_staged_file
    r.git.commit(message="init")
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git commit --message=init
  stderr: '
*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed'

======================================================================
ERROR: test_init_repo_object (git.test.test_docs.Tutorials)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_docs.py", line 98, in test_init_repo_object
    message="This is a tag-object pointing to %s" % new_branch.name)
  File "/tmp/GitPython/git/repo/base.py", line 377, in create_tag
    return TagReference.create(self, path, ref, message, force, **kwargs)
  File "/tmp/GitPython/git/refs/tag.py", line 83, in create
    repo.git.tag(*args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git tag -m This is a tag-object pointing to feature past feature
  stderr: '
*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed'

======================================================================
ERROR: test_references_and_objects (git.test.test_docs.Tutorials)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_docs.py", line 234, in test_references_and_objects
    new_tag = repo.create_tag('my_new_tag', message='my message')
  File "/tmp/GitPython/git/repo/base.py", line 377, in create_tag
    return TagReference.create(self, path, ref, message, force, **kwargs)
  File "/tmp/GitPython/git/refs/tag.py", line 83, in create
    repo.git.tag(*args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git tag -m my message my_new_tag HEAD
  stderr: '
*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed'

======================================================================
ERROR: test_head_reset (git.test.test_refs.TestRefs)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 141, in repo_creator
    return func(self, rw_repo)
  File "/tmp/GitPython/git/test/test_refs.py", line 307, in test_head_reset
    obj_tag = TagReference.create(rw_repo, other_tag_name, message=msg)
  File "/tmp/GitPython/git/refs/tag.py", line 83, in create
    repo.git.tag(*args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git tag -m my mighty tag
second line releases/1.0.2RC HEAD
  stderr: '
*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed'

======================================================================
ERROR: test_base (git.test.test_remote.TestRemote)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 298, in remote_repo_creator
    return func(self, rw_repo, rw_daemon_repo)
  File "/tmp/GitPython/git/test/test_remote.py", line 456, in test_base
    self._assert_push_and_pull(remote, rw_repo, remote_repo)
  File "/tmp/GitPython/git/test/test_remote.py", line 350, in _assert_push_and_pull
    other_tag = TagReference.create(rw_repo, "my_obj_tag.2.1aRV", message="my message")
  File "/tmp/GitPython/git/refs/tag.py", line 83, in create
    repo.git.tag(*args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git tag -m my message my_obj_tag.2.1aRV HEAD
  stderr: '
*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed'

======================================================================
ERROR: test_rev_parse (git.test.test_repo.TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/repo/fun.py", line 261, in rev_parse
    entry = ref.log_entry(revlog_index)
  File "/tmp/GitPython/git/refs/symbolic.py", line 403, in log_entry
    return RefLog.entry_at(RefLog.path(self), index)
  File "/tmp/GitPython/git/refs/log.py", line 222, in entry_at
    return RefLogEntry.from_line(fp.readlines()[index].strip())
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/GitPython/git/test/test_repo.py", line 777, in test_rev_parse
    assert rev_parse('@{1}') != head.commit
  File "/tmp/GitPython/git/repo/fun.py", line 263, in rev_parse
    raise IndexError("Invalid revlog index: %i" % revlog_index)
IndexError: Invalid revlog index: -2

======================================================================
ERROR: test_git_submodules_and_add_sm_with_new_commit (git.test.test_submodule.TestSubmodule)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/test/lib/helper.py", line 92, in wrapper
    return func(self, path)
  File "/tmp/GitPython/git/test/test_submodule.py", line 710, in test_git_submodules_and_add_sm_with_new_commit
    smm.git.commit(m="new file added")
  File "/tmp/GitPython/git/cmd.py", line 551, in <lambda>
    return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
  File "/tmp/GitPython/git/cmd.py", line 1010, in _call_process
    return self.execute(call, **exec_kwargs)
  File "/tmp/GitPython/git/cmd.py", line 821, in execute
    raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('/usr/pkg/bin/git') failed due to: exit code(128)
  cmdline: /usr/pkg/bin/git commit -m new file added
  stderr: '
*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <[email protected]>) not allowed'

======================================================================
FAIL: test_call_process_calls_execute (git.test.test_git.TestGit)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/pkg/lib/python3.6/unittest/mock.py", line 1179, in patched
    return func(*args, **keywargs)
  File "/tmp/GitPython/git/test/test_git.py", line 57, in test_call_process_calls_execute
    assert_equal(git.call_args, ((['git', 'version'],), {}))
AssertionError: call(['/usr/pkg/bin/git', 'version']) != ((['git', 'version'],), {})

======================================================================
FAIL: test_call_process_calls_execute (git.test.test_git.TestGit)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/pkg/lib/python3.6/unittest/mock.py", line 1179, in patched
    return func(*args, **keywargs)
  File "/tmp/GitPython/git/test/test_git.py", line 57, in test_call_process_calls_execute
    assert_equal(git.call_args, ((['git', 'version'],), {}))
AssertionError: call(['/usr/pkg/bin/git', 'version']) != ((['git', 'version'],), {})

----------------------------------------------------------------------
Ran 1104 tests in 255.357s

FAILED (failures=2, errors=21, skipped=117)
Test failed: <unittest.runner.TextTestResult run=1104 errors=21 failures=2>
error: Test failed: <unittest.runner.TextTestResult run=1104 errors=21 failures=2>

So the tests assume that the user under which the tests run has git
configure with his name and email. Would be nice to not assume that.
(I'm testing with a throwaway-user in a sandbox.)

When I configure name and email, I get:

======================================================================
ERROR: test_rev_parse (git.test.test_repo.TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/repo/fun.py", line 261, in rev_parse
    entry = ref.log_entry(revlog_index)
  File "/tmp/GitPython/git/refs/symbolic.py", line 403, in log_entry
    return RefLog.entry_at(RefLog.path(self), index)
  File "/tmp/GitPython/git/refs/log.py", line 222, in entry_at
    return RefLogEntry.from_line(fp.readlines()[index].strip())
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/GitPython/git/test/test_repo.py", line 777, in test_rev_parse
    assert rev_parse('@{1}') != head.commit
  File "/tmp/GitPython/git/repo/fun.py", line 263, in rev_parse
    raise IndexError("Invalid revlog index: %i" % revlog_index)
IndexError: Invalid revlog index: -2

======================================================================
ERROR: test_rev_parse (git.test.test_repo.TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/repo/fun.py", line 261, in rev_parse
    entry = ref.log_entry(revlog_index)
  File "/tmp/GitPython/git/refs/symbolic.py", line 403, in log_entry
    return RefLog.entry_at(RefLog.path(self), index)
  File "/tmp/GitPython/git/refs/log.py", line 222, in entry_at
    return RefLogEntry.from_line(fp.readlines()[index].strip())
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/GitPython/git/test/test_repo.py", line 777, in test_rev_parse
    assert rev_parse('@{1}') != head.commit
  File "/tmp/GitPython/git/repo/fun.py", line 263, in rev_parse
    raise IndexError("Invalid revlog index: %i" % revlog_index)
IndexError: Invalid revlog index: -2

======================================================================
ERROR: test_rev_parse (git.test.test_repo.TestRepo)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/GitPython/git/repo/fun.py", line 261, in rev_parse
    entry = ref.log_entry(revlog_index)
  File "/tmp/GitPython/git/refs/symbolic.py", line 403, in log_entry
    return RefLog.entry_at(RefLog.path(self), index)
  File "/tmp/GitPython/git/refs/log.py", line 222, in entry_at
    return RefLogEntry.from_line(fp.readlines()[index].strip())
IndexError: list index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/tmp/GitPython/git/test/test_repo.py", line 777, in test_rev_parse
    assert rev_parse('@{1}') != head.commit
  File "/tmp/GitPython/git/repo/fun.py", line 263, in rev_parse
    raise IndexError("Invalid revlog index: %i" % revlog_index)
IndexError: Invalid revlog index: -2

======================================================================
FAIL: test_call_process_calls_execute (git.test.test_git.TestGit)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/pkg/lib/python3.6/unittest/mock.py", line 1179, in patched
    return func(*args, **keywargs)
  File "/tmp/GitPython/git/test/test_git.py", line 57, in test_call_process_calls_execute
    assert_equal(git.call_args, ((['git', 'version'],), {}))
AssertionError: call(['/usr/pkg/bin/git', 'version']) != ((['git', 'version'],), {})

======================================================================
FAIL: test_call_process_calls_execute (git.test.test_git.TestGit)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/pkg/lib/python3.6/unittest/mock.py", line 1179, in patched
    return func(*args, **keywargs)
  File "/tmp/GitPython/git/test/test_git.py", line 57, in test_call_process_calls_execute
    assert_equal(git.call_args, ((['git', 'version'],), {}))
AssertionError: call(['/usr/pkg/bin/git', 'version']) != ((['git', 'version'],), {})

----------------------------------------------------------------------
Ran 1104 tests in 288.151s

FAILED (failures=2, errors=3, skipped=117)

which looks quite respectable already :-)

@Byron
Copy link
Member

Byron commented Oct 4, 2017

I think it will get better once you have run this script. For reference - all things that have to be done to make it work are contained in the .travis.yml file.
After having done this, the rate of test-failures should go down considerably.

@0-wiz-0
Copy link
Author

0-wiz-0 commented Oct 6, 2017

Thanks for the pointer. I suggest documenting the necessary setup in a human-readable location, and perhaps providing a single script that does all the necessary changes. Right now it's hard to guess what is needed, even you needed multiple messages to describe all the necessary stuff.

@Byron
Copy link
Member

Byron commented Oct 7, 2017

I totally agree that it’s not so obvious what the test-suite expects and where to find it. On the other hand, looking at the CI system is always a good starting point.
Generally I prefer code that runs regularly over documentation, unless said documentation is providing just a high-level and unlikely-to-change overview. It would also have to be found and read, which is a problem on its own.

Do I assume correctly that this is working for you now? If so, you could close this issue and possibly provide a paragraph in the README file that would have helped you solve the problems you encountered.
What do you think about that?

@0-wiz-0
Copy link
Author

0-wiz-0 commented Nov 22, 2017

I think it would be sufficient to document the results of this issue in the CONTRIBUTING.md file.
At least something like:

For setting up the environment to run the self tests, look at `.travis.yml`.

It would help if the init* script could also do the git submodule step.

Other than that, I see

======================================================================
FAIL: test_call_process_calls_execute (git.test.test_git.TestGit)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/pkg/lib/python3.6/unittest/mock.py", line 1179, in patched
    return func(*args, **keywargs)
  File "/disk/6/archive/foreign/GitPython/git/test/test_git.py", line 57, in test_call_process_calls_execute
    assert_equal(git.call_args, ((['git', 'version'],), {}))
AssertionError: call(['/usr/pkg/bin/git', 'version']) != ((['git', 'version'],), {})

======================================================================
FAIL: test_call_process_calls_execute (git.test.test_git.TestGit)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/pkg/lib/python3.6/unittest/mock.py", line 1179, in patched
    return func(*args, **keywargs)
  File "/disk/6/archive/foreign/GitPython/git/test/test_git.py", line 57, in test_call_process_calls_execute
    assert_equal(git.call_args, ((['git', 'version'],), {}))
AssertionError: call(['/usr/pkg/bin/git', 'version']) != ((['git', 'version'],), {})

FAILED (failures=2, skipped=120)

which is good enough for me :)

(not sure what the problem is:

# git version
git version 2.15.0
# /usr/pkg/bin/git version
git version 2.15.0

)

@Byron
Copy link
Member

Byron commented Dec 11, 2017

@0-wiz-0 Thanks a lot! I think if you run nosetest -d it would print out the actual values used in the comparison. Probably there is an easy fix for that, after all, failing tests are always a problem.

Byron added a commit that referenced this issue Dec 11, 2017
@0-wiz-0
Copy link
Author

0-wiz-0 commented Dec 13, 2017

I tried again today and I couldn't reproduce it. I saw you updated the documentation, thank you!

@0-wiz-0 0-wiz-0 closed this as completed Dec 13, 2017
riley-martine pushed a commit to riley-martine/GitPython that referenced this issue Dec 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

2 participants