The new home of rabbitvcs

Related tags

SCM rabbitvcs
Overview

RabbitVCS

RabbitVCS is a set of graphical tools written to provide simple and straightforward access to the version control systems you use. We currently support Subversion and Git on a variety of clients such as Nautilus, Thunar, Nemo, Caja, and on the command line.

System Requirements

  • gtk >= 3.0
  • python-configobj >= 4.4.0
  • python-gobject >= 2.14

For subversion:

  • python-svn >= 1.7.2
  • subversion >= 1.4.6

For git:

  • dulwich >= 0.19.0
  • git
  • tkinter (for now)

For spell checking of commit messages (optional):

  • python-gtkspell
  • hunspell langpacks

For syntax highlighting (optional):

  • python-pygments

Recommends:

  • meld (graphical diff tool)

For Debian-based distros you can run:

# apt-get install python-gtk3 python-configobj python-gobject python-gtkspell python-svn subversion python-dulwich python-pygments git meld tkinter

For Fedora-based distros you can run:

# dnf install python[23]-nautilus python[23]-pysvn python[23]-configobj python[23]-dbus python[23]-dulwich python[23]-tkinter python[23]-gtkspell3 python[23]-pygments subversion git meld

Manual Installation

Note that you will require superuser rights in order to install RabbitVCS. Execute the following as root or using sudo:

# python setup.py install

On Ubuntu or Debian-based distros, instead run:

# python setup.py install --install-layout=deb

Once this is run, make sure you install one or more client below.

Note

Please note that if there is a PYTHON environment variable it will be used as a Runtime environtment for the rabbitvcs module. For example, if PYTHON points to Python3, then the code in the rabbitvcs module will should be located in the Python 3 module search path.

Clients

RabbitVCS is the core library and set of dialogs, but you interact with them through our clients. Each client needs to be purposefully installed and has its own README. Here is a list of our currently working clients:

We have some others as well that are either incomplete, experimental or non-working. Check them out!

Upgrade

To upgrade an existing version manually, copy the contents of the repository to the rabbitvcs lib folder. Most likely it is located at /usr/lib/pymodules/python2.7/rabbitvcs. In case of Debian-based distros this is will be /usr/lib/python2.7/dist-packages/rabbitvcs. For Fedora-based distros on 64-bit make sure to check /usr/lib64.

References

Homepage: http://www.rabbitvcs.org

