Skip to content
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

error on non-existent Git repository is very non-specific #645

Closed
dlenski opened this issue Jul 11, 2016 · 0 comments
Closed

error on non-existent Git repository is very non-specific #645

dlenski opened this issue Jul 11, 2016 · 0 comments

Comments

@dlenski
Copy link

dlenski commented Jul 11, 2016

When I try to open a Repository using a path that doesn't actually contain a Git repo, the error is a very non-specific KeyError:

>>> print(pygit2.__version__)
0.24.1
>>> os.mkdir('/tmp/foobarbaz')
>>> gitrepo=pygit2.Repository('/tmp/foobarbaz')
Traceback (most recent call last):

  File "<ipython-input-30-782283f588bb>", line 1, in <module>
    gitrepo=pygit2.Repository('/tmp/foobarbaz')

  File "/usr/local/lib/python2.7/dist-packages/pygit2/repository.py", line 64, in __init__
    super(Repository, self).__init__(path, *args, **kwargs)

KeyError: '/tmp/foobarbaz'

It would be helpful to replace this with a more specific GitError, so that the error from Git can be distinguished from a "normal" KeyError in a statement like this:

>>> repos = { "repo1":"/path/to/repo1", "repo2":"/path/to/repo2" }
>>> gitrepo = pygit2.Repository( repos["repo3"] )
tmr232 added a commit to tmr232/pygit2 that referenced this issue Apr 5, 2017
0-wiz-0 added a commit to NetBSD/pkgsrc-wip that referenced this issue Aug 14, 2017
0.26.0 (2017-07-06)
-------------------------

- Update to libgit2 v0.26
  `#713 <https://github.com/libgit2/pygit2/pull/713>`_

- Drop support for Python 3.2, add support for cffi 1.10
  `#706 <https://github.com/libgit2/pygit2/pull/706>`_
  `#694 <https://github.com/libgit2/pygit2/issues/694>`_

- New ``Repository.revert_commit(...)``
  `#711 <https://github.com/libgit2/pygit2/pull/711>`_
  `#710 <https://github.com/libgit2/pygit2/issues/710>`_

- New ``Branch.is_checked_out()``
  `#696 <https://github.com/libgit2/pygit2/pull/696>`_

- Various fixes
  `#706 <https://github.com/libgit2/pygit2/pull/706>`_
  `#707 <https://github.com/libgit2/pygit2/pull/707>`_
  `#708 <https://github.com/libgit2/pygit2/pull/708>`_

0.25.1 (2017-04-25)
-------------------------

- Add suport for Python 3.6

- New support for stash: repository methods ``stash``, ``stash_apply``,
  ``stash_drop`` and ``stash_pop``
  `#695 <https://github.com/libgit2/pygit2/pull/695>`_

- Improved support for submodules: new repository methods ``init_submodules``
  and ``update_submodules``
  `#692 <https://github.com/libgit2/pygit2/pull/692>`_

- New friendlier API for branches & references: ``Repository.branches`` and
  ``Repository.references``
  `#700 <https://github.com/libgit2/pygit2/pull/700>`_
  `#701 <https://github.com/libgit2/pygit2/pull/701>`_

- New support for custom backends
  `#690 <https://github.com/libgit2/pygit2/pull/690>`_

- Fix ``init_repository`` crash on None input
  `#688 <https://github.com/libgit2/pygit2/issues/688>`_
  `#697 <https://github.com/libgit2/pygit2/pull/697>`_

- Fix checkout with an orphan master branch
  `#669 <https://github.com/libgit2/pygit2/issues/669>`_
  `#685 <https://github.com/libgit2/pygit2/pull/685>`_

- Better error messages for opening repositories
  `#645 <https://github.com/libgit2/pygit2/issues/645>`_
  `#698 <https://github.com/libgit2/pygit2/pull/698>`_
white-gecko added a commit to AKSW/QuitStore that referenced this issue Jun 26, 2018
Now we also catch GitError as introduced in 0.25.1
See also: libgit2/pygit2#645 and libgit2/pygit2#698
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant