bilelmoussaoui / nautilus-git Goto Github PK
View Code? Open in Web Editor NEWNautilus/Nemo extension to add important information about the current git directory
License: GNU General Public License v3.0
Nautilus/Nemo extension to add important information about the current git directory
License: GNU General Public License v3.0
• Isn't it possible to work with regular build prefix "/usr/local/"? I tried and it sadly didn't work.
• If it's required to specify the "/usr" prefix, could you add this please to the Meson config? Otherwise people just run meson ..
and wonder why it doesn't work… until they read the README file.
Cool extension but had to uninstall it for now as it really struggles to handle large repositories like Chromium. Nautilus freezes and the whole system crawls until it's force closed. Hope it will be fixed soon
Off topic - Could you please tell me the names of the theme and icon pack in the screenshots?
Hi,
I am on openSUSE Tumbleweed, so I am installing from source.
It fails on:
% sudo ninja -C builddir install
ninja: Entering directory `builddir'
[1/2] 'Generating nautilus-git.metainfo.xml_merge with a custom command.'
FAILED: data/nautilus-git.metainfo.xml
'msgfmt' '--xml' '--template' '../data/nautilus-git.metainfo.xml.in' '-d' '../data/../po' '-o' 'data/nautilus-git.metainfo.xml'
msgfmt: Impossible de localiser les règles ITS pour ../data/nautilus-git.metainfo.xml.in
ninja: build stopped: subcommand failed.
The message is cryptic to me, sorry.
Support for Python3 would be nice at some point (https://pythonclock.org/). I don't know about other distributions, but at least on Arch Linux you can chose between python2-nautilus
or python-nautilus
for the Python bindings.
A quick test on my Arch Linux system showed that 2to3
creates a version of the current master that works just like that with python-nautilus
. I am sure you can make the code 2 and 3 compatible at the same time, but that usually requires a little extra work. I can help out with a PR if needed.
Number of files is 0
Number of files is 0
Number of files is 0
Number of files is 0
Number of files is 0
Number of files is 0
Traceback (most recent call last):
File "/usr/share/nautilus-python/extensions/git.py", line 417, in get_widget
if is_git(uri):
File "/usr/share/nautilus-python/extensions/git.py", line 62, in is_git
output = execute('git rev-parse --is-inside-work-tree', folder_path).lower()
File "/usr/share/nautilus-python/extensions/git.py", line 80, in execute
stderr=PIPE, cwd=working_dir)
File "/usr/lib64/python2.7/subprocess.py", line 390, in __init__
errread, errwrite)
File "/usr/lib64/python2.7/subprocess.py", line 1024, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory: 'ocations:///'
I've istalled from AUR nautilus-ext-git,
The extension works fine and shows me the changed files list when I click on the pencil icon on top yellow bar. However if I select one of the files from the popup menu, nothing happens (I expect to have the compare window like the second screenshot in the README.md file).
Do I miss any (optional) dependency?
Thanks!
gitlab can be configured to start urls over ssh with ssh:// protocol. This is not picked up by this script.
example url:
ssh://[email protected]:222/project/project.git
I have this setup with a bitbucket repo, and have "Open remote URL in a browser", but I do not have compare commits, or any way to switch branches like in screenshots?
I got a deb to install it from OMG Ubuntu but that doesn't appear to be working....
Hi,
While building, I am facing the following error. Can you suggest how to fix it ?
➜ build git:(master) meson .. --prefix /usr
The Meson build system
Version: 0.34.0
Source dir: /home/mac/nautilus-git
Build dir: /home/mac/nautilus-git/build
Build type: native build
Build machine cpu family: x86_64
Build machine cpu: x86_64
Project name: nautilus-git
Native c compiler: cc (gcc 6.2.0-5ubuntu12)
Program python2 found: YES (/usr/bin/python2)
Program intltool-merge found: YES (/usr/bin/intltool-merge)
Message: Looking for dependencies
Program python2 found: YES (/usr/bin/python2)
Found pkg-config: /usr/bin/pkg-config (0.29.1)
Native dependency glib-2.0 found: YES 2.50.2
Native dependency gobject-2.0 found: YES 2.50.2
Native dependency gobject-introspection-1.0 found: YES 1.50.0
Native dependency gtk+-3.0 found: YES 3.20.9
Message: DESTINATION DIR : /usr
Message: Update translations
Meson encountered an error in file po/meson.build, line 10, column 5:
List of languages empty.
The code, for now, is a mess. Too much-repeated stuff. Need some refactoring
Hi I just installed extension but nothing is shown in directories with git repository. I have Ubuntu 14.04 and Nautilus 3.10.1.
Shell trace:
Traceback (most recent call last):
File "/usr/share/nautilus-python/extensions/git.py", line 531, in get_widget
widget = NautilusLocation(git, self.window)
File "/usr/share/nautilus-python/extensions/git.py", line 243, in __init__
self._build_widgets()
File "/usr/share/nautilus-python/extensions/git.py", line 273, in _build_widgets
self._generate_popover(button)
File "/usr/share/nautilus-python/extensions/git.py", line 314, in _generate_popover
self._popover = Gtk.Popover()
File "/usr/lib/python2.7/dist-packages/gi/module.py", line 320, in __getattr__
return getattr(self._introspection_module, name)
File "/usr/lib/python2.7/dist-packages/gi/module.py", line 139, in __getattr__
self.__name__, name))
AttributeError: 'gi.repository.Gtk' object has no attribute 'Popover'
it seems meson builds /usr/share/icons/hicolor/icon-theme.cache
again, preventing installation (see https://aur.archlinux.org/packages/nautilus-ext-git/)
After ninja install and restart nautilus, a blue bar shown in git directory.
But the bar never change color or status, even I change some files or comit in CLI or push. press F5(refresh) does not work. So how does it works.
BTW: only master branch here. Fedora 29 here.
Hi again, your nice script doesn't work with local repositories. Would you like to support this, too?
At least with Fedora 25, I have not tried other versions. It also does not appropriately declare nautilus-python a dependency. Even after installing this it does not work however.
Would you make this respond to checkouts directly without having to manually reload the folder? That'd be perfect!
https://github.com/<user name>/<repo name>
http(s)://*.git
git://*
git@...
User opens Nautilus and pastes (either by Ctrl + V or by right-click context menu)
A dialog appears and asks user to name target directory (default to repo name)
Hi,
First of all, thanks a lot for this great extension and I find it really useful and must to have. I use Linux Mint so converted your extension to Nemo. Just replacing all the Nautilus
to Nemo
in the git.py
did the magic. According to my preliminary testings, it seems to work without any issues in Linux Mint 18.1 with Nemo 3.2.2.
Do you have any idea to support Nemo? If so, I will send a PR to whatever the branch or new repository you prefer.
Thanks again.
I think i should implement an appdata file just in case Gnome Software supports Nautilus extensions in the future!
Would be great to have a side-by-side view for diffs, as that format is easier to read than the unified format.
Big sorry for flooding, but as you see in the screenshots, the Adapta theme highlights all additional appearing top bars in nautilus yellow, but not your top bar. I don't know if it'll be appropriate for your script, and I even don't really know how this works internally, but if you want to have theming support, I think you need to implement those hintings.
Hello,
Carlos from Nautilus team here. We are porting Nautilus to gtk4 for 3.30 (or 3.32 depending on our discussions with extension devs). We were wondering if would be possible for this extension to be ported to gtk4 too and what's the overall status of the extension.
Let me know if you have any question. Also feel free to reach me over #nautilus at irc.gnome.org as csoriano.
Cheers
I found that this extension does not work correctly in my local,
It seems that either I dont have the right python version, or a missing module? But I did not find any requirements file :S
Any clue?
➜ mangata-e2e git:(feature/benchmarking-A) ✗ nautilus ./
Traceback (most recent call last):
File "/usr/share/nautilus-python/extensions/nautilus-git.py", line 39, in <module>
from utils import is_git
File "/usr/share/nautilus-git/src/utils.py", line 22, in <module>
from urlparse import urlsplit
ModuleNotFoundError: No module named 'urlparse'
less /usr/share/nautilus-git/src/utils.py
I tried with both versions of python
mangata-e2e git:(feature/benchmarking-A) ✗ python --version
Python 3.10.3
and
➜ mangata-node git:(feature/use-mangata-registrator) python --version
Python 2.7.18
Thanks!
A pull button to get the latest changes from origin would be very useful. Bonus points if I can --rebase
.
With Gitlab it seems not to work with nautilus.
Using Ubuntu 16.04.2 LTS
Nautilus 1:3.18.4.
Hi,
When I run:
dnf copr enable -y heikoada/nautilus-git
dnf install nautilus-git
nautilus -q
I get this error:
Traceback (most recent call last):
File "/usr/share/nautilus-python/extensions/nautilus-git.py", line 39, in <module>
from utils import is_git
File "/usr/share/nautilus-git/src/utils.py", line 22, in <module>
from urlparse import urlsplit
ModuleNotFoundError: No module named 'urlparse'
I tried to install the urllib / urlparse package in pip2/pip3 but I can't find them
Hi Bilal, Thanks for the great extension. Just wanted to point a padding issue with the popover item. Please refer to the image below.
Warning message when nautilus
is run from the terminal
sys:1: PyGIWarning: Nautilus was imported without specifying a version first. Use gi.require_version('Nautilus', '3.0') before import to ensure that the right version gets loaded.
RabbitVCS Nautilus integration has the nice feature of adding badges to folders under version control. The badge icon also shows the status of the clone. Dropbox does a similar thing to show a folder is under dropbox management and the badge icon tells you the synchronization state.
It would be great if this could be implemented for nautilus-git. Perhaps with color/icon coding like:
For now, i use git in order to get every information needed. Which is not perfect as i've to always parse the output in order to get the right information that i want to use.
Implementing a simple git-python library would be great. Shouldn't do too much:
Possible ideas(not in the near future):
There's no way for uninstalling the installed files, would you add such a target please?
Hi I just found a bug : There is nothing displayed when there is a space or ' in the path
Shell trace :
Traceback (most recent call last):
File "/usr/share/nautilus-python/extensions/git.py", line 60, in get_widget
if utils.is_git(uri):
File "/usr/share/nautilus-git/src/utils.py", line 38, in is_git
folder_path).lower()
File "/usr/share/nautilus-git/src/utils.py", line 59, in execute
stderr=PIPE, cwd=working_dir)
File "/usr/lib/python2.7/subprocess.py", line 390, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1024, in _execute_child
raise child_exception
OSError: [Errno 2] Aucun fichier ou dossier de ce type: "/home/skad/Herdelia's%20Legacy"
('Handling file: ', "file:///home/skad/Herdelia's%20Legacy/Rex%20Parallel")
('file scheme: ', 'file')
Traceback (most recent call last):
File "/usr/share/nautilus-python/extensions/git.py", line 60, in get_widget
if utils.is_git(uri):
File "/usr/share/nautilus-git/src/utils.py", line 38, in is_git
folder_path).lower()
File "/usr/share/nautilus-git/src/utils.py", line 59, in execute
stderr=PIPE, cwd=working_dir)
File "/usr/lib/python2.7/subprocess.py", line 390, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1024, in _execute_child
raise child_exception
OSError: [Errno 2] Aucun fichier ou dossier de ce type: "/home/skad/Herdelia's%20Legacy/Rex%20Parallel"
Every time you make changes and want to see what changes happen we need to refresh the folder first.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.