Description of problem: After updating to 0.16.1-0.3.20160108gite8214e6 the nautilus integration is broken. Version-Release number of selected component (if applicable): $rpm -qa rabbitvcs\* rabbitvcs-core-0.16.1-0.3.20160108gite8214e6.fc23.noarch rabbitvcs-nautilus-0.16.1-0.3.20160108gite8214e6.fc23.noarch How reproducible: allways Steps to Reproduce: 1. Update rabbitvcs to 0.16.1-0.3.20160108gite8214e6 2. Open nautilus and navigate to a git/hg/svn project-folder 3. Open the contextmenu of that folder Actual results: Context menu flickers and is missing rabbitvcs entries Expected results: Plugin should work as expected! Additional info:
I forgot python2-rabbitvcs-0.16.1-0.3.20160108gite8214e6.fc23.noarch is installed too
Hi Heiko, I can reproduce no context menu for RabbitVCS in Nautilus, but I get all the emblems on the folder and file icons for a git clone. Does it work for you with caja, nemo or thunar as alternatives? Did the context menu work with older rabbitvcs-nautilus? I could guess the flickering is related to the modifications done by modernize tool to be python3 compatible.
When running nautilus from terminal after updating the following error is thrown: ERROR rabbitvcs.vcs No module named Tkinter Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/rabbitvcs/vcs/__init__.py", line 124, in git from rabbitvcs.vcs.git import Git File "/usr/lib/python2.7/site-packages/rabbitvcs/vcs/git/__init__.py", line 31, in <module> from .gittyup.client import GittyupClient File "/usr/lib/python2.7/site-packages/rabbitvcs/vcs/git/gittyup/client.py", line 30, in <module> import six.moves.tkinter File "/usr/lib/python2.7/site-packages/six.py", line 199, in load_module mod = mod._resolve() File "/usr/lib/python2.7/site-packages/six.py", line 113, in _resolve return _import_module(self.mod) File "/usr/lib/python2.7/site-packages/six.py", line 80, in _import_module __import__(name) ImportError: No module named Tkinter Traceback (most recent call last): File "/usr/share/nautilus-python/extensions/RabbitVCS.py", line 280, in update_file_info is_in_a_or_a_working_copy = self.vcs_client.is_in_a_or_a_working_copy(path) File "/usr/lib/python2.7/site-packages/rabbitvcs/vcs/__init__.py", line 223, in is_in_a_or_a_working_copy client = self.client(path) File "/usr/lib/python2.7/site-packages/rabbitvcs/vcs/__init__.py", line 190, in client return self.git(guess["repo_path"], is_repo_path=False) File "/usr/lib/python2.7/site-packages/rabbitvcs/vcs/__init__.py", line 118, in git repo_path = git.find_repository_path(path) AttributeError: Dummy instance has no attribute 'find_repository_path' Traceback (most recent call last): File "/usr/share/nautilus-python/extensions/RabbitVCS.py", line 280, in update_file_info is_in_a_or_a_working_copy = self.vcs_client.is_in_a_or_a_working_copy(path) File "/usr/lib/python2.7/site-packages/rabbitvcs/vcs/__init__.py", line 223, in is_in_a_or_a_working_copy client = self.client(path) File "/usr/lib/python2.7/site-packages/rabbitvcs/vcs/__init__.py", line 190, in client return self.git(guess["repo_path"], is_repo_path=False) File "/usr/lib/python2.7/site-packages/rabbitvcs/vcs/__init__.py", line 118, in git repo_path = git.find_repository_path(path) AttributeError: Dummy instance has no attribute 'find_repository_path' Traceback (most recent call last): File "/usr/share/nautilus-python/extensions/RabbitVCS.py", line 280, in update_file_info is_in_a_or_a_working_copy = self.vcs_client.is_in_a_or_a_working_copy(path) File "/usr/lib/python2.7/site-packages/rabbitvcs/vcs/__init__.py", line 223, in is_in_a_or_a_working_copy client = self.client(path) File "/usr/lib/python2.7/site-packages/rabbitvcs/vcs/__init__.py", line 190, in client return self.git(guess["repo_path"], is_repo_path=False) File "/usr/lib/python2.7/site-packages/rabbitvcs/vcs/__init__.py", line 118, in git repo_path = git.find_repository_path(path) AttributeError: Dummy instance has no attribute 'find_repository_path' Traceback (most recent call last): File "/usr/share/nautilus-python/extensions/RabbitVCS.py", line 280, in update_file_info is_in_a_or_a_working_copy = self.vcs_client.is_in_a_or_a_working_copy(path) File "/usr/lib/python2.7/site-packages/rabbitvcs/vcs/__init__.py", line 223, in is_in_a_or_a_working_copy client = self.client(path) File "/usr/lib/python2.7/site-packages/rabbitvcs/vcs/__init__.py", line 190, in client return self.git(guess["repo_path"], is_repo_path=False) File "/usr/lib/python2.7/site-packages/rabbitvcs/vcs/__init__.py", line 118, in git repo_path = git.find_repository_path(path) AttributeError: Dummy instance has no attribute 'find_repository_path' Traceback (most recent call last): File "/usr/share/nautilus-python/extensions/RabbitVCS.py", line 280, in update_file_info is_in_a_or_a_working_copy = self.vcs_client.is_in_a_or_a_working_copy(path) File "/usr/lib/python2.7/site-packages/rabbitvcs/vcs/__init__.py", line 223, in is_in_a_or_a_working_copy client = self.client(path) File "/usr/lib/python2.7/site-packages/rabbitvcs/vcs/__init__.py", line 190, in client return self.git(guess["repo_path"], is_repo_path=False) File "/usr/lib/python2.7/site-packages/rabbitvcs/vcs/__init__.py", line 118, in git repo_path = git.find_repository_path(path) AttributeError: Dummy instance has no attribute 'find_repository_path'
Installing python-mtTkinter solves the first error ("No module named Tkinter")
Six provides simple utilities for wrapping over differences between Python 2 and Python 3. It is intended to support codebases that work on both Python 2 and 3 without modification. → That means a bug in this package, it should require python-mtTkinter. (In reply to Heiko Adams from comment #4) > Installing python-mtTkinter solves the first error ("No module named > Tkinter")
The nautilus plugin worked fine until updating to the git-snapshot. After installing python-mtTkinter there are still "AttributeError: Dummy instance has no attribute 'find_repository_path'" error messages, strange nautilus overlay icons (bomb) and no rabbitvcs-menuentries at all
Move this bug temporarily over to python-six to see what its maintainer says about the missing dependency to python-mtTkinter.
Could the package maintainer of python-six please give some feedback to comment #7? If you need a co-maintainer, I would be happy to help as such.
My POV is that this is not a bug in python-six. RabbitVCS itself depends on tkinter, it just imports it through python-six. IMO this should be fixed there. If python-six depended on tkinter, we would get tkinter pretty much everywhere, since dnf - or one of its dependencies - requires python-six. That would mean tkinter would get e.g. to Fedora Cloud and so on, where it would be completely useless. Does this make sense?
Okay, I'll add python-mtTkinter as a dependency to rabbitvcs. Thanks for the fast response!
rabbitvcs-0.16.1-0.4.20160108gite8214e6.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-cfd7d029d6
rabbitvcs-0.16.1-0.4.20160108gite8214e6.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2016-d22c19817e
Heiko, please retry with the latest update. I see now emblems on the icons in nautilus, as well get the context submenu with RabbitVCS options. It takes some time to load in my big folder with several git clones. Both mentioned python exceptions from comment #3 are gone when nautils is run from a terminal.
Works fine as far as I can see
Correction: Nautilus integration works but it looks like rabbitvcs kills my git tree-file everytime I use rabbitvcs.
(In reply to Heiko Adams from comment #16) > Correction: Nautilus integration works but it looks like rabbitvcs kills my > git tree-file everytime I use rabbitvcs. I'm happy to see that it works now. Please describe what "kills my git tree-file" means.
(In reply to Raphael Groner from comment #17) > I'm happy to see that it works now. Please describe what "kills my git > tree-file" means. It means that if I i.e. try to commit a file through rabbitvcs and do a "git status" on the terminal git aborts and says that its tree file is corrupted.
rabbitvcs-0.16.1-0.4.20160108gite8214e6.fc22, thunarx-python-0.3.0-1.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-d22c19817e
rabbitvcs-0.16.1-0.4.20160108gite8214e6.fc23, thunarx-python-0.3.0-1.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-cfd7d029d6
Hi Heiko, unfortunately I can not fix the package any further. That's really sad to say but I'll orphan rabbitvcs. Maybe some other maintainers are more competent to fix the sources, upstream is dormant and does not react on pull requests (mine and a bunch of others even more older) in reasonable time. Anyways, thanks again for your time and testing effort!
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
rabbitvcs-0.16.1-0.4.20160108gite8214e6.fc22, thunarx-python-0.3.0-1.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.
rabbitvcs-0.16.1-0.4.20160108gite8214e6.fc23, thunarx-python-0.3.0-1.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.