The new home of rabbitvcs

Related tags

SCMrabbitvcs
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
docker run klaus / pip install klaus — the first Git web viewer that Just Works™.

klaus: a simple, easy-to-set-up Git web viewer that Just Works™. (If it doesn't Just Work for you, please file a bug.) Super easy to set up -- no conf

Jonas Haag 638 Dec 24, 2022
ViewVC is a browser interface for CVS and Subversion version control repositories.

ViewVC - Version Control Browser Interface ViewVC is a browser interface for CVS and Subversion version control repositories. It generates templatized

ViewVC 270 Dec 30, 2022
🦉Data Version Control | Git for Data & Models

Website • Docs • Blog • Twitter • Chat (Community & Support) • Tutorial • Mailing List Data Version Control or DVC is an open-source tool for data sci

Iterative 10.9k Jan 09, 2023
Mirror of Apache Allura

Apache Allura Allura is an open source implementation of a software "forge", a web site that manages source code repositories, bug reports, discussion

The Apache Software Foundation 106 Dec 21, 2022
Trac is an enhanced wiki and issue tracking system for software development projects (mirror)

About Trac Trac is a minimalistic web-based software project management and bug/issue tracking system. It provides an interface to the Git and Subvers

Edgewall Software 442 Dec 10, 2022
A simple version control system built on top of Git

Gitless Gitless is a version control system built on top of Git, that is easy to learn and use: Simple commit workflow Track or untrack files to contr

Gitless 1.7k Dec 22, 2022
Patchwork is a web-based patch tracking system designed to facilitate the contribution and management of contributions to an open-source project.

Patchwork Patchwork is a patch tracking system for community-based projects. It is intended to make the patch management process easier for both the p

Patchwork 220 Nov 29, 2022
git-cola: The highly caffeinated Git GUI

git-cola: The highly caffeinated Git GUI git-cola is a powerful Git GUI with a slick and intuitive user interface. Copyright (C) 2007-2020, David Agu

git-cola 2k Dec 30, 2022
The new home of rabbitvcs

RabbitVCS RabbitVCS is a set of graphical tools written to provide simple and straightforward access to the version control systems you use. We curren

RabbitVCS 349 Dec 05, 2022