Comments
  • Nemo file manager extension

    Nemo file manager extension

    Hi,

    First of all, thank you for this nice project. I was using nemo-rabbitvcs with Linux Mint 18.2. Recently I have upgraded to 19.1 and come to know that this extension is removed from cinnamon. Is there any plan making it available again?

    opened by snr-lab 28
  • Instructions for Dolphin support with KDE 5

    Instructions for Dolphin support with KDE 5

    Just to note that the instructions here for Dolphin support for KDE 4.x don't work with KDE 5:

    https://github.com/rabbitvcs/rabbitvcs/blob/master/clients/dolphin/README

    For KDE 5 the files instead need to be copied to:

    /usr/share/kservices5

    opened by gregorywilliams 18
  • Error	could not read Username for '[URL]': No such device or address

    Error could not read Username for '[URL]': No such device or address

    When trying to clone a Git repository that requires authentication, I get "Error could not read Username for '[URL]': No such device or address". Through the command line it asks for my username and password and then works fine. Any operations I try to do through RabbitVCS Git that require authentication also fail. There is a workaround but it involves adding your username and password to the repository URL but then they are exposed in plain text. This issue was originally posted at https://code.google.com/p/rabbitvcs/issues/detail?id=836.

    bug 
    opened by cwenger 16
  • Rabbitvcs keeps asking for username/password on each commit, using it under Atom Editor

    Rabbitvcs keeps asking for username/password on each commit, using it under Atom Editor

    Hi, I'm using RabbitVCS under Atom Editor, where I use it for several projects. After setting the message RabbitVCS dialog appears asking for username/password. Even if you check "Save Authentication" the system asks for auth on the next commit.

    This appears on RabbitVCS.log: 2019-06-18 12:05:07,842 ERROR rabbitvcs.ui.widget SQLite objects created in a thread can only be used in that same thread. The object was created in thread id 140611390744000 and this is thread id 140611153020672. Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/rabbitvcs/ui/widget.py", line 855, in init gtkspell.Spell(self.view) File "/usr/lib/python2.7/site-packages/gtkspell.py", line 32, in init self.spellchecker = gtkspellcheck.SpellChecker(textview, language) File "/usr/lib/python2.7/site-packages/gtkspellcheck/spellcheck.py", line 195, in init self.languages = SpellChecker._LanguageList.from_broker(self._broker) File "/usr/lib/python2.7/site-packages/gtkspellcheck/spellcheck.py", line 151, in from_broker for language in broker.list_languages()], File "/usr/lib/python2.7/site-packages/gtkspellcheck/spellcheck.py", line 103, in code_to_name return _code_to_name(code, separator) File "/usr/lib/python2.7/site-packages/pylocales/locales.py", line 152, in code_to_name lang = Language.by_iso_639_1(code[0]).translation File "/usr/lib/python2.7/site-packages/pylocales/locales.py", line 138, in by_iso_639_1 return Language.get_language(code, 'iso_639_1') File "/usr/lib/python2.7/site-packages/pylocales/locales.py", line 123, in get_language (code,)).fetchone() ProgrammingError: SQLite objects created in a thread can only be used in that same thread. The object was created in thread id 140611390744000 and this is thread id 140611153020672.

    Have Google about that but found nothing.

    opened by jcerdan 15
  • Remote Repository Manager bugs fixed and UI updated

    Remote Repository Manager bugs fixed and UI updated

    The existing Remote Repository Manager dialog was fairly buggy. Adding and editing multiple Git remotes would either edit the wrong selected item, insert duplicate rows, or not save the changes at all. In addition, the UI seemed difficult to use, with regard to double-clicking rows multiple times to start inline-editing.

    This fork replaces the existing Remote Repository Manager UI with a new version made via TkInter. Bugs related to adding and editing remotes are now fixed.

    Remote Manager Screenshot

    opened by primaryobjects 14
  • No Nautilus integration after 0.17 source installation

    No Nautilus integration after 0.17 source installation

    I can successfully install and use rabbitvcs and rabbitvcs-nautilus (v0.16) from distro packages on PureOS (Debian testing / Wayland / GNOME Shell / Nautilus 3.26.0).

    But I cannot install 0.17 from source...

    Steps to reproduce:

    • Uninstall distro packages (rabbitvcs and rabbitvcs-nautilus)
    • Install prerequisites
    sudo apt install \
        python-gtk2 python-configobj python-gobject python-simplejson \
        python-svn subversion python-dulwich git meld \
        python-gtkspellcheck python-tk \
        nautilus python-nautilus python-dbus
    
    sudo python setup.py install --install-layout=deb
    sudo chmod 777 /usr/share/rabbitvcs/configspec.ini
    # seems to need this modification
    # ran with --record (see attachment)
    
    • Copy in Nautilus extension
    sudo mkdir --parents /usr/share/nautilus-python/extensions
    sudo cp ~/Documents/rabbitvcs/clients/nautilus-3.0/RabbitVCS.py /usr/share/nautilus-python/extensions
    sudo chmod 777 /usr/share/nautilus-python/extensions/RabbitVCS.py
    # otherwise only root can access?
    
    • Restart Nautilus
    nautilus -q
    pgrep -f service.py | xargs kill
    nohup nautilus >/dev/null 2>&1 &
    

    What should happen?

    When visiting a Git folder in Nautilus, that folder and files within should have emblems.

    When right-clicking on a Git folder in Nautilus, RabbitVCS options should be available in the context menu.

    What happens instead?

    No folder decorations. RabbitVCS does not appear in the context menu.

    Notes:

    • See attachment for files created by setup.py
    • I can do the following, which implies RabbitVCS core is accessible:
    $ python2.7
    >>> import rabbitvcs
    >>> dir(rabbitvcs)
    
    • How can I confirm that the Nautilus plugin is launching and/or debug it?
    opened by lofidevops 12
  • Export fail

    Export fail

    I wanted to export my working directory in order to remove it from version control. Unfortunately, when I had to choose the destination, I made a mistake:

    URL: /home/hannah/svn-workspace/folder1 Destination: /home/hannah/Desktop

    I guess the correct destination would have been "home/hannah/Desktop/folder1"...? After exporting suddenly my desktop was completely empty. The search cannot find the files that were on the desktop before. But the exported content from "folder1" is not on the desktop either. How does export work, what happened, and can I somehow get the lost files back to my Desktop?

    opened by FrauJaja 12
  • Integration with Caja 1.8.1 on linux mint 17

    Integration with Caja 1.8.1 on linux mint 17

    I tried with these commands to make the rabbitvcs compatible with caja 1.8.1 but no luck. Any help?

    sudo add-apt-repository ppa:rabbitvcs/ppa sudo apt-get update sudo apt-get install rabbitvcs-core

    sudo cp ~/Downloads/cajacontextmenu_.py /usr/lib/pymodules/python2.7/rabbitvcs/util/ sudo python -m compileall /usr/lib/pymodules/python2.7/rabbitvcs/util/cajacontextmenu_.py

    sudo mkdir -p /usr/lib/caja/extensions-2.0/python sudo cp ~/Downloads/RabbitVCS.py /usr/lib/caja/extensions-2.0/python/ sudo python -m compileall /usr/lib/caja/extensions-2.0/python/RabbitVCS.py

    caja -q

    question 
    opened by fnkbz 12
  • [website] Explicit support matrix

    [website] Explicit support matrix

    The website about page states support only for Git, Subversion (version control) and Nautilus, Thunar and GEdit (clients), there are still queries about related projects (frex, #57 for Nemo, fork of Nautilus 2, #51 for Caja, fork of Nautilus 3). (And I may have added some wishful version control requests in the Google Code issue list ;)

    Would it be possible to instead add matrices to the about page indicating versions supported and/or "pull requests welcome" status (with link to existing ticket if any) for version control systems, file managers and others?

    Possibly for installation methods too?

    opened by lofidevops 11
  • Svn log: 'utf8' codec can't decode byte error

    Svn log: 'utf8' codec can't decode byte error

    While viewing the Svn log, I got the following error image

    Here is the contents of the log file 2019-07-01 09:43:02,432 ERROR rabbitvcs.util.__init__ Traceback (most recent call last): File "/usr/lib/python2.7/dist-packages/rabbitvcs/util/__init__.py", line 120, in start func.start() File "/usr/lib/python2.7/dist-packages/rabbitvcs/util/__init__.py", line 45, in start self.result = self.func(*self.args, **self.kwargs) File "/usr/lib/python2.7/dist-packages/rabbitvcs/ui/log.py", line 478, in refresh msg = helper.format_long_text(item.message, cols = 80, line1only = True) File "/usr/lib/python2.7/dist-packages/rabbitvcs/util/helper.py", line 193, in format_long_text text = text.strip().replace(u"\n", LINE_BREAK_CHAR) UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 9: ordinal not in range(128) 2019-07-01 09:43:02,433 ERROR rabbitvcs.ui.action 'ascii' codec can't decode byte 0xc3 in position 9: ordinal not in range(128) None

    encoding 
    opened by fabiodeuzebio 8
  • Log filter not working on Ubuntu 20.04

    Log filter not working on Ubuntu 20.04

    Hi. I can't filter the svn log dialog on Ubuntu 20.04.

    image

    I am sure that it worked on my older Ubuntu 16.04 install. But since we upgraded our workstations to Ubuntu 20.04 at work, I can't filter anymore. I can't even click the input field, which means I can't enter any text. The Limit input field works though, so maybe it helps for debugging:

    image

    My setup:

    image image image

    bug 
    opened by Megamouse 7
  • ImportError: could not import gobject (error was: '/usr/lib/python2.7/dist-packages/gi/_gi.aarch64-linux-gnu.so: undefined symbol: _Py_ZeroStruct')

    ImportError: could not import gobject (error was: '/usr/lib/python2.7/dist-packages/gi/_gi.aarch64-linux-gnu.so: undefined symbol: _Py_ZeroStruct')

    hi. I have installed rabbitvcs 0.17.1 manually. rabbitvcs-cli can run normally. But I encounter a problem when using rabbbitvcs-nautilus. The info of the error is as follows. ############################################################################## #nautilus -q (nautilus:29248): Nautilus-Python-WARNING **: 10:03:22.695: g_module_open libpython failed: /usr/lib/libpython2.7.so.1.0: undefined symbol: _Py_ZeroStruct ImportError: could not import gobject (error was: '/usr/lib/python2.7/dist-packages/gi/_gi.aarch64-linux-gnu.so: undefined symbol: _Py_ZeroStruct') (nautilus:29248): Nautilus-Python-WARNING **: 10:03:22.716: pygobject initialization failed (nautilus:29248): Nautilus-Python-WARNING **: 10:03:22.716: nautilus_python_init_python failed ###############################################################################

    OS: UnionTech OS GNU/Linux 20 CPU:arm64 kernel: 4.19.0-arm64-desktop #5312 python-nautilus: python-nautilus 1.2.2-2 arm64 Python binding for Nautilus components python-gi: python-gi 3.30.4-1 arm64 Python 2.x bindings for gobject-introspection libraries python-gobject: python-gobject 3.30.4-1 all Python 2.x bindings for GObject - transitional package

    opened by sword8808 0
  • No Context Menu + Thunar segfault

    No Context Menu + Thunar segfault

    Hello, I'm on Ubuntu Kinetic x64, Mate Desktop. I saw in this issue #384 post a suggestion to install the rabbitvcs-nautilus package. This package does not exist in Ubuntu Kinetic.

    So I tried Thunar & the rabbitvcs-thunar plugin. It segfaults with below message, probably missing a standard XFCE library?

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/usr/lib/python3/dist-packages/gi/__init__.py", line 126, in require_version
        raise ValueError('Namespace %s not available' % namespace)
    ValueError: Namespace Thunarx not available
    Traceback (most recent call last):
      File "/usr/lib/python3/dist-packages/gi/importer.py", line 136, in load_module
        raise ImportError('cannot import name %s, '
    ImportError: cannot import name Thunarx, introspection typelib not found
    
    (thunar:489327): thunarx-python-WARNING **: 10:00:07.110: thunarx_python_init_python failed
    Traceback (most recent call last):
      File "/usr/share/thunarx-python/extensions/RabbitVCS.py", line 41, in <module>
        from gi.repository import GObject, Gtk, Thunarx
      File "/usr/lib/python3/dist-packages/gi/importer.py", line 136, in load_module
        raise ImportError('cannot import name %s, '
    ImportError: cannot import name Thunarx, introspection typelib not found
    Segmentation fault
    

    P.S. Perhaps it would also be useful to specify on the Known Issues page to state that plugins (rabbitvcs-thunar, etc) should also be installed?

    opened by Beeblebrox-BSD 0
  • Suggestion: Option to push right after a commit

    Suggestion: Option to push right after a commit

    I use RabbitVCS Git when I need to quickly save some simple modifications and I'm inside Dolphin. This action always involves the same two steps: commit everything and then push.

    In TortoiseGit there is a "push" button available at the end of a commit, because those two actions are so often make together! It would be nice to have such button that would directly open the push interface and displayed right at the end of a commit, in RabbitVCS Git.

    Thanks for that project!

    opened by electrotype 0
  • setup: use setuptools

    setup: use setuptools

    Module distutils is deprecated and will be dropped out in Python 3.12: its use should be replaced by setuptools. This commit converts rabbitvcs setup.py to use setuptools rather than distutils, in a nearly compatible way.

    Note that used keyword data_files is deprecated and not replaced. It is however still operational.

    IMO a new setup strategy ought to be implemented for rabbitvcs setup, but this is out of my skill. in the meantime, this commit will allow the project's setup to survive some time. Feedbacks and comments welcomed.

    opened by monnerat 0
  • Nautilus 43 support

    Nautilus 43 support

    There are many changes with nautilus-python 4.0 and current Nautilus extensions will not work. See the 4.0.alpha release notes for details about adopting the changes. GNOME 43 will be released in few weeks.

    EDIT: See https://gnome.pages.gitlab.gnome.org/nautilus-python/nautilus-python-migrating-to-4.html

    enhancement 
    opened by yochananmarqos 11
Releases(v0.18)
  • v0.18(Feb 13, 2020)

    This is our first release that works with both GTK+3 and Python 3! It removes support for GTK+2. It also includes a bunch of bug fixes that should make this release more stable and reliable.

    • Migrated to GTK+3, GTK+2 is no longer supported
    • Now support python 3
    • Improved the annotate window
    • Allow for setting a default commit message
    • Add support for Pluma text editor
    • Rename the nautilus-3 and thunar-gtk3 clients to nautilus and thunar, previous clients are removed
    • Pulled in nemo extension
    • Tons of bug fixes and minor improvements
    Source code(tar.gz)
    Source code(zip)
  • v0.17.1(Nov 26, 2018)

  • v0.16(Mar 2, 2014)

    • Issue 316 Enhancement Colour-code entries in log
    • Issue 336 Enhancement Copy to clipboard from revision log
    • Issue 352 Enhancement Filter by Author or Date in Log/revision history
    • Issue 358 Enhancement Rethink layout of nautllus properties dialog
    • Issue 496 Enhancement Keyboard shortcut for closing dialogues
    • Issue 510 Enhancement RabbitVCS Git fetch --all
    • Issue 645 Enhancement Refresh in the commit-dialog
    • Issue 675 Enhancement Copy svn log to clipboard
    • Issue 703 Enhancement When viewing changes, allow multiple selections
    • Issue 714 Defect Regression - shortcut keys for closing log dialog
    • Issue 715 Defect Regression - filtering a log displays the wrong selections in the files UI.
    • Issue 720 Defect Regression - Forward buttons no longer enabled
    • Issue 728 Enhancement Nemo integration
    • Issue 843 Defect
    • Issue 692 Enhancement Apply patch by Francis Bisson for Caja integration
    • Issue 492 Defect Add the effective user id into the generated file paths
    Source code(tar.gz)
    Source code(zip)
Owner
RabbitVCS
Easy version control for Linux
RabbitVCS
The all new way to turn your boring vector meshes into the new fad in town; Voxels!

Voxelator The all new way to turn your boring vector meshes into the new fad in town; Voxels! Notes: I have not tested this on a rotated mesh. With fu

null 6 Feb 3, 2022
A script that will warn you, by opening a new browser tab, when there are new content in your favourite websites.

web check A script that will warn you, by opening a new browser tab, when there are new content in your favourite websites. What it does The script wi

Jaime Álvarez 52 Mar 15, 2022
NEW FACEBOOK CLONER WITH NEW PASSWORD, TERMUX FB CLONE, FB CLONING COMMAND. M

NEW FACEBOOK CLONER WITH NEW PASSWORD, TERMUX FB CLONE, FB CLONING COMMAND. M

Mr. Error 81 Jan 8, 2023
API to retrieve the number of grades on the OGE website (Website listing the grades of students) to know if a new grade is available. If a new grade has been entered, the program sends a notification e-mail with the subject.

OGE-ESIREM-API Introduction API to retrieve the number of grades on the OGE website (Website listing the grades of students) to know if a new grade is

Benjamin Milhet 5 Apr 27, 2022
Home repository for the Regularized Greedy Forest (RGF) library. It includes original implementation from the paper and multithreaded one written in C++, along with various language-specific wrappers.

Regularized Greedy Forest Regularized Greedy Forest (RGF) is a tree ensemble machine learning method described in this paper. RGF can deliver better r

RGF-team 364 Dec 28, 2022
a robust room presence solution for home automation with nearly no false negatives

Argos Room Presence This project builds a room presence solution on top of Argos. Using just a cheap raspberry pi zero w (plus an attached pi camera,

Angad Singh 46 Sep 18, 2022
Universal Xiaomi MIoT integration for Home Assistant

Xiaomi MIoT Raw 简体中文 | English MIoT 协议是小米智能家居从 2018 年起推行的智能设备通信协议规范,此后凡是可接入米家的设备均通过此协议进行通信。此插件按照 MIoT 协议规范与设备通信,实现对设备的状态读取及控制。

null 1.9k Jan 2, 2023
a spacial-temporal pattern detection system for home automation

Argos a spacial-temporal pattern detection system for home automation. Based on OpenCV and Tensorflow, can run on raspberry pi and notify HomeAssistan

Angad Singh 133 Jan 5, 2023
Public HTTPS access to Home Assistant with Dataplicity service

Custom component for public HTTPS access to Home Assistant with Dataplicity service. Should work on any Linux PC or ARM, not only Raspberry as Dataplicity service said. Don't work on Windows.

Alex X 70 Oct 3, 2022
Home repository for the Regularized Greedy Forest (RGF) library. It includes original implementation from the paper and multithreaded one written in C++, along with various language-specific wrappers.

Regularized Greedy Forest Regularized Greedy Forest (RGF) is a tree ensemble machine learning method described in this paper. RGF can deliver better r

RGF-team 363 Dec 14, 2022
Open source home automation that puts local control and privacy first

Home Assistant Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiast

Home Assistant 57k Jan 2, 2023
Irrigation controller for Home Assistant

Irrigation Unlimited This integration is for irrigation systems large and small. It can offer some complex arrangements without large and messy script

Robert Cook 176 Jan 2, 2023
My personal Home Assistant configuration.

About This is my personal Home Assistant configuration. My guiding princile is to have full local control of all my devices. I intend everything to ru

Chris Turra 13 Jun 7, 2022
This is the official code release for the paper Shape and Material Capture at Home

This is the official code release for the paper Shape and Material Capture at Home. The code enables you to reconstruct a 3D mesh and Cook-Torrance BRDF from one or more images captured with a flashlight or camera with flash.

null 89 Dec 10, 2022
Home Assistant custom component for viewing IP cameras RTSP stream in real time using WebRTC technology

WebRTC Camera Home Assistant custom component for viewing IP cameras RTSP stream in real time using WebRTC technology. Based on: Pion - pure Go implem

Alex X 739 Dec 30, 2022
Home Assistant custom integration for controlling Powered by Tuya (PBT) devices using Tuya Open API, officially maintained by the Tuya Developer Team.

Tuya Home Assistant Integration Home Assistant custom integration for controlling Powered by Tuya (PBT) devices using Tuya Open API, officially mainta

Tuya 704 Jan 3, 2023
Volkswagen ID component for Home Assistant

Volkswagen ID component for Home Assistant This folder contains both a generic Python 3 library for the Volkswagen ID API and a component for Home Ass

null 55 Jan 7, 2023
Sensor of Temperature Feels Like for Home Assistant.

Please ⭐ this repo if you find it useful Sensor of Temperature Feels Like for Home Assistant Installation Install from HACS (recommended) Have HACS in

Andrey 60 Dec 25, 2022
Home Assistant for Opendata CWB. Get the weather forecast of the city in Taiwan.

Home assistant support for Opendata CWB. The readme in Traditional Chinese. This integration is based on OpenWeatherMap (@csparpa, pyowm) to develop.

null 11 Sep 30, 2022