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 when analysing dependencies in a 'real' repository (MacOS) #97

Open
Napoleon-BlownApart opened this issue Jan 2, 2020 · 7 comments
Labels
bug need info Blocked awaiting information

Comments

@Napoleon-BlownApart
Copy link

[MacOS 10.14.5, Installed libgit2 using homebrew, and git-deps using pip3]

Nice idea, and the visualisation reduces the cognitive load associated with understanding the dependency graph.

However, whilst this tool works fine with an example similar to that in the video, I'm getting an error when running it against our real repository at Uni. The error messages below occur when accessing the same repository via the browser and using the CLI.) Any suggestions on how to fix this?

git deps --serve (GUI)

    Typed *master* into the textbox
    
    [2020-01-03 01:31:43,233] ERROR in app: Exception on /deps.json/master [GET]
    Traceback (most recent call last):
      File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2446, in wsgi_app
        response = self.full_dispatch_request()
      File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1951, in full_dispatch_request
        rv = self.handle_user_exception(e)
      File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1820, in handle_user_exception
        reraise(exc_type, exc_value, tb)
      File "/usr/local/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
        raise value
      File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1949, in full_dispatch_request
        rv = self.dispatch_request()
      File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1935, in dispatch_request
        return self.view_functions[rule.endpoint](**req.view_args)
      File "/usr/local/lib/python3.7/site-packages/git_deps/server.py", line 103, in deps
        detector.find_dependencies(rev)
      File "/usr/local/lib/python3.7/site-packages/git_deps/detector.py", line 122, in find_dependencies
        self.find_dependencies_with_parent(dependent, parent)
      File "/usr/local/lib/python3.7/site-packages/git_deps/detector.py", line 147, in find_dependencies_with_parent
        self.blame_hunk(dependent, parent, path, hunk)
      File "/usr/local/lib/python3.7/site-packages/git_deps/detector.py", line 161, in blame_hunk
        if not self.tree_lookup(path, parent):
      File "/usr/local/lib/python3.7/site-packages/git_deps/detector.py", line 311, in tree_lookup
        tree_or_blob = self.repo[tree_or_blob[dirent].oid]
    KeyError: 'object not found - no match for id (5668198989e66aa87478ba3c9f5102639485e3c2)'

git deps master (CLI)

    git deps master

    4aae9cc00dc260007f8f6d3af633639f99ced3b1 fec35b7eb51f6c644486e39feb02108d8bcd590a
    4aae9cc00dc260007f8f6d3af633639f99ced3b1 0244cbb301caa2f6df953f95a9b17f7da2c86140
    4aae9cc00dc260007f8f6d3af633639f99ced3b1 bcd7a130ca4cc736edd5e259629d8b13fd54110c
    4aae9cc00dc260007f8f6d3af633639f99ced3b1 9d03f8e726eb3e7537d14f65b6ce53b9a78a7ecc
    4aae9cc00dc260007f8f6d3af633639f99ced3b1 012e405173c2a12cb774662542dd9f0254197865
    4aae9cc00dc260007f8f6d3af633639f99ced3b1 d526b3d262036e6400070985932a537d71a2dfda
    4aae9cc00dc260007f8f6d3af633639f99ced3b1 ef5daeae0578a3af957e87a399aa3828200ef21a
    4aae9cc00dc260007f8f6d3af633639f99ced3b1 2506addacca283ef6db268f67772a93810452948
    Traceback (most recent call last):
      File "/usr/local/bin/git-deps", line 8, in <module>
        sys.exit(run())
      File "/usr/local/lib/python3.7/site-packages/git_deps/cli.py", line 141, in run
        main(sys.argv[1:])
      File "/usr/local/lib/python3.7/site-packages/git_deps/cli.py", line 135, in main
        cli(options, args)
      File "/usr/local/lib/python3.7/site-packages/git_deps/cli.py", line 119, in cli
        detector.find_dependencies(rev)
      File "/usr/local/lib/python3.7/site-packages/git_deps/detector.py", line 122, in find_dependencies
        self.find_dependencies_with_parent(dependent, parent)
      File "/usr/local/lib/python3.7/site-packages/git_deps/detector.py", line 147, in find_dependencies_with_parent
        self.blame_hunk(dependent, parent, path, hunk)
      File "/usr/local/lib/python3.7/site-packages/git_deps/detector.py", line 161, in blame_hunk
        if not self.tree_lookup(path, parent):
      File "/usr/local/lib/python3.7/site-packages/git_deps/detector.py", line 311, in tree_lookup
        tree_or_blob = self.repo[tree_or_blob[dirent].oid]
    KeyError: 'object not found - no match for id (5668198989e66aa87478ba3c9f5102639485e3c2)'
@aspiers
Copy link
Owner

aspiers commented Apr 4, 2021

Sorry for the very slow response. Any chance you could share the repo you used to reproduce this?

@aspiers aspiers added bug need info Blocked awaiting information labels Apr 4, 2021
@Napoleon-BlownApart
Copy link
Author

No problem. It's been so long that I need to refresh my memory of what this was about. It might take a couple weeks before I get a chance to dive into it, got a lot on right now, but I will come back to it.

@fuulish
Copy link

fuulish commented Sep 30, 2021

Not sure if it's the same cause, but the error is the same as in issue #107. Does the repo contain submodules by any chance?

@Napoleon-BlownApart
Copy link
Author

I tried it in a repo without submodules, and I'm getting the following message:

user@host:[21:44]$ git deps --serve
fatal: 'deps' appears to be a git command, but we were not
able to execute it. Maybe git-deps is broken?
~/Programming/LISP/config ((5e63142...)~*%)

I'm afraid it's been so long now that I can't even recall exactly how I installed etc.

@fuulish
Copy link

fuulish commented Oct 5, 2021

That does look an installation issue, agreed.
Even if you cannot reproduce the git-deps call, do you know what ID 5668198989e66aa87478ba3c9f5102639485e3c2 refers to in your above repo in terms of git objects?

@Napoleon-BlownApart
Copy link
Author

Napoleon-BlownApart commented Oct 6, 2021

going through my bash history, it appears that I tried to use the command on one of my repos. When it didn't work, I created a fresh repo and tried it there. I think that hash is from that repo, which I have since deleted.

When I use git deps master I get the following message:

fatal: 'deps' appears to be a git command, but we were not
able to execute it. Maybe git-deps is broken?

When I try using git-deps master:

-bash: /usr/local/bin/git-deps: /usr/local/opt/python/bin/python3.7: bad interpreter: No such file or directory

/usr/local/bin/git-deps has a shbang #!/usr/local/opt/python/bin/python3.7 but I don't a python version there.
I changed the shbang to point to a /usr/local/bin/python3 (which on my system is v3.9.6), and git-deps master now returns:

Traceback (most recent call last):
  File "/usr/local/bin/git-deps", line 6, in <module>
    from git_deps.cli import run
ModuleNotFoundError: No module named 'git_deps'

@fuulish
Copy link

fuulish commented Oct 20, 2021

Have you tried reinstalling git-deps? The mismatch you are seeing in the python version might mean that the git_deps module is installed in a (python-version-specific) path that is not used by your environment. I.e., if it's from a previous installation, the git_deps module might be installed in a python3.7- and not python3.9-specific path.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug need info Blocked awaiting information
Projects
None yet
Development

No branches or pull requests

3 participants