Bug 1304642 - Nautilus plugin is broken with last update
Summary: Nautilus plugin is broken with last update
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: rabbitvcs
Version: 23
Hardware: All
OS: Linux
medium
high
Target Milestone: ---
Assignee: Orphan Owner
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-02-04 09:16 UTC by Heiko Adams
Modified: 2016-03-07 13:56 UTC (History)
9 users (show)

Fixed In Version: rabbitvcs-0.16.1-0.4.20160108gite8214e6.fc22 rabbitvcs-0.16.1-0.4.20160108gite8214e6.fc23
Clone Of:
Environment:
Last Closed: 2016-02-28 08:23:32 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Heiko Adams 2016-02-04 09:16:53 UTC
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:

Comment 1 Heiko Adams 2016-02-04 09:18:23 UTC
I forgot python2-rabbitvcs-0.16.1-0.3.20160108gite8214e6.fc23.noarch is installed too

Comment 2 Raphael Groner 2016-02-04 09:31:12 UTC
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.

Comment 3 Heiko Adams 2016-02-04 09:32:45 UTC
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'

Comment 4 Heiko Adams 2016-02-04 09:37:03 UTC
Installing python-mtTkinter solves the first error ("No module named Tkinter")

Comment 5 Raphael Groner 2016-02-04 09:51:09 UTC
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")

Comment 6 Heiko Adams 2016-02-04 09:55:29 UTC
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

Comment 7 Raphael Groner 2016-02-04 09:56:34 UTC
Move this bug temporarily over to python-six to see what its maintainer says about the missing dependency to python-mtTkinter.

Comment 8 Raphael Groner 2016-02-12 10:11:08 UTC
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.

Comment 9 Bohuslav "Slavek" Kabrda 2016-02-12 11:02:28 UTC
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?

Comment 10 Raphael Groner 2016-02-12 11:27:13 UTC
Okay, I'll add python-mtTkinter as a dependency to rabbitvcs.
Thanks for the fast response!

Comment 11 Fedora Update System 2016-02-15 20:23:09 UTC
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

Comment 12 Fedora Update System 2016-02-15 20:23:10 UTC
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

Comment 13 Raphael Groner 2016-02-15 20:31:26 UTC
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.

Comment 14 Fedora Update System 2016-02-15 20:54:19 UTC
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

Comment 15 Heiko Adams 2016-02-16 09:29:16 UTC
Works fine as far as I can see

Comment 16 Heiko Adams 2016-02-16 11:50:51 UTC
Correction: Nautilus integration works but it looks like rabbitvcs kills my git tree-file everytime I use rabbitvcs.

Comment 17 Raphael Groner 2016-02-16 18:41:40 UTC
(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.

Comment 18 Heiko Adams 2016-02-16 18:49:25 UTC
(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.

Comment 19 Fedora Update System 2016-02-17 06:24:56 UTC
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

Comment 20 Fedora Update System 2016-02-17 06:28:10 UTC
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

Comment 21 Raphael Groner 2016-02-27 18:52:10 UTC
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!

Comment 22 Fedora Admin XMLRPC Client 2016-02-27 18:58:58 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 23 Fedora Update System 2016-02-28 08:23:11 UTC
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.

Comment 24 Fedora Update System 2016-02-28 12:22:59 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.