diff -Nru rabbitvcs-0.15.3/clients/caja/RabbitVCS.py rabbitvcs-0.16/clients/caja/RabbitVCS.py --- rabbitvcs-0.15.3/clients/caja/RabbitVCS.py 1970-01-01 00:00:00.000000000 +0000 +++ rabbitvcs-0.16/clients/caja/RabbitVCS.py 2014-02-16 09:07:47.000000000 +0000 @@ -0,0 +1,676 @@ +# +# This is an extension to the Caja file manager to allow better +# integration with the Subversion source control system. +# +# Copyright (C) 2006-2008 by Jason Field +# Copyright (C) 2007-2008 by Bruce van der Kooij +# Copyright (C) 2008-2008 by Adam Plumb +# Copyright (C) 2012-2012 by Pavel Antonov +# Copyright (C) 2014 by Francis Bisson +# +# RabbitVCS is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# RabbitVCS is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with RabbitVCS; If not, see . +# + +""" + +Our module for everything related to the Caja extension. + +""" +from __future__ import with_statement + +def log_all_exceptions(type, value, tb): + import sys, traceback + from rabbitvcs.util.log import Log + log = Log("rabbitvcs.util.extensions.Caja.RabbitVCS") + log.exception_info("Error caught by master exception hook!", + (type, value, tb)) + + text = ''.join(traceback.format_exception(type, value, + tb, limit=None)) + + try: + import rabbitvcs.ui.dialog + rabbitvcs.ui.dialog.ErrorNotification(text) + except Exception, ex: + log.exception("Additional exception when attempting" + " to display error dialog.") + log.exception(ex) + raise + + sys.__excepthook__(type, value, tb) + +# import sys +# sys.excepthook = log_all_exceptions + +import copy + +import os +# Do NOT change this to "CAJA". RabbitVCS has an internal reference to this name. +os.environ["NAUTILUS_PYTHON_REQUIRE_GTK3"] = "1" + +import os.path +from os.path import isdir, isfile, realpath, basename +import datetime + +#import matevfs +from gi.repository import Caja, GObject, Gtk, GdkPixbuf + +import pysvn + +from rabbitvcs.vcs import VCS +import rabbitvcs.vcs.status + +from rabbitvcs.util.helper import launch_ui_window, launch_diff_tool +from rabbitvcs.util.helper import get_file_extension, get_common_directory +from rabbitvcs.util.helper import pretty_timedelta + +from rabbitvcs.util.decorators import timeit, disable + +from rabbitvcs.util.contextmenu import MenuBuilder, MainContextMenu, SEPARATOR, ContextMenuConditions + +import rabbitvcs.ui +import rabbitvcs.ui.property_page + +from rabbitvcs.util.log import Log, reload_log_settings +log = Log("rabbitvcs.util.extensions.Caja.RabbitVCS") + +from rabbitvcs import gettext, get_icon_path +_ = gettext.gettext + +from rabbitvcs import version as EXT_VERSION + +from rabbitvcs.util.settings import SettingsManager +settings = SettingsManager() + +import rabbitvcs.services.service +from rabbitvcs.services.checkerservice import StatusCheckerStub as StatusChecker + +class RabbitVCS(Caja.InfoProvider, Caja.MenuProvider, + Caja.ColumnProvider, Caja.PropertyPageProvider, GObject.GObject): + """ + This is the main class that implements all of our awesome features. + + """ + + #: This is our lookup table for C{NautilusVFSFile}s which we need for attaching + #: emblems. This is mostly a workaround for not being able to turn a path/uri + #: into a C{NautilusVFSFile}. It looks like::: + #: + #: nautilusVFSFile_table = { + #: "/foo/bar/baz": + #: + #: } + #: + #: Keeping track of C{NautilusVFSFile}s is a little bit complicated because + #: when an item is moved (renamed) C{update_file_info} doesn't get called. So + #: we also add C{NautilusVFSFile}s to this table from C{get_file_items} etc. + # FIXME: this may be the source of the memory hogging seen in the extension + # script itself. + nautilusVFSFile_table = {} + + #: This is in case we want to permanently enable invalidation of the status + #: checker info. + always_invalidate = True + + #: When we get the statuses from the callback, put them here for further + #: use. This is of the form: [("path/to", {...status dict...}), ...] + statuses_from_callback = [] + + def get_local_path(self, path): + return path.replace("file://", "") + + def __init__(self): + factory = Gtk.IconFactory() + + rabbitvcs_icons = [ + "scalable/actions/rabbitvcs-settings.svg", + "scalable/actions/rabbitvcs-export.svg", + "scalable/actions/rabbitvcs-properties.svg", + "scalable/actions/rabbitvcs-show_log.svg", + "scalable/actions/rabbitvcs-delete.svg", + "scalable/actions/rabbitvcs-run.svg", + "scalable/actions/rabbitvcs-unlock.svg", + "scalable/actions/rabbitvcs-dbus.svg", + "scalable/actions/rabbitvcs-rename.svg", + "scalable/actions/rabbitvcs-help.svg", + "scalable/actions/rabbitvcs-update.svg", + "scalable/actions/rabbitvcs-diff.svg", + "scalable/actions/rabbitvcs-resolve.svg", + "scalable/actions/rabbitvcs-about.svg", + "scalable/actions/rabbitvcs-add.svg", + "scalable/actions/rabbitvcs-changes.svg", + "scalable/actions/rabbitvcs-createpatch.svg", + "scalable/actions/rabbitvcs-merge.svg", + "scalable/actions/rabbitvcs-drive.svg", + "scalable/actions/rabbitvcs-stop.svg", + "scalable/actions/rabbitvcs-checkout.svg", + "scalable/actions/rabbitvcs-import.svg", + "scalable/actions/rabbitvcs-branch.svg", + "scalable/actions/rabbitvcs-refresh.svg", + "scalable/actions/rabbitvcs-editconflicts.svg", + "scalable/actions/rabbitvcs-monkey.svg", + "scalable/actions/rabbitvcs-applypatch.svg", + "scalable/actions/rabbitvcs-switch.svg", + "scalable/actions/rabbitvcs-lock.svg", + "scalable/actions/rabbitvcs-annotate.svg", + "scalable/actions/rabbitvcs-compare.svg", + "scalable/actions/rabbitvcs-revert.svg", + "scalable/actions/rabbitvcs-bug.svg", + "scalable/actions/rabbitvcs-cleanup.svg", + "scalable/actions/rabbitvcs-clear.svg", + "scalable/actions/rabbitvcs-unstage.svg", + "scalable/actions/rabbitvcs-emblems.svg", + "scalable/actions/rabbitvcs-relocate.svg", + "scalable/actions/rabbitvcs-reset.svg", + "scalable/actions/rabbitvcs-asynchronous.svg", + "scalable/actions/rabbitvcs-commit.svg", + "scalable/actions/rabbitvcs-checkmods.svg", + "scalable/apps/rabbitvcs.svg", + "scalable/apps/rabbitvcs-small.svg", + "16x16/actions/rabbitvcs-push.png" + ] + + rabbitvcs_icon_path = get_icon_path() + for rel_icon_path in rabbitvcs_icons: + icon_path = "%s/%s" % (rabbitvcs_icon_path, rel_icon_path) + file = os.path.basename(rel_icon_path) + (root, ext) = os.path.splitext(file) + + pixbuf = GdkPixbuf.Pixbuf.new_from_file(icon_path) + iconset = Gtk.IconSet.new_from_pixbuf(pixbuf) + factory.add(root, iconset) + + factory.add_default() + + # Create a global client we can use to do VCS related stuff + self.vcs_client = VCS() + + self.status_checker = StatusChecker() + + self.status_checker.assert_version(EXT_VERSION) + + self.items_cache = {} + + def get_columns(self): + """ + Return all the columns we support. + + """ + + return ( + Caja.Column( + name="RabbitVCS::status_column", + attribute="status", + label=_("RVCS Status"), + description="" + ), + Caja.Column( + name="RabbitVCS::revision_column", + attribute="revision", + label=_("RVCS Revision"), + description="" + ), + Caja.Column( + name="RabbitVCS::author_column", + attribute="author", + label=_("RVCS Author"), + description="" + ), + Caja.Column( + name="RabbitVCS::age_column", + attribute="age", + label=_("RVCS Age"), + description="" + ) + ) + + def update_file_info(self, item): + """ + + C{update_file_info} is called only when: + + - When you enter a directory (once for each item but only when the + item was modified since the last time it was listed) + - When you refresh (once for each item visible) + - When an item viewable from the current window is created or modified + + This is insufficient for our purpose because: + + - You're not notified about items you don't see (which is needed to + keep the emblem for the directories above the item up-to-date) + + @type item: NautilusVFSFile + @param item: + + """ + enable_emblems = bool(int(settings.get("general", "enable_emblems"))) + enable_attrs = bool(int(settings.get("general", "enable_attributes"))) + + if not (enable_emblems or enable_attrs): return Caja.OperationResult.COMPLETE + + if not self.valid_uri(item.get_uri()): return Caja.OperationResult.FAILED + + path = rabbitvcs.util.helper.unquote_url(self.get_local_path(item.get_uri())) + + # log.debug("update_file_info() called for %s" % path) + + invalidate = False + if path in self.nautilusVFSFile_table: + invalidate = True + + # Always replace the item in the table with the one we receive, because + # for example if an item is deleted and recreated the NautilusVFSFile + # we had before will be invalid (think pointers and such). + self.nautilusVFSFile_table[path] = item + + # This check should be pretty obvious :-) + # TODO: how come the statuses for a few directories are incorrect + # when we remove this line (detected as working copies, even though + # they are not)? That shouldn't happen. + is_in_a_or_a_working_copy = self.vcs_client.is_in_a_or_a_working_copy(path) + if not is_in_a_or_a_working_copy: return Caja.OperationResult.COMPLETE + + # Do our magic... + + # I have added extra logic in cb_status, using a list + # (paths_from_callback) that should allow us to work around this for + # now. But it'd be good to have an actual status monitor. + + found = False + status = None + # Could replace with (st for st in self.... if st.path ...).next() + # Need to catch exception + for idx in xrange(len(self.statuses_from_callback)): + found = (self.statuses_from_callback[idx].path) == path + if found: break + + if found: # We're here because we were triggered by a callback + status = self.statuses_from_callback[idx] + del self.statuses_from_callback[idx] + + # Don't bother the checker if we already have the info from a callback + if not found: + status = \ + self.status_checker.check_status(path, + recurse=True, + summary=True, + callback=self.cb_status, + invalidate=invalidate) + + # FIXME: when did this get disabled? + if enable_attrs: self.update_columns(item, path, status) + if enable_emblems: self.update_status(item, path, status) + + return Caja.OperationResult.COMPLETE + + def update_columns(self, item, path, status): + """ + Update the columns (attributes) for a given Caja item, + filling them in with information from the version control + server. + + """ + + revision = "" + if status.revision: + revision = str(status.revision) + + age = "" + if status.date: + age = pretty_timedelta( + datetime.datetime.fromtimestamp(status.date), + datetime.datetime.now() + ) + + author = "" + if status.author: + author = str(status.author) + + values = { + "status": status.simple_content_status(), + "revision": revision, + "author": author, + "age": age + } + + for key, value in values.items(): + item.add_string_attribute(key, value) + + def update_status(self, item, path, status): + if status.summary in rabbitvcs.ui.STATUS_EMBLEMS: + item.add_emblem(rabbitvcs.ui.STATUS_EMBLEMS[status.summary]) + + #~ @disable + # @timeit + # FIXME: this is a bottleneck. See generate_statuses() in + # MainContextMenuConditions. + def get_file_items_full(self, provider, window, items): + """ + Menu activated with items selected. Caja also calls this function + when rendering submenus, even though this is not needed since the entire + menu has already been returned. + + Note that calling C{nautilusVFSFile.invalidate_extension_info()} will + also cause get_file_items to be called. + + @type window: NautilusNavigationWindow + @param window: + + @type items: list of NautilusVFSFile + @param items: + + @rtype: list of MenuItems + @return: The context menu entries to add to the menu. + + """ + + paths = [] + for item in items: + if self.valid_uri(item.get_uri()): + path = rabbitvcs.util.helper.unquote_url(self.get_local_path(item.get_uri())) + paths.append(path) + self.nautilusVFSFile_table[path] = item + + if len(paths) == 0: return [] + + # log.debug("get_file_items_full() called") + + paths_str = "-".join(paths) + + conditions_dict = None + if paths_str in self.items_cache: + conditions_dict = self.items_cache[paths_str] + if conditions_dict and conditions_dict != "in-progress": + conditions = CajaMenuConditions(conditions_dict) + menu = CajaMainContextMenu(self, window.base_dir, paths, conditions).get_menu() + return menu + + if conditions_dict != "in-progress": + self.status_checker.generate_menu_conditions_async(provider, window.base_dir, paths, self.update_file_items) + self.items_cache[path] = "in-progress" + + return () + + def get_file_items(self, window, items): + paths = [] + for item in items: + if self.valid_uri(item.get_uri()): + path = rabbitvcs.util.helper.unquote_url(self.get_local_path(item.get_uri())) + paths.append(path) + self.nautilusVFSFile_table[path] = item + + if len(paths) == 0: return [] + + # log.debug("get_file_items() called") + + return CajaMainContextMenu(self, window.base_dir, paths).get_menu() + + def update_file_items(self, provider, base_dir, paths, conditions_dict): + paths_str = "-".join(paths) + self.items_cache[paths_str] = conditions_dict + Caja.MenuProvider.emit_items_updated_signal(provider) + + #~ @disable + # This is useful for profiling. Rename it to "get_background_items" and then + # rename the real function "get_background_items_real". + def get_background_items_profile(self, window, item): + import cProfile + import rabbitvcs.util.helper + + path = unicode(gnomevfs.get_local_path_from_uri(item.get_uri()), + "utf-8").replace("/", ":") + + profile_data_file = os.path.join( + rabbitvcs.util.helper.get_home_folder(), + "checkerservice_%s.stats" % path) + + prof = cProfile.Profile() + retval = prof.runcall(self.get_background_items_real, window, item) + prof.dump_stats(profile_data_file) + log.debug("Dumped: %s" % profile_data_file) + return retval + + def get_background_items_full(self, provider, window, item): + """ + Menu activated on entering a directory. Builds context menu for File + menu and for window background. + + @type window: CajaNavigationWindow + @param window: + + @type item: CajaVFSFile + @param item: + + @rtype: list of MenuItems + @return: The context menu entries to add to the menu. + + """ + + if not self.valid_uri(item.get_uri()): return + path = rabbitvcs.util.helper.unquote_url(self.get_local_path(item.get_uri())) + self.nautilusVFSFile_table[path] = item + + # log.debug("get_background_items_full() called") + + conditions_dict = None + if path in self.items_cache: + conditions_dict = self.items_cache[path] + if conditions_dict and conditions_dict != "in-progress": + conditions = CajaMenuConditions(conditions_dict) + menu = CajaMainContextMenu(self, path, [path], conditions).get_menu() + return menu + + window.base_dir = path + + if conditions_dict != "in-progress": + self.status_checker.generate_menu_conditions_async(provider, path, [path], self.update_background_items) + self.items_cache[path] = "in-progress" + + return () + + def get_background_items(self, window, item): + if not self.valid_uri(item.get_uri()): return + path = rabbitvcs.util.helper.unquote_url(self.get_local_path(item.get_uri())) + self.nautilusVFSFile_table[path] = item + + # log.debug("get_background_items() called") + + window.base_dir = path + + return CajaMainContextMenu(self, path, [path]).get_menu() + + def update_background_items(self, provider, base_dir, paths, conditions_dict): + paths_str = "-".join(paths) + conditions = CajaMenuConditions(conditions_dict) + self.items_cache[paths_str] = conditions_dict + Caja.MenuProvider.emit_items_updated_signal(provider) + + # + # Helper functions + # + + def valid_uri(self, uri): + """ + Check whether or not it's a good idea to have RabbitVCS do + its magic for this URI. Some examples of URI schemes: + + x-nautilus-desktop:/// # e.g. mounted devices on the desktop + + """ + + if not uri.startswith("file://"): return False + + return True + + # + # Some methods to help with keeping emblems up-to-date + # + + def rescan_after_process_exit(self, proc, paths): + + def do_check(): + # We'll check the paths first (these were the paths that + # were originally passed along to the context menu). + # + # This is needed among other things for: + # + # - When a directory is normal and you add files inside it + # + for path in paths: + # We're not interested in the result now, just the callback + self.status_checker.check_status(path, + recurse=True, + invalidate=True, + callback=self.cb_status, + summary=True) + + self.execute_after_process_exit(proc, do_check) + + def execute_after_process_exit(self, proc, func=None): + + def is_process_still_alive(): + log.debug("is_process_still_alive() for pid: %i" % proc.pid) + # First we need to see if the commit process is still running + + retval = proc.poll() + + log.debug("%s" % retval) + + still_going = (retval is None) + + if not still_going and callable(func): + func() + + return still_going + + # Add our callback function on a 1 second timeout + GObject.timeout_add_seconds(1, is_process_still_alive) + + # + # Some other methods + # + + def reload_settings(self, proc): + """ + Used to re-load settings after the settings dialog has been closed. + + FIXME: This probably doesn't belong here, ideally the settings manager + does this itself and make sure everything is reloaded properly + after the settings dialogs saves. + """ + + def do_reload_settings(): + globals()["settings"] = SettingsManager() + globals()["log"] = reload_log_settings()("rabbitvcs.util.extensions.caja") + log.debug("Re-scanning settings") + + self.execute_after_process_exit(proc, do_reload_settings) + + + # + # Callbacks + # + + def cb_status(self, status): + """ + This is the callback that C{StatusMonitor} calls. + + @type path: string + @param path: The path of the item something interesting happened to. + + @type statuses: list of status objects + @param statuses: The statuses + """ + if status.path in self.nautilusVFSFile_table: + item = self.nautilusVFSFile_table[status.path] + # We need to invalidate the extension info for only one reason: + # + # - Invalidating the extension info will cause Caja to remove all + # temporary emblems we applied so we don't have overlay problems + # (with ourselves, we'd still have some with other extensions). + # + # After invalidating C{update_file_info} applies the correct emblem. + # Since invalidation triggers an "update_file_info" call, we can + # tell it NOT to invalidate the status checker path. + self.statuses_from_callback.append(status) + # NOTE! There is a call to "update_file_info" WITHIN the call to + # invalidate_extension_info() - beware recursion! + item.invalidate_extension_info() + if status.path in self.items_cache: + del self.items_cache[status.path] + else: + log.debug("Path [%s] not found in file table" % status.path) + + def get_property_pages(self, items): + paths = [] + + for item in items: + if self.valid_uri(item.get_uri()): + path = rabbitvcs.util.helper.unquote_url(self.get_local_path(item.get_uri())) + + if self.vcs_client.is_in_a_or_a_working_copy(path): + paths.append(path) + self.nautilusVFSFile_table[path] = item + + if len(paths) == 0: return [] + + label = rabbitvcs.ui.property_page.PropertyPageLabel(claim_domain=False).get_widget() + page = rabbitvcs.ui.property_page.PropertyPage(paths, claim_domain=False).get_widget() + + ppage = Caja.PropertyPage(name='RabbitVCS::PropertyPage', + label=label, + page=page) + + return [ppage] + +from rabbitvcs.util.contextmenuitems import * + +class CajaContextMenu(MenuBuilder): + """ + Provides a standard Caja context menu (ie. a list of + "Caja.MenuItem"s). + """ + + signal = "activate" + + def make_menu_item(self, item, id_magic): + identifier = item.make_magic_id(id_magic) + + menuitem = Caja.MenuItem( + name=identifier, + label=item.make_label(), + tip=item.tooltip, + icon=item.icon + ) + + if type(item) is MenuSeparator: + item.make_insensitive(menuitem) + + return menuitem + + def attach_submenu(self, menu_node, submenu_list): + submenu = Caja.Menu() + menu_node.set_submenu(submenu) + [submenu.append_item(item) for item in submenu_list] + + def top_level_menu(self, items): + return items + +class CajaMenuConditions(ContextMenuConditions): + def __init__(self, path_dict): + self.path_dict = path_dict + +class CajaMainContextMenu(MainContextMenu): + def get_menu(self): + return CajaContextMenu(self.structure, self.conditions, self.callbacks).menu diff -Nru rabbitvcs-0.15.3/clients/caja/README rabbitvcs-0.16/clients/caja/README --- rabbitvcs-0.15.3/clients/caja/README 1970-01-01 00:00:00.000000000 +0000 +++ rabbitvcs-0.16/clients/caja/README 2014-02-16 09:07:47.000000000 +0000 @@ -0,0 +1,28 @@ +RabbitVCS Caja Extension + +This extension is meant to be used with the Caja (MATE) File Manager, + +Requirements: + * caja + * caja-python + * python-dbus (> 0.80) + * (all other RabbitVCS requirements) + +To install: + To install for all users, copy RabbitVCS.py to: + /usr/share/caja-python/extensions + + To install for a single user, copy RabbitVCS.py to: + ~/.local/share/caja-python/extensions + + In both cases, you may need to create the caja-python/extensions folder. + + Restart nemo with the following commands: + $ caja -q + $ nohup caja > /dev/null & + +Troubleshooting: + + See the known-issues section of our website: + http://wiki.rabbitvcs.org/wiki/support/known-issues + diff -Nru rabbitvcs-0.15.3/clients/nautilus-3.0/README rabbitvcs-0.16/clients/nautilus-3.0/README --- rabbitvcs-0.15.3/clients/nautilus-3.0/README 2011-11-04 16:36:08.000000000 +0000 +++ rabbitvcs-0.16/clients/nautilus-3.0/README 2014-02-16 09:07:47.000000000 +0000 @@ -13,7 +13,7 @@ /usr/share/nautilus-python/extensions To install for a single user, copy RabbitVCS.py to: - ~/.local/share/nautilus-python-extensions + ~/.local/share/nautilus/python-extensions In both cases, you may need to create the python/python-extensions folder. diff -Nru rabbitvcs-0.15.3/clients/nemo/RabbitVCS.py rabbitvcs-0.16/clients/nemo/RabbitVCS.py --- rabbitvcs-0.15.3/clients/nemo/RabbitVCS.py 1970-01-01 00:00:00.000000000 +0000 +++ rabbitvcs-0.16/clients/nemo/RabbitVCS.py 2014-02-16 09:07:47.000000000 +0000 @@ -0,0 +1,671 @@ +# +# This is an extension to the Nautilus file manager to allow better +# integration with the Subversion source control system. +# +# Copyright (C) 2006-2008 by Jason Field +# Copyright (C) 2007-2008 by Bruce van der Kooij +# Copyright (C) 2008-2008 by Adam Plumb +# +# RabbitVCS is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# RabbitVCS is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with RabbitVCS; If not, see . +# + +""" + +Our module for everything related to the Nautilus extension. + +""" +from __future__ import with_statement + +def log_all_exceptions(type, value, tb): + import sys, traceback + from rabbitvcs.util.log import Log + log = Log("rabbitvcs.util.extensions.Nemo.RabbitVCS") + log.exception_info("Error caught by master exception hook!", + (type, value, tb)) + + text = ''.join(traceback.format_exception(type, value, + tb, limit=None)) + + try: + import rabbitvcs.ui.dialog + rabbitvcs.ui.dialog.ErrorNotification(text) + except Exception, ex: + log.exception("Additional exception when attempting" + " to display error dialog.") + log.exception(ex) + raise + + sys.__excepthook__(type, value, tb) + +# import sys +# sys.excepthook = log_all_exceptions + +import copy + +import os +os.environ["NAUTILUS_PYTHON_REQUIRE_GTK3"] = "1" + +import os.path +from os.path import isdir, isfile, realpath, basename +import datetime + +from gi.repository import Nemo, GObject, Gtk, GdkPixbuf + +import pysvn + +from rabbitvcs.vcs import VCS +import rabbitvcs.vcs.status + +from rabbitvcs.util.helper import launch_ui_window, launch_diff_tool +from rabbitvcs.util.helper import get_file_extension, get_common_directory +from rabbitvcs.util.helper import pretty_timedelta + +from rabbitvcs.util.decorators import timeit, disable + +from rabbitvcs.util.contextmenu import MenuBuilder, MainContextMenu, SEPARATOR, ContextMenuConditions + +import rabbitvcs.ui +import rabbitvcs.ui.property_page + +from rabbitvcs.util.log import Log, reload_log_settings +log = Log("rabbitvcs.util.extensions.Nemo.RabbitVCS") + +from rabbitvcs import gettext, get_icon_path +_ = gettext.gettext + +from rabbitvcs import version as EXT_VERSION + +from rabbitvcs.util.settings import SettingsManager +settings = SettingsManager() + +import rabbitvcs.services.service +from rabbitvcs.services.checkerservice import StatusCheckerStub as StatusChecker + +class RabbitVCS(Nemo.InfoProvider, Nemo.MenuProvider, + Nemo.ColumnProvider, Nemo.PropertyPageProvider, GObject.GObject): + """ + This is the main class that implements all of our awesome features. + + """ + + #: This is our lookup table for C{NautilusVFSFile}s which we need for attaching + #: emblems. This is mostly a workaround for not being able to turn a path/uri + #: into a C{NautilusVFSFile}. It looks like::: + #: + #: nautilusVFSFile_table = { + #: "/foo/bar/baz": + #: + #: } + #: + #: Keeping track of C{NautilusVFSFile}s is a little bit complicated because + #: when an item is moved (renamed) C{update_file_info} doesn't get called. So + #: we also add C{NautilusVFSFile}s to this table from C{get_file_items} etc. + # FIXME: this may be the source of the memory hogging seen in the extension + # script itself. + nautilusVFSFile_table = {} + + #: This is in case we want to permanently enable invalidation of the status + #: checker info. + always_invalidate = True + + #: When we get the statuses from the callback, put them here for further + #: use. This is of the form: [("path/to", {...status dict...}), ...] + statuses_from_callback = [] + + def get_local_path(self, path): + return path.replace("file://", "") + + def __init__(self): + factory = Gtk.IconFactory() + + rabbitvcs_icons = [ + "scalable/actions/rabbitvcs-settings.svg", + "scalable/actions/rabbitvcs-export.svg", + "scalable/actions/rabbitvcs-properties.svg", + "scalable/actions/rabbitvcs-show_log.svg", + "scalable/actions/rabbitvcs-delete.svg", + "scalable/actions/rabbitvcs-run.svg", + "scalable/actions/rabbitvcs-unlock.svg", + "scalable/actions/rabbitvcs-dbus.svg", + "scalable/actions/rabbitvcs-rename.svg", + "scalable/actions/rabbitvcs-help.svg", + "scalable/actions/rabbitvcs-update.svg", + "scalable/actions/rabbitvcs-diff.svg", + "scalable/actions/rabbitvcs-resolve.svg", + "scalable/actions/rabbitvcs-about.svg", + "scalable/actions/rabbitvcs-add.svg", + "scalable/actions/rabbitvcs-changes.svg", + "scalable/actions/rabbitvcs-createpatch.svg", + "scalable/actions/rabbitvcs-merge.svg", + "scalable/actions/rabbitvcs-drive.svg", + "scalable/actions/rabbitvcs-stop.svg", + "scalable/actions/rabbitvcs-checkout.svg", + "scalable/actions/rabbitvcs-import.svg", + "scalable/actions/rabbitvcs-branch.svg", + "scalable/actions/rabbitvcs-refresh.svg", + "scalable/actions/rabbitvcs-editconflicts.svg", + "scalable/actions/rabbitvcs-monkey.svg", + "scalable/actions/rabbitvcs-applypatch.svg", + "scalable/actions/rabbitvcs-switch.svg", + "scalable/actions/rabbitvcs-lock.svg", + "scalable/actions/rabbitvcs-annotate.svg", + "scalable/actions/rabbitvcs-compare.svg", + "scalable/actions/rabbitvcs-revert.svg", + "scalable/actions/rabbitvcs-bug.svg", + "scalable/actions/rabbitvcs-cleanup.svg", + "scalable/actions/rabbitvcs-clear.svg", + "scalable/actions/rabbitvcs-unstage.svg", + "scalable/actions/rabbitvcs-emblems.svg", + "scalable/actions/rabbitvcs-relocate.svg", + "scalable/actions/rabbitvcs-reset.svg", + "scalable/actions/rabbitvcs-asynchronous.svg", + "scalable/actions/rabbitvcs-commit.svg", + "scalable/actions/rabbitvcs-checkmods.svg", + "scalable/apps/rabbitvcs.svg", + "scalable/apps/rabbitvcs-small.svg", + "16x16/actions/rabbitvcs-push.png" + ] + + rabbitvcs_icon_path = get_icon_path() + for rel_icon_path in rabbitvcs_icons: + icon_path = "%s/%s" % (rabbitvcs_icon_path, rel_icon_path) + file = os.path.basename(rel_icon_path) + (root, ext) = os.path.splitext(file) + + pixbuf = GdkPixbuf.Pixbuf.new_from_file(icon_path) + iconset = Gtk.IconSet.new_from_pixbuf(pixbuf) + factory.add(root, iconset) + + factory.add_default() + + # Create a global client we can use to do VCS related stuff + self.vcs_client = VCS() + + self.status_checker = StatusChecker() + + self.status_checker.assert_version(EXT_VERSION) + + self.items_cache = {} + + def get_columns(self): + """ + Return all the columns we support. + + """ + + return ( + Nemo.Column( + name="RabbitVCS::status_column", + attribute="status", + label=_("RVCS Status"), + description="" + ), + Nemo.Column( + name="RabbitVCS::revision_column", + attribute="revision", + label=_("RVCS Revision"), + description="" + ), + Nemo.Column( + name="RabbitVCS::author_column", + attribute="author", + label=_("RVCS Author"), + description="" + ), + Nemo.Column( + name="RabbitVCS::age_column", + attribute="age", + label=_("RVCS Age"), + description="" + ) + ) + + def update_file_info(self, item): + """ + + C{update_file_info} is called only when: + + - When you enter a directory (once for each item but only when the + item was modified since the last time it was listed) + - When you refresh (once for each item visible) + - When an item viewable from the current window is created or modified + + This is insufficient for our purpose because: + + - You're not notified about items you don't see (which is needed to + keep the emblem for the directories above the item up-to-date) + + @type item: NautilusVFSFile + @param item: + + """ + enable_emblems = bool(int(settings.get("general", "enable_emblems"))) + enable_attrs = bool(int(settings.get("general", "enable_attributes"))) + + if not (enable_emblems or enable_attrs): return Nemo.OperationResult.COMPLETE + + if not self.valid_uri(item.get_uri()): return Nemo.OperationResult.FAILED + + path = rabbitvcs.util.helper.unquote_url(self.get_local_path(item.get_uri())) + + # log.debug("update_file_info() called for %s" % path) + + invalidate = False + if path in self.nautilusVFSFile_table: + invalidate = True + + # Always replace the item in the table with the one we receive, because + # for example if an item is deleted and recreated the NautilusVFSFile + # we had before will be invalid (think pointers and such). + self.nautilusVFSFile_table[path] = item + + # This check should be pretty obvious :-) + # TODO: how come the statuses for a few directories are incorrect + # when we remove this line (detected as working copies, even though + # they are not)? That shouldn't happen. + is_in_a_or_a_working_copy = self.vcs_client.is_in_a_or_a_working_copy(path) + if not is_in_a_or_a_working_copy: return Nemo.OperationResult.COMPLETE + + # Do our magic... + + # I have added extra logic in cb_status, using a list + # (paths_from_callback) that should allow us to work around this for + # now. But it'd be good to have an actual status monitor. + + found = False + status = None + # Could replace with (st for st in self.... if st.path ...).next() + # Need to catch exception + for idx in xrange(len(self.statuses_from_callback)): + found = (self.statuses_from_callback[idx].path) == path + if found: break + + if found: # We're here because we were triggered by a callback + status = self.statuses_from_callback[idx] + del self.statuses_from_callback[idx] + + # Don't bother the checker if we already have the info from a callback + if not found: + status = \ + self.status_checker.check_status(path, + recurse=True, + summary=True, + callback=self.cb_status, + invalidate=invalidate) + + # FIXME: when did this get disabled? + if enable_attrs: self.update_columns(item, path, status) + if enable_emblems: self.update_status(item, path, status) + + return Nemo.OperationResult.COMPLETE + + def update_columns(self, item, path, status): + """ + Update the columns (attributes) for a given Nautilus item, + filling them in with information from the version control + server. + + """ + + revision = "" + if status.revision: + revision = str(status.revision) + + age = "" + if status.date: + age = pretty_timedelta( + datetime.datetime.fromtimestamp(status.date), + datetime.datetime.now() + ) + + author = "" + if status.author: + author = str(status.author) + + values = { + "status": status.simple_content_status(), + "revision": revision, + "author": author, + "age": age + } + + for key, value in values.items(): + item.add_string_attribute(key, value) + + def update_status(self, item, path, status): + if status.summary in rabbitvcs.ui.STATUS_EMBLEMS: + item.add_emblem(rabbitvcs.ui.STATUS_EMBLEMS[status.summary]) + + #~ @disable + # @timeit + # FIXME: this is a bottleneck. See generate_statuses() in + # MainContextMenuConditions. + def get_file_items_full(self, provider, window, items): + """ + Menu activated with items selected. Nautilus also calls this function + when rendering submenus, even though this is not needed since the entire + menu has already been returned. + + Note that calling C{nautilusVFSFile.invalidate_extension_info()} will + also cause get_file_items to be called. + + @type window: NautilusNavigationWindow + @param window: + + @type items: list of NautilusVFSFile + @param items: + + @rtype: list of MenuItems + @return: The context menu entries to add to the menu. + + """ + + paths = [] + for item in items: + if self.valid_uri(item.get_uri()): + path = rabbitvcs.util.helper.unquote_url(self.get_local_path(item.get_uri())) + paths.append(path) + self.nautilusVFSFile_table[path] = item + + if len(paths) == 0: return [] + + # log.debug("get_file_items_full() called") + + paths_str = "-".join(paths) + + conditions_dict = None + if paths_str in self.items_cache: + conditions_dict = self.items_cache[paths_str] + if conditions_dict and conditions_dict != "in-progress": + conditions = NautilusMenuConditions(conditions_dict) + menu = NautilusMainContextMenu(self, window.base_dir, paths, conditions).get_menu() + return menu + + if conditions_dict != "in-progress": + self.status_checker.generate_menu_conditions_async(provider, window.base_dir, paths, self.update_file_items) + self.items_cache[path] = "in-progress" + + return () + + def get_file_items(self, window, items): + paths = [] + for item in items: + if self.valid_uri(item.get_uri()): + path = rabbitvcs.util.helper.unquote_url(self.get_local_path(item.get_uri())) + paths.append(path) + self.nautilusVFSFile_table[path] = item + + if len(paths) == 0: return [] + + # log.debug("get_file_items() called") + + return NautilusMainContextMenu(self, window.base_dir, paths).get_menu() + + def update_file_items(self, provider, base_dir, paths, conditions_dict): + paths_str = "-".join(paths) + self.items_cache[paths_str] = conditions_dict + Nemo.MenuProvider.emit_items_updated_signal(provider) + + #~ @disable + # This is useful for profiling. Rename it to "get_background_items" and then + # rename the real function "get_background_items_real". + def get_background_items_profile(self, window, item): + import cProfile + import rabbitvcs.util.helper + + path = unicode(gnomevfs.get_local_path_from_uri(item.get_uri()), + "utf-8").replace("/", ":") + + profile_data_file = os.path.join( + rabbitvcs.util.helper.get_home_folder(), + "checkerservice_%s.stats" % path) + + prof = cProfile.Profile() + retval = prof.runcall(self.get_background_items_real, window, item) + prof.dump_stats(profile_data_file) + log.debug("Dumped: %s" % profile_data_file) + return retval + + def get_background_items_full(self, provider, window, item): + """ + Menu activated on entering a directory. Builds context menu for File + menu and for window background. + + @type window: NautilusNavigationWindow + @param window: + + @type item: NautilusVFSFile + @param item: + + @rtype: list of MenuItems + @return: The context menu entries to add to the menu. + + """ + + if not self.valid_uri(item.get_uri()): return + path = rabbitvcs.util.helper.unquote_url(self.get_local_path(item.get_uri())) + self.nautilusVFSFile_table[path] = item + + # log.debug("get_background_items_full() called") + + conditions_dict = None + if path in self.items_cache: + conditions_dict = self.items_cache[path] + if conditions_dict and conditions_dict != "in-progress": + conditions = NautilusMenuConditions(conditions_dict) + menu = NautilusMainContextMenu(self, path, [path], conditions).get_menu() + return menu + + window.base_dir = path + + if conditions_dict != "in-progress": + self.status_checker.generate_menu_conditions_async(provider, path, [path], self.update_background_items) + self.items_cache[path] = "in-progress" + + return () + + def get_background_items(self, window, item): + if not self.valid_uri(item.get_uri()): return + path = rabbitvcs.util.helper.unquote_url(self.get_local_path(item.get_uri())) + self.nautilusVFSFile_table[path] = item + + # log.debug("get_background_items() called") + + window.base_dir = path + + return NautilusMainContextMenu(self, path, [path]).get_menu() + + def update_background_items(self, provider, base_dir, paths, conditions_dict): + paths_str = "-".join(paths) + conditions = NautilusMenuConditions(conditions_dict) + self.items_cache[paths_str] = conditions_dict + Nemo.MenuProvider.emit_items_updated_signal(provider) + + # + # Helper functions + # + + def valid_uri(self, uri): + """ + Check whether or not it's a good idea to have RabbitVCS do + its magic for this URI. Some examples of URI schemes: + + x-nautilus-desktop:/// # e.g. mounted devices on the desktop + + """ + + if not uri.startswith("file://"): return False + + return True + + # + # Some methods to help with keeping emblems up-to-date + # + + def rescan_after_process_exit(self, proc, paths): + + def do_check(): + # We'll check the paths first (these were the paths that + # were originally passed along to the context menu). + # + # This is needed among other things for: + # + # - When a directory is normal and you add files inside it + # + for path in paths: + # We're not interested in the result now, just the callback + self.status_checker.check_status(path, + recurse=True, + invalidate=True, + callback=self.cb_status, + summary=True) + + self.execute_after_process_exit(proc, do_check) + + def execute_after_process_exit(self, proc, func=None): + + def is_process_still_alive(): + log.debug("is_process_still_alive() for pid: %i" % proc.pid) + # First we need to see if the commit process is still running + + retval = proc.poll() + + log.debug("%s" % retval) + + still_going = (retval is None) + + if not still_going and callable(func): + func() + + return still_going + + # Add our callback function on a 1 second timeout + GObject.timeout_add_seconds(1, is_process_still_alive) + + # + # Some other methods + # + + def reload_settings(self, proc): + """ + Used to re-load settings after the settings dialog has been closed. + + FIXME: This probably doesn't belong here, ideally the settings manager + does this itself and make sure everything is reloaded properly + after the settings dialogs saves. + """ + + def do_reload_settings(): + globals()["settings"] = SettingsManager() + globals()["log"] = reload_log_settings()("rabbitvcs.util.extensions.nautilus") + log.debug("Re-scanning settings") + + self.execute_after_process_exit(proc, do_reload_settings) + + + # + # Callbacks + # + + def cb_status(self, status): + """ + This is the callback that C{StatusMonitor} calls. + + @type path: string + @param path: The path of the item something interesting happened to. + + @type statuses: list of status objects + @param statuses: The statuses + """ + if status.path in self.nautilusVFSFile_table: + item = self.nautilusVFSFile_table[status.path] + # We need to invalidate the extension info for only one reason: + # + # - Invalidating the extension info will cause Nautilus to remove all + # temporary emblems we applied so we don't have overlay problems + # (with ourselves, we'd still have some with other extensions). + # + # After invalidating C{update_file_info} applies the correct emblem. + # Since invalidation triggers an "update_file_info" call, we can + # tell it NOT to invalidate the status checker path. + self.statuses_from_callback.append(status) + # NOTE! There is a call to "update_file_info" WITHIN the call to + # invalidate_extension_info() - beware recursion! + item.invalidate_extension_info() + if status.path in self.items_cache: + del self.items_cache[status.path] + else: + log.debug("Path [%s] not found in file table" % status.path) + + def get_property_pages(self, items): + paths = [] + + for item in items: + if self.valid_uri(item.get_uri()): + path = rabbitvcs.util.helper.unquote_url(self.get_local_path(item.get_uri())) + + if self.vcs_client.is_in_a_or_a_working_copy(path): + paths.append(path) + self.nautilusVFSFile_table[path] = item + + if len(paths) == 0: return [] + + label = rabbitvcs.ui.property_page.PropertyPageLabel(claim_domain=False).get_widget() + page = rabbitvcs.ui.property_page.PropertyPage(paths, claim_domain=False).get_widget() + + ppage = Nemo.PropertyPage(name='RabbitVCS::PropertyPage', + label=label, + page=page) + + return [ppage] + +from rabbitvcs.util.contextmenuitems import * + +class NautilusContextMenu(MenuBuilder): + """ + Provides a standard Nautilus context menu (ie. a list of + "Nemo.MenuItem"s). + """ + + signal = "activate" + + def make_menu_item(self, item, id_magic): +# return item.make_nautilus_menu_item(id_magic) + + identifier = item.make_magic_id(id_magic) + + menuitem = Nemo.MenuItem( + name=identifier, + label=item.make_label(), + tip=item.tooltip, + icon=item.icon + ) + + return menuitem + + def attach_submenu(self, menu_node, submenu_list): + submenu = Nemo.Menu() + menu_node.set_submenu(submenu) + [submenu.append_item(item) for item in submenu_list] + + def top_level_menu(self, items): + return items + +class NautilusMenuConditions(ContextMenuConditions): + def __init__(self, path_dict): + self.path_dict = path_dict + +class NautilusMainContextMenu(MainContextMenu): + def get_menu(self): + return NautilusContextMenu(self.structure, self.conditions, self.callbacks).menu diff -Nru rabbitvcs-0.15.3/clients/nemo/README rabbitvcs-0.16/clients/nemo/README --- rabbitvcs-0.15.3/clients/nemo/README 1970-01-01 00:00:00.000000000 +0000 +++ rabbitvcs-0.16/clients/nemo/README 2014-02-16 09:07:47.000000000 +0000 @@ -0,0 +1,29 @@ +RabbitVCS Nautilus3 Extension + +This extension is meant to be used with the Nautilus File Manager v3, + +Requirements: + * nemo + * nemo-python + * python-dbus (> 0.80) + * (all other RabbitVCS requirements) + +To install: + To install for all users, copy RabbitVCS.py to: + /usr/share/nemo-python/extensions + + To install for a single user, copy RabbitVCS.py to: + ~/.local/share/nemo-python-extensions + + In both cases, you may need to create the python/python-extensions folder. + + Restart nemo with the following commands: + $ nemo -q + $ pgrep -f service.py | xargs kill + $ nohup nautilus > /dev/null & + +Troubleshooting: + + See the known-issues section of our website: + http://wiki.rabbitvcs.org/wiki/support/known-issues + diff -Nru rabbitvcs-0.15.3/clients/thunar/RabbitVCS.py rabbitvcs-0.16/clients/thunar/RabbitVCS.py --- rabbitvcs-0.15.3/clients/thunar/RabbitVCS.py 2012-09-23 05:48:35.000000000 +0000 +++ rabbitvcs-0.16/clients/thunar/RabbitVCS.py 2014-02-16 09:07:47.000000000 +0000 @@ -31,7 +31,7 @@ import datetime import time import threading - +import urllib import thunarx import pysvn import gobject @@ -149,7 +149,7 @@ self.status_checker = StatusChecker() def get_local_path(self, item): - return item.get_uri().replace("file://", "") + return urllib.unquote(item.get_uri().replace("file://", "")) #~ @disable # @timeit diff -Nru rabbitvcs-0.15.3/debian/changelog rabbitvcs-0.16/debian/changelog --- rabbitvcs-0.15.3/debian/changelog 2013-06-15 03:57:36.000000000 +0000 +++ rabbitvcs-0.16/debian/changelog 2014-03-01 06:07:26.000000000 +0000 @@ -1,3 +1,9 @@ +rabbitvcs (0.16-1~precise) precise; urgency=medium + + * New upstream release + + -- Jason Heeris Sun, 23 Feb 2014 16:46:53 +0800 + rabbitvcs (0.15.3-2~precise) precise; urgency=low * Fixed thunarx-python script installation diff -Nru rabbitvcs-0.15.3/debian/gbp.conf rabbitvcs-0.16/debian/gbp.conf --- rabbitvcs-0.15.3/debian/gbp.conf 1970-01-01 00:00:00.000000000 +0000 +++ rabbitvcs-0.16/debian/gbp.conf 2014-03-01 06:07:26.000000000 +0000 @@ -0,0 +1,4 @@ +[DEFAULT] +upstream-branch = master +debian-branch = ubuntu-precise +upstream-tag = v%(version)s diff -Nru rabbitvcs-0.15.3/debian/watch rabbitvcs-0.16/debian/watch --- rabbitvcs-0.15.3/debian/watch 2013-05-05 10:36:05.000000000 +0000 +++ rabbitvcs-0.16/debian/watch 2014-03-01 06:06:44.000000000 +0000 @@ -1,5 +1,3 @@ -version=3 -opts=\ -downloadurlmangle=s|.*[?]name=(.*?)&.*|http://rabbitvcs.googlecode.com/files/$1|,\ -filenamemangle=s|[^/]+[?]name=(.*?)&.*|$1| \ -http://code.google.com/p/rabbitvcs/downloads/detail[?]name=rabbitvcs-([0-9.]+).tar.gz&.* +version=2 +https://github.com/rabbitvcs/rabbitvcs/releases .*/v?(.+)\.tar\.gz + diff -Nru rabbitvcs-0.15.3/packages/debian/debian/changelog rabbitvcs-0.16/packages/debian/debian/changelog --- rabbitvcs-0.15.3/packages/debian/debian/changelog 2012-09-23 05:48:35.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/changelog 1970-01-01 00:00:00.000000000 +0000 @@ -1,63 +0,0 @@ -rabbitvcs (0.15.2-1) unstable; urgency=low - - * New upstream release 0.15.2 - * Issue 187: Drop-down list of pre-defined properties in the property dialog - * Issue 261: RabbitVCS incompatible with TortoiseHg - * Issue 562: 'Refresh Status' does not work - * Issue 585: Fix "Browser can not handle path with non-English name" - * Issue 586: Fixed "Browser can not handle path with non-English name" - * Issue 564: Debian: Version of python-svn in Depends: is too low - * Issue 579: Ask for dulwich 0.6.1+ - * Issue 605: Log window Forward button does not work for me - * Issue 628: (Sub)directories with a white space are not correctly managed - * Issue 716: Unicode regression from (Sub)directories with a white space are not correctly managed - * Fixed commit ID not being reported when committing to a git repository. - * Updated packaging for Ubuntu and Debian. Added packaging for Quantal Quetzal (12.10) Ubuntu release. - - -- Jason Heeris Sun, 16 Sep 2012 17:53:46 +0800 - -rabbitvcs (0.15.0.5-1) unstable; urgency=low - - * New upstream release fixing several installation issues. - - -- Jason Heeris Sat, 12 Nov 2011 01:39:48 +0800 - -rabbitvcs (0.15.0.1-1) unstable; urgency=low - - * New upstream release - * New client for Nautilus 3 - - -- Jason Heeris Sun, 06 Nov 2011 20:55:53 +0800 - -rabbitvcs (0.14.2.1-1) unstable; urgency=low - - * New upstream release. Package description now includes Git. - - -- Jason Heeris Sun, 08 May 2011 09:41:40 +0800 - -rabbitvcs (0.13.3-1) UNRELEASED; urgency=low - - [ Jason Heeris ] - * New upstream release - * Package description now states Subversion only. Closes: #580716. - - [ Sameer Rahmani ] - * watch file fixed. - - -- Jason Heeris Fri, 18 Jun 2010 18:52:59 +0800 - -rabbitvcs (0.13.1-2) unstable; urgency=low - - * Team upload - * debian/control - - added python-gnome2 to Depends of rabbitvcs-nautilus; Closes: #610473 - - -- Debian Python Modules Team Thu, 20 Jan 2011 00:50:44 +0100 - -rabbitvcs (0.13.1-1) unstable; urgency=low - - * Replaced multiple tarballs with single tarball plus split-out binary - packages. - * Again closes: #469181. - - -- Jason Heeris Fri, 02 Apr 2010 17:03:15 +0800 diff -Nru rabbitvcs-0.15.3/packages/debian/debian/clean rabbitvcs-0.16/packages/debian/debian/clean --- rabbitvcs-0.15.3/packages/debian/debian/clean 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/clean 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -rabbitvcs/buildinfo.py - diff -Nru rabbitvcs-0.15.3/packages/debian/debian/compat rabbitvcs-0.16/packages/debian/debian/compat --- rabbitvcs-0.15.3/packages/debian/debian/compat 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -7 diff -Nru rabbitvcs-0.15.3/packages/debian/debian/control rabbitvcs-0.16/packages/debian/debian/control --- rabbitvcs-0.15.3/packages/debian/debian/control 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/control 1970-01-01 00:00:00.000000000 +0000 @@ -1,99 +0,0 @@ -Source: rabbitvcs -Maintainer: Jason Heeris -Section: devel -Priority: optional -Build-Depends: debhelper (>= 7), - python (>= 2.5.2) -Build-Depends-Indep: python-support (>= 0.5.3), - pkg-config (>= 0.20) -Standards-Version: 3.9.2.0 -XS-Python-Version: >= 2.5 -Homepage: http://www.rabbitvcs.org - -Package: rabbitvcs-core -Architecture: all -Depends: ${misc:Depends}, - ${python:Depends}, - python-gtk2 (>= 2.12.1), - python-gobject (>= 2.14.1), - python-svn (>= 1.7.2), - python-dbus (>= 0.82.4), - python-configobj (>= 4.4.0), - subversion (>= 1.4.6), - meld (>=1.1.2), - ipython (>=0.7.1), - hicolor-icon-theme (>= 0.10-2), - python-dulwich (>= 0.6.1) -Conflicts: nautilussvn, rabbitvcs -Replaces: nautilussvn -Description: Easy version control - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - There are extensions for Nautilus, Thunar and GEdit, and a simple command-line - interface. - -Package: rabbitvcs-cli -Architecture: all -Depends: ${misc:Depends}, - ${python:Depends}, - rabbitvcs-core (>= 0.15) -Description: Command line interface for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the command-line interface. - -Package: rabbitvcs-gedit -Architecture: all -Depends: ${misc:Depends}, - gedit (<< 3.0), - rabbitvcs-core (>= 0.15) -Description: Gedit extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for gedit (v2) text editor. - -Package: rabbitvcs-gedit3 -Architecture: all -Depends: ${misc:Depends}, - gedit (>= 3.0), - rabbitvcs-core (>= 0.15) -Description: Gedit extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for gedit (v3) text editor. - -Package: rabbitvcs-nautilus -Architecture: all -Depends: ${misc:Depends}, - nautilus (<< 3.0~), - python-nautilus (>= 0.5.0~), - python-nautilus (<< 1.0~), - rabbitvcs-core (>= 0.15) -Description: Nautilus 2 extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Nautilus file manager (v2 only). - -Package: rabbitvcs-nautilus3 -Architecture: all -Depends: ${misc:Depends}, - nautilus (>= 3~), - python-nautilus (>= 1.0~), - python-gobject (>= 2.28.2~), - rabbitvcs-core (>= 0.15) -Description: Nautilus 3 extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Nautilus file manager (v3.0 or greater). - -Package: rabbitvcs-thunar -Architecture: all -Depends: ${misc:Depends}, - thunar (>= 0.4.0), - thunarx-python (>= 0.2.0), - rabbitvcs-core (>= 0.15) -Description: Thunar extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Thunar file manager. - diff -Nru rabbitvcs-0.15.3/packages/debian/debian/copyright rabbitvcs-0.16/packages/debian/debian/copyright --- rabbitvcs-0.15.3/packages/debian/debian/copyright 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/copyright 1970-01-01 00:00:00.000000000 +0000 @@ -1,92 +0,0 @@ -Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=48 -Name: rabbitvcs -Contact: RabbitVCS Team -Source: http://code.google.com/p/rabbitvcs/ - -Files: * -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2009-2010, Jason Heeris -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: debian/* -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2009-2011, Jason Heeris -License: GPL-3+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-3' - file. - -Files: rabbitvcs/data/icons/hicolor/scalable/emblems/*.svg -Copyright: TortoiseSVN -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: rabbitvcs/util/decorators.py -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2005-2009, Bastian Kleineidam - 2009, Jason Heeris -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: rabbitvcs/debug/ipython_view.py -Copyright: 2007, IBM Corporation -License: - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of the IBM nor the names of its contributors may be - used to endorse or promote products derived from this software without - specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - -Files: rabbitvcs/ui/wraplabel.py -Copyright: 2005, VMware Inc. -License: Expat - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to - deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. diff -Nru rabbitvcs-0.15.3/packages/debian/debian/patches/99_setup.py.patch rabbitvcs-0.16/packages/debian/debian/patches/99_setup.py.patch --- rabbitvcs-0.15.3/packages/debian/debian/patches/99_setup.py.patch 2011-11-06 12:56:57.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/patches/99_setup.py.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -Description: Remove GTK icon cache rebuilding. - This removes the rebuilding of the GTK icon cache after installing the core. - It is not needed in any distro with hicolor-icon-theme >= 0.10-2 -Forwarded: not-needed -Author: Jason Heeris - -diff -Nur -x '*.orig' -x '*~' rabbitvcs-0.15/setup.py rabbitvcs-0.15.new/setup.py ---- rabbitvcs-0.15/setup.py 2011-11-06 11:32:48.053065966 +0800 -+++ rabbitvcs-0.15.new/setup.py 2011-11-06 11:33:02.232892091 +0800 -@@ -154,14 +154,3 @@ - # - # Post installation - # -- --# Make sure the icon cache is deleted and recreated --if sys.argv[1] == "install": -- -- if os.uname()[0] != 'Darwin': -- print "Running gtk-update-icon-cache" -- -- subprocess.Popen( -- ["gtk-update-icon-cache", icon_theme_directory], -- stdout=subprocess.PIPE -- ).communicate()[0] diff -Nru rabbitvcs-0.15.3/packages/debian/debian/patches/series rabbitvcs-0.16/packages/debian/debian/patches/series --- rabbitvcs-0.15.3/packages/debian/debian/patches/series 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -99_setup.py.patch diff -Nru rabbitvcs-0.15.3/packages/debian/debian/pycompat rabbitvcs-0.16/packages/debian/debian/pycompat --- rabbitvcs-0.15.3/packages/debian/debian/pycompat 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/pycompat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -2 diff -Nru rabbitvcs-0.15.3/packages/debian/debian/pyversions rabbitvcs-0.16/packages/debian/debian/pyversions --- rabbitvcs-0.15.3/packages/debian/debian/pyversions 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/pyversions 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -2.5- diff -Nru rabbitvcs-0.15.3/packages/debian/debian/rabbitvcs.1 rabbitvcs-0.16/packages/debian/debian/rabbitvcs.1 --- rabbitvcs-0.15.3/packages/debian/debian/rabbitvcs.1 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/rabbitvcs.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ -.\"Created with GNOME Manpages Editor Wizard -.\"http://sourceforge.net/projects/gmanedit2 -.TH rabbitvcs 1 "May 25, 2009" "" "rabbitvcs" - -.SH NAME -rabbitvcs \- Integrated version control for Nautilus - -.SH SYNOPSIS -.B rabbitvcs - [path1] [path2] ... -.br - -.SH DESCRIPTION -.B rabbitvcs -provides integrated support for various version control version systems in -the Nautilus file manager (currently only subversion). This command opens -a new -.B nautilus -window and applies the given VCS command. - -.SH OPTIONS -.B -.IP module -The VCS command to invoke. Available modules are: about, add, blame, checkout, -cleanup, commit, create, delete, export, ignore, import, lock, log, merge, -properties, relocate, rename, resolve, revert, settings, switch, unlock, update, -updateto - -.B -.IP path -The file(s) or directory(\-ies) to apply the action to. - -.SH "SEE ALSO" -.B nautilus(1) -, -.B svn(1) diff -Nru rabbitvcs-0.15.3/packages/debian/debian/rabbitvcs-cli.install rabbitvcs-0.16/packages/debian/debian/rabbitvcs-cli.install --- rabbitvcs-0.15.3/packages/debian/debian/rabbitvcs-cli.install 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/rabbitvcs-cli.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/cli/rabbitvcs usr/bin diff -Nru rabbitvcs-0.15.3/packages/debian/debian/rabbitvcs-cli.manpages rabbitvcs-0.16/packages/debian/debian/rabbitvcs-cli.manpages --- rabbitvcs-0.15.3/packages/debian/debian/rabbitvcs-cli.manpages 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/rabbitvcs-cli.manpages 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/rabbitvcs.1 diff -Nru rabbitvcs-0.15.3/packages/debian/debian/rabbitvcs-core.install rabbitvcs-0.16/packages/debian/debian/rabbitvcs-core.install --- rabbitvcs-0.15.3/packages/debian/debian/rabbitvcs-core.install 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/rabbitvcs-core.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/tmp/* . diff -Nru rabbitvcs-0.15.3/packages/debian/debian/rabbitvcs-gedit.install rabbitvcs-0.16/packages/debian/debian/rabbitvcs-gedit.install --- rabbitvcs-0.15.3/packages/debian/debian/rabbitvcs-gedit.install 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/rabbitvcs-gedit.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -clients/gedit/rabbitvcs-plugin.py usr/lib/gedit-2/plugins -clients/gedit/rabbitvcs-gedit2.gedit-plugin usr/lib/gedit-2/plugins diff -Nru rabbitvcs-0.15.3/packages/debian/debian/rabbitvcs-nautilus3.install rabbitvcs-0.16/packages/debian/debian/rabbitvcs-nautilus3.install --- rabbitvcs-0.15.3/packages/debian/debian/rabbitvcs-nautilus3.install 2011-11-11 17:43:52.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/rabbitvcs-nautilus3.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/nautilus-3.0/RabbitVCS.py usr/share/nautilus-python/extensions diff -Nru rabbitvcs-0.15.3/packages/debian/debian/rabbitvcs-nautilus.install rabbitvcs-0.16/packages/debian/debian/rabbitvcs-nautilus.install --- rabbitvcs-0.15.3/packages/debian/debian/rabbitvcs-nautilus.install 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/rabbitvcs-nautilus.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/nautilus/RabbitVCS.py usr/lib/nautilus/extensions-2.0/python diff -Nru rabbitvcs-0.15.3/packages/debian/debian/rabbitvcs-thunar.install rabbitvcs-0.16/packages/debian/debian/rabbitvcs-thunar.install --- rabbitvcs-0.15.3/packages/debian/debian/rabbitvcs-thunar.install 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/rabbitvcs-thunar.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -clients/thunar/RabbitVCS.py usr/lib/thunarx-2/python -clients/thunar/RabbitVCS.py usr/lib/thunarx-1/python diff -Nru rabbitvcs-0.15.3/packages/debian/debian/rules rabbitvcs-0.16/packages/debian/debian/rules --- rabbitvcs-0.15.3/packages/debian/debian/rules 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/rules 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -#!/usr/bin/make -f - -# Uncomment this to turn on verbose mode. -# export DH_VERBOSE=1 - -%: - dh $@ diff -Nru rabbitvcs-0.15.3/packages/debian/debian/source/format rabbitvcs-0.16/packages/debian/debian/source/format --- rabbitvcs-0.15.3/packages/debian/debian/source/format 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/source/format 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -3.0 (quilt) \ No newline at end of file diff -Nru rabbitvcs-0.15.3/packages/debian/debian/watch rabbitvcs-0.16/packages/debian/debian/watch --- rabbitvcs-0.15.3/packages/debian/debian/watch 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/debian/debian/watch 1970-01-01 00:00:00.000000000 +0000 @@ -1,5 +0,0 @@ -version=3 -opts=\ -downloadurlmangle=s|.*[?]name=(.*?)&.*|http://rabbitvcs.googlecode.com/files/$1|,\ -filenamemangle=s|[^/]+[?]name=(.*?)&.*|$1| \ -http://code.google.com/p/rabbitvcs/downloads/detail[?]name=rabbitvcs-([0-9.]+).tar.gz&.* diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/changelog rabbitvcs-0.16/packages/karmic/debian/changelog --- rabbitvcs-0.15.3/packages/karmic/debian/changelog 2011-11-11 17:46:35.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/changelog 1970-01-01 00:00:00.000000000 +0000 @@ -1,80 +0,0 @@ -rabbitvcs (0.15.0.5-2~karmic) karmic; urgency=low - - * Fixed Nautilus 3.0 client installation issue - - -- Jason Heeris Sat, 12 Nov 2011 01:44:06 +0800 - -rabbitvcs (0.15.0.5-1~karmic) karmic; urgency=low - - * New upstream release fixing gtkspell integration - - -- Jason Heeris Thu, 10 Nov 2011 07:19:17 +0800 - -rabbitvcs (0.15.0.3-1~karmic) karmic; urgency=low - - * New upstream point release: fixes missing data files. - - -- Jason Heeris Wed, 09 Nov 2011 23:41:04 +0800 - -rabbitvcs (0.15.0.1-3~karmic) karmic; urgency=low - - * Fixed epoch numbers in release - * Fixed client installation - - -- Jason Heeris Tue, 08 Nov 2011 08:08:53 +0800 - -rabbitvcs (0.15.0.1-1~karmic) karmic; urgency=low - - * New upstream release - * Builds new package "rabbitvcs-nautilus3" for Nautilus 3 - - -- Jason Heeris Sun, 06 Nov 2011 11:08:18 +0800 - -rabbitvcs (0.14.2.1-1~karmic) karmic; urgency=low - - * New upstream release - - -- Jason Heeris Sat, 19 Feb 2011 01:19:48 +0800 - -rabbitvcs (0.14.1.1-1~karmic) karmic; urgency=low - - * New upstream release. - - -- Jason Heeris Sun, 09 Jan 2011 17:33:38 +0800 - -rabbitvcs (0.14~beta4-1~karmic) karmic; urgency=low - - * New upstream beta release. - - -- Jason Heeris Wed, 15 Dec 2010 23:39:43 +0800 - -rabbitvcs (0.13.3-1~karmic) karmic; urgency=low - - * New upstream release. - - -- Jason Heeris Wed, 16 Jun 2010 21:31:35 +0800 - -rabbitvcs (0.13.2.1-1~karmic) karmic; urgency=low - - * Point-point bugfix release. - - -- Jason Heeris Sat, 05 Jun 2010 15:37:09 +0800 - -rabbitvcs (0.13.2+a-1~karmic) karmic; urgency=low - - * Sigh. - - -- Jason Heeris Mon, 31 May 2010 23:20:43 +0800 - -rabbitvcs (0.13.2-1~karmic) karmic; urgency=low - - * New upstream release. - - -- Jason Heeris Sun, 30 May 2010 23:51:27 +0800 - -rabbitvcs (0.13.1-1~karmic) karmic; urgency=low - - * Replaced multiple tarballs with single tarball plus split-out binary - packages. - - -- Jason Heeris Fri, 02 Apr 2010 17:03:15 +0800 diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/clean rabbitvcs-0.16/packages/karmic/debian/clean --- rabbitvcs-0.15.3/packages/karmic/debian/clean 2011-11-06 03:44:09.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/clean 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -rabbitvcs/buildinfo.py - diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/compat rabbitvcs-0.16/packages/karmic/debian/compat --- rabbitvcs-0.15.3/packages/karmic/debian/compat 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -7 diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/control rabbitvcs-0.16/packages/karmic/debian/control --- rabbitvcs-0.15.3/packages/karmic/debian/control 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/control 1970-01-01 00:00:00.000000000 +0000 @@ -1,89 +0,0 @@ -Source: rabbitvcs -Maintainer: Jason Heeris -Section: devel -Priority: optional -Build-Depends: debhelper (>= 7), - python (>= 2.5.2) -Build-Depends-Indep: python-support (>= 0.5.3), - pkg-config (>= 0.20) -Standards-Version: 3.9.2.0 -XS-Python-Version: >= 2.5 -Homepage: http://www.rabbitvcs.org - -Package: rabbitvcs-core -Architecture: all -Depends: ${misc:Depends}, - ${python:Depends}, - python-gtk2 (>= 2.12.1), - python-gobject (>= 2.14.1), - python-svn (>= 1.7.2), - python-dbus (>= 0.82.4), - python-configobj (>= 4.4.0), - subversion (>= 1.4.6), - meld (>=1.1.2), - ipython (>=0.7.1), - hicolor-icon-theme (>= 0.10-2), - python-dulwich -Conflicts: nautilussvn, rabbitvcs -Replaces: nautilussvn -Description: Easy version control - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - There are extensions for Nautilus, Thunar and GEdit, and a simple command-line - interface. - -Package: rabbitvcs-cli -Architecture: all -Depends: ${misc:Depends}, - ${python:Depends}, - rabbitvcs-core (>= 0.15) -Description: Command line interface for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the command-line interface. - -Package: rabbitvcs-gedit -Architecture: all -Depends: ${misc:Depends}, - gedit, - rabbitvcs-core (>= 0.15) -Description: Gedit extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for gedit text editor. - -Package: rabbitvcs-nautilus -Architecture: all -Depends: ${misc:Depends}, - nautilus (<< 1:3.0~), - python-nautilus (>= 0.5.0~), - python-nautilus (<< 1.0~), - rabbitvcs-core (>= 0.15) -Description: Nautilus 2 extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Nautilus file manager (v2 only). - -Package: rabbitvcs-nautilus3 -Architecture: all -Depends: ${misc:Depends}, - nautilus (>= 1:3~), - python-nautilus (>= 1.0~), - python-gobject (>= 2.28.2~), - rabbitvcs-core (>= 0.15) -Description: Nautilus 3 extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Nautilus file manager (v3.0 or greater). - -Package: rabbitvcs-thunar -Architecture: all -Depends: ${misc:Depends}, - thunar (>= 0.4.0), - thunarx-python (>= 0.2.0), - rabbitvcs-core (>= 0.15) -Description: Thunar extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Thunar file manager. - diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/copyright rabbitvcs-0.16/packages/karmic/debian/copyright --- rabbitvcs-0.15.3/packages/karmic/debian/copyright 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/copyright 1970-01-01 00:00:00.000000000 +0000 @@ -1,69 +0,0 @@ -Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=48 -Name: rabbitvcs -Contact: RabbitVCS Team -Source: http://code.google.com/p/rabbitvcs/ - -Files: * -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2009-2010, Jason Heeris -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: debian/* -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2009-2010, Jason Heeris -License: GPL-3+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-3' - file. - -Files: rabbitvcs/data/icons/hicolor/scalable/emblems/*.svg -Copyright: TortoiseSVN -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: rabbitvcs/util/decorators.py -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2005-2009, Bastian Kleineidam - 2009, Jason Heeris -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: rabbitvcs/debug/ipython_view.py -Copyright: 2007, IBM Corporation -License: BSD - On Debian systems the full text of the BSD License can be found in - the '/usr/share/common-licenses/BSD' file. - -Files: rabbitvcs/ui/wraplabel.py -Copyright: 2005, VMware Inc. -License: Expat - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to - deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/patches/99_setup.py.patch rabbitvcs-0.16/packages/karmic/debian/patches/99_setup.py.patch --- rabbitvcs-0.15.3/packages/karmic/debian/patches/99_setup.py.patch 2011-11-06 03:44:09.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/patches/99_setup.py.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -Description: Remove GTK icon cache rebuilding. - This removes the rebuilding of the GTK icon cache after installing the core. - It is not needed in any distro with hicolor-icon-theme >= 0.10-2 -Forwarded: not-needed -Author: Jason Heeris - -diff -Nur -x '*.orig' -x '*~' rabbitvcs-0.15/setup.py rabbitvcs-0.15.new/setup.py ---- rabbitvcs-0.15/setup.py 2011-11-06 11:32:48.053065966 +0800 -+++ rabbitvcs-0.15.new/setup.py 2011-11-06 11:33:02.232892091 +0800 -@@ -154,14 +154,3 @@ - # - # Post installation - # -- --# Make sure the icon cache is deleted and recreated --if sys.argv[1] == "install": -- -- if os.uname()[0] != 'Darwin': -- print "Running gtk-update-icon-cache" -- -- subprocess.Popen( -- ["gtk-update-icon-cache", icon_theme_directory], -- stdout=subprocess.PIPE -- ).communicate()[0] diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/patches/series rabbitvcs-0.16/packages/karmic/debian/patches/series --- rabbitvcs-0.15.3/packages/karmic/debian/patches/series 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -99_setup.py.patch - diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/pycompat rabbitvcs-0.16/packages/karmic/debian/pycompat --- rabbitvcs-0.15.3/packages/karmic/debian/pycompat 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/pycompat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -2 diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/pyversions rabbitvcs-0.16/packages/karmic/debian/pyversions --- rabbitvcs-0.15.3/packages/karmic/debian/pyversions 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/pyversions 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -2.5- diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/rabbitvcs.1 rabbitvcs-0.16/packages/karmic/debian/rabbitvcs.1 --- rabbitvcs-0.15.3/packages/karmic/debian/rabbitvcs.1 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/rabbitvcs.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ -.\"Created with GNOME Manpages Editor Wizard -.\"http://sourceforge.net/projects/gmanedit2 -.TH rabbitvcs 1 "May 25, 2009" "" "rabbitvcs" - -.SH NAME -rabbitvcs \- Integrated version control for Nautilus - -.SH SYNOPSIS -.B rabbitvcs - [path1] [path2] ... -.br - -.SH DESCRIPTION -.B rabbitvcs -provides integrated support for various version control version systems in -the Nautilus file manager (currently only subversion). This command opens -a new -.B nautilus -window and applies the given VCS command. - -.SH OPTIONS -.B -.IP module -The VCS command to invoke. Available modules are: about, add, blame, checkout, -cleanup, commit, create, delete, export, ignore, import, lock, log, merge, -properties, relocate, rename, resolve, revert, settings, switch, unlock, update, -updateto - -.B -.IP path -The file(s) or directory(\-ies) to apply the action to. - -.SH "SEE ALSO" -.B nautilus(1) -, -.B svn(1) diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/rabbitvcs-cli.install rabbitvcs-0.16/packages/karmic/debian/rabbitvcs-cli.install --- rabbitvcs-0.15.3/packages/karmic/debian/rabbitvcs-cli.install 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/rabbitvcs-cli.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/cli/rabbitvcs usr/bin diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/rabbitvcs-cli.manpages rabbitvcs-0.16/packages/karmic/debian/rabbitvcs-cli.manpages --- rabbitvcs-0.15.3/packages/karmic/debian/rabbitvcs-cli.manpages 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/rabbitvcs-cli.manpages 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/rabbitvcs.1 diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/rabbitvcs-core.install rabbitvcs-0.16/packages/karmic/debian/rabbitvcs-core.install --- rabbitvcs-0.15.3/packages/karmic/debian/rabbitvcs-core.install 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/rabbitvcs-core.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/tmp/* . diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/rabbitvcs-gedit.install rabbitvcs-0.16/packages/karmic/debian/rabbitvcs-gedit.install --- rabbitvcs-0.15.3/packages/karmic/debian/rabbitvcs-gedit.install 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/rabbitvcs-gedit.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -clients/gedit/rabbitvcs-plugin.py usr/lib/gedit-2/plugins -clients/gedit/rabbitvcs.gedit-plugin usr/lib/gedit-2/plugins diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/rabbitvcs-nautilus3.install rabbitvcs-0.16/packages/karmic/debian/rabbitvcs-nautilus3.install --- rabbitvcs-0.15.3/packages/karmic/debian/rabbitvcs-nautilus3.install 2011-11-11 17:43:52.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/rabbitvcs-nautilus3.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/nautilus-3.0/RabbitVCS.py usr/share/nautilus-python/extensions diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/rabbitvcs-nautilus.install rabbitvcs-0.16/packages/karmic/debian/rabbitvcs-nautilus.install --- rabbitvcs-0.15.3/packages/karmic/debian/rabbitvcs-nautilus.install 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/rabbitvcs-nautilus.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/nautilus/RabbitVCS.py usr/lib/nautilus/extensions-2.0/python diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/rabbitvcs-thunar.install rabbitvcs-0.16/packages/karmic/debian/rabbitvcs-thunar.install --- rabbitvcs-0.15.3/packages/karmic/debian/rabbitvcs-thunar.install 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/rabbitvcs-thunar.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -clients/thunar/RabbitVCS.py usr/lib/thunarx-2/python -clients/thunar/RabbitVCS.py usr/lib/thunarx-1/python diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/rules rabbitvcs-0.16/packages/karmic/debian/rules --- rabbitvcs-0.15.3/packages/karmic/debian/rules 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/rules 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -#!/usr/bin/make -f - -# Uncomment this to turn on verbose mode. -# export DH_VERBOSE=1 - -%: - dh $@ diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/source/format rabbitvcs-0.16/packages/karmic/debian/source/format --- rabbitvcs-0.15.3/packages/karmic/debian/source/format 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/source/format 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -3.0 (quilt) \ No newline at end of file diff -Nru rabbitvcs-0.15.3/packages/karmic/debian/watch rabbitvcs-0.16/packages/karmic/debian/watch --- rabbitvcs-0.15.3/packages/karmic/debian/watch 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/karmic/debian/watch 1970-01-01 00:00:00.000000000 +0000 @@ -1,5 +0,0 @@ -version=3 -opts=\ -downloadurlmangle=s|.*[?]name=(.*?)&.*|http://rabbitvcs.googlecode.com/files/$1|,\ -filenamemangle=s|[^/]+[?]name=(.*?)&.*|$1| \ -http://code.google.com/p/rabbitvcs/downloads/detail[?]name=rabbitvcs-([0-9.]+).tar.gz&.* diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/changelog rabbitvcs-0.16/packages/lucid/debian/changelog --- rabbitvcs-0.15.3/packages/lucid/debian/changelog 2012-09-23 05:48:35.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/changelog 1970-01-01 00:00:00.000000000 +0000 @@ -1,103 +0,0 @@ -rabbitvcs (0.15.2-1~lucid) lucid; urgency=low - - * New upstream release 0.15.2 - * Issue 187: Drop-down list of pre-defined properties in the property dialog - * Issue 261: RabbitVCS incompatible with TortoiseHg - * Issue 562: 'Refresh Status' does not work - * Issue 585: Fix "Browser can not handle path with non-English name" - * Issue 586: Fixed "Browser can not handle path with non-English name" - * Issue 564: Debian: Version of python-svn in Depends: is too low - * Issue 579: Ask for dulwich 0.6.1+ - * Issue 605: Log window Forward button does not work for me - * Issue 628: (Sub)directories with a white space are not correctly managed - * Issue 716: Unicode regression from (Sub)directories with a white space are not correctly managed - * Fixed commit ID not being reported when committing to a git repository. - * Updated packaging for Ubuntu and Debian. Added packaging for Quantal Quetzal (12.10) Ubuntu release. - - -- Jason Heeris Sun, 16 Sep 2012 16:06:52 +0800 - -rabbitvcs (0.15.1-1~lucid) lucid; urgency=low - - * New upstream release (multiple bugfixes) - - -- Jason Heeris Sun, 26 Aug 2012 10:01:25 +0800 - -rabbitvcs (0.15.0.5-1~lucid) lucid; urgency=low - - * New upstream release fixing gtkspell integration issue - - -- Jason Heeris Thu, 10 Nov 2011 07:20:11 +0800 - -rabbitvcs (0.15.0.3-1~lucid) lucid; urgency=low - - * New upstream point release: fixes missing data files. - - -- Jason Heeris Wed, 09 Nov 2011 23:41:53 +0800 - -rabbitvcs (0.15.0.1-3~lucid) lucid; urgency=low - - * Fixed client installation - - -- Jason Heeris Tue, 08 Nov 2011 08:12:10 +0800 - -rabbitvcs (0.15.0.1-2~lucid) lucid; urgency=low - - * Fixed epoch numbering - - -- Jason Heeris Mon, 07 Nov 2011 23:34:05 +0800 - -rabbitvcs (0.15.0.1-1~lucid) lucid; urgency=low - - * New upstream release - * Includes new Nautilus 3 client - - -- Jason Heeris Sun, 06 Nov 2011 15:57:06 +0800 - -rabbitvcs (0.14.2.1-1~lucid) lucid; urgency=low - - * New upstream release - - -- Jason Heeris Sat, 19 Feb 2011 01:34:28 +0800 - -rabbitvcs (0.14.1.1-1~lucid) lucid; urgency=low - - * New upstream release. - - -- Jason Heeris Sun, 09 Jan 2011 17:36:12 +0800 - -rabbitvcs (0.14~beta4-1~lucid) lucid; urgency=low - - * New upstream beta release. - - -- Jason Heeris Wed, 15 Dec 2010 23:40:46 +0800 - -rabbitvcs (0.13.3-1~lucid) lucid; urgency=low - - * New upstream release. - - -- Jason Heeris Wed, 16 Jun 2010 21:27:01 +0800 - -rabbitvcs (0.13.2.1-1~lucid) lucid; urgency=low - - * Point-point bugfix release. - - -- Jason Heeris Sat, 05 Jun 2010 15:38:12 +0800 - -rabbitvcs (0.13.2+a-1~lucid) lucid; urgency=low - - * Sigh. - - -- Jason Heeris Mon, 31 May 2010 23:17:05 +0800 - -rabbitvcs (0.13.2-1~lucid) lucid; urgency=low - - * New upstream release. - - -- Jason Heeris Sun, 30 May 2010 23:59:33 +0800 - -rabbitvcs (0.13.1-1~lucid) lucid; urgency=low - - * Replaced multiple tarballs with single tarball plus split-out binary - packages. - - -- Jason Heeris Fri, 02 Apr 2010 17:03:15 +0800 diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/clean rabbitvcs-0.16/packages/lucid/debian/clean --- rabbitvcs-0.15.3/packages/lucid/debian/clean 2011-11-06 09:03:42.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/clean 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -rabbitvcs/buildinfo.py - diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/compat rabbitvcs-0.16/packages/lucid/debian/compat --- rabbitvcs-0.15.3/packages/lucid/debian/compat 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -7 diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/control rabbitvcs-0.16/packages/lucid/debian/control --- rabbitvcs-0.15.3/packages/lucid/debian/control 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/control 1970-01-01 00:00:00.000000000 +0000 @@ -1,89 +0,0 @@ -Source: rabbitvcs -Maintainer: Jason Heeris -Section: devel -Priority: optional -Build-Depends: debhelper (>= 7), - python (>= 2.5.2) -Build-Depends-Indep: python-support (>= 0.5.3), - pkg-config (>= 0.20) -Standards-Version: 3.9.2.0 -XS-Python-Version: >= 2.5 -Homepage: http://www.rabbitvcs.org - -Package: rabbitvcs-core -Architecture: all -Depends: ${misc:Depends}, - ${python:Depends}, - python-gtk2 (>= 2.12.1), - python-gobject (>= 2.14.1), - python-svn (>= 1.7.2), - python-dbus (>= 0.82.4), - python-configobj (>= 4.4.0), - subversion (>= 1.4.6), - meld (>=1.1.2), - ipython (>=0.7.1), - hicolor-icon-theme (>= 0.10-2), - python-dulwich -Conflicts: nautilussvn, rabbitvcs -Replaces: nautilussvn -Description: Easy version control - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - There are extensions for Nautilus, Thunar and GEdit, and a simple command-line - interface. - -Package: rabbitvcs-cli -Architecture: all -Depends: ${misc:Depends}, - ${python:Depends}, - rabbitvcs-core (>= 0.15) -Description: Command line interface for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the command-line interface. - -Package: rabbitvcs-gedit -Architecture: all -Depends: ${misc:Depends}, - gedit, - rabbitvcs-core (>= 0.15) -Description: Gedit extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for gedit text editor. - -Package: rabbitvcs-nautilus -Architecture: all -Depends: ${misc:Depends}, - nautilus (<< 1:3.0~), - python-nautilus (>= 0.5.0~), - python-nautilus (<< 1.0~), - rabbitvcs-core (>= 0.15) -Description: Nautilus 2 extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Nautilus file manager (v2 only). - -Package: rabbitvcs-nautilus3 -Architecture: all -Depends: ${misc:Depends}, - nautilus (>= 1:3~), - python-nautilus (>= 1.0~), - python-gobject (>= 2.28.2~), - rabbitvcs-core (>= 0.15) -Description: Nautilus 3 extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Nautilus file manager (v3.0 or greater). - -Package: rabbitvcs-thunar -Architecture: all -Depends: ${misc:Depends}, - thunar (>= 0.4.0), - thunarx-python (>= 0.2.0), - rabbitvcs-core (>= 0.15) -Description: Thunar extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Thunar file manager. - diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/copyright rabbitvcs-0.16/packages/lucid/debian/copyright --- rabbitvcs-0.15.3/packages/lucid/debian/copyright 2011-11-06 09:03:42.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/copyright 1970-01-01 00:00:00.000000000 +0000 @@ -1,92 +0,0 @@ -Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=48 -Name: rabbitvcs -Contact: RabbitVCS Team -Source: http://code.google.com/p/rabbitvcs/ - -Files: * -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2009-2010, Jason Heeris -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: debian/* -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2009-2011, Jason Heeris -License: GPL-3+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-3' - file. - -Files: rabbitvcs/data/icons/hicolor/scalable/emblems/*.svg -Copyright: TortoiseSVN -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: rabbitvcs/util/decorators.py -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2005-2009, Bastian Kleineidam - 2009, Jason Heeris -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: rabbitvcs/debug/ipython_view.py -Copyright: 2007, IBM Corporation -License: - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of the IBM nor the names of its contributors may be - used to endorse or promote products derived from this software without - specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - -Files: rabbitvcs/ui/wraplabel.py -Copyright: 2005, VMware Inc. -License: Expat - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to - deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/patches/99_setup.py.patch rabbitvcs-0.16/packages/lucid/debian/patches/99_setup.py.patch --- rabbitvcs-0.15.3/packages/lucid/debian/patches/99_setup.py.patch 2011-11-06 09:03:42.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/patches/99_setup.py.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -Description: Remove GTK icon cache rebuilding. - This removes the rebuilding of the GTK icon cache after installing the core. - It is not needed in any distro with hicolor-icon-theme >= 0.10-2 -Forwarded: not-needed -Author: Jason Heeris - -diff -Nur -x '*.orig' -x '*~' rabbitvcs-0.15/setup.py rabbitvcs-0.15.new/setup.py ---- rabbitvcs-0.15/setup.py 2011-11-06 11:32:48.053065966 +0800 -+++ rabbitvcs-0.15.new/setup.py 2011-11-06 11:33:02.232892091 +0800 -@@ -154,14 +154,3 @@ - # - # Post installation - # -- --# Make sure the icon cache is deleted and recreated --if sys.argv[1] == "install": -- -- if os.uname()[0] != 'Darwin': -- print "Running gtk-update-icon-cache" -- -- subprocess.Popen( -- ["gtk-update-icon-cache", icon_theme_directory], -- stdout=subprocess.PIPE -- ).communicate()[0] diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/patches/series rabbitvcs-0.16/packages/lucid/debian/patches/series --- rabbitvcs-0.15.3/packages/lucid/debian/patches/series 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -99_setup.py.patch diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/pycompat rabbitvcs-0.16/packages/lucid/debian/pycompat --- rabbitvcs-0.15.3/packages/lucid/debian/pycompat 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/pycompat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -2 diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/pyversions rabbitvcs-0.16/packages/lucid/debian/pyversions --- rabbitvcs-0.15.3/packages/lucid/debian/pyversions 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/pyversions 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -2.5- diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/rabbitvcs.1 rabbitvcs-0.16/packages/lucid/debian/rabbitvcs.1 --- rabbitvcs-0.15.3/packages/lucid/debian/rabbitvcs.1 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/rabbitvcs.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ -.\"Created with GNOME Manpages Editor Wizard -.\"http://sourceforge.net/projects/gmanedit2 -.TH rabbitvcs 1 "May 25, 2009" "" "rabbitvcs" - -.SH NAME -rabbitvcs \- Integrated version control for Nautilus - -.SH SYNOPSIS -.B rabbitvcs - [path1] [path2] ... -.br - -.SH DESCRIPTION -.B rabbitvcs -provides integrated support for various version control version systems in -the Nautilus file manager (currently only subversion). This command opens -a new -.B nautilus -window and applies the given VCS command. - -.SH OPTIONS -.B -.IP module -The VCS command to invoke. Available modules are: about, add, blame, checkout, -cleanup, commit, create, delete, export, ignore, import, lock, log, merge, -properties, relocate, rename, resolve, revert, settings, switch, unlock, update, -updateto - -.B -.IP path -The file(s) or directory(\-ies) to apply the action to. - -.SH "SEE ALSO" -.B nautilus(1) -, -.B svn(1) diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/rabbitvcs-cli.install rabbitvcs-0.16/packages/lucid/debian/rabbitvcs-cli.install --- rabbitvcs-0.15.3/packages/lucid/debian/rabbitvcs-cli.install 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/rabbitvcs-cli.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/cli/rabbitvcs usr/bin diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/rabbitvcs-cli.manpages rabbitvcs-0.16/packages/lucid/debian/rabbitvcs-cli.manpages --- rabbitvcs-0.15.3/packages/lucid/debian/rabbitvcs-cli.manpages 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/rabbitvcs-cli.manpages 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/rabbitvcs.1 diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/rabbitvcs-core.install rabbitvcs-0.16/packages/lucid/debian/rabbitvcs-core.install --- rabbitvcs-0.15.3/packages/lucid/debian/rabbitvcs-core.install 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/rabbitvcs-core.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/tmp/* . diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/rabbitvcs-gedit.install rabbitvcs-0.16/packages/lucid/debian/rabbitvcs-gedit.install --- rabbitvcs-0.15.3/packages/lucid/debian/rabbitvcs-gedit.install 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/rabbitvcs-gedit.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -clients/gedit/rabbitvcs-plugin.py usr/lib/gedit-2/plugins -clients/gedit/rabbitvcs-gedit2.gedit-plugin usr/lib/gedit-2/plugins diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/rabbitvcs-nautilus3.install rabbitvcs-0.16/packages/lucid/debian/rabbitvcs-nautilus3.install --- rabbitvcs-0.15.3/packages/lucid/debian/rabbitvcs-nautilus3.install 2011-11-11 17:20:08.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/rabbitvcs-nautilus3.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/nautilus-3.0/RabbitVCS.py usr/share/nautilus-python/extensions diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/rabbitvcs-nautilus.install rabbitvcs-0.16/packages/lucid/debian/rabbitvcs-nautilus.install --- rabbitvcs-0.15.3/packages/lucid/debian/rabbitvcs-nautilus.install 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/rabbitvcs-nautilus.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/nautilus/RabbitVCS.py usr/lib/nautilus/extensions-2.0/python diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/rabbitvcs-thunar.install rabbitvcs-0.16/packages/lucid/debian/rabbitvcs-thunar.install --- rabbitvcs-0.15.3/packages/lucid/debian/rabbitvcs-thunar.install 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/rabbitvcs-thunar.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -clients/thunar/RabbitVCS.py usr/lib/thunarx-2/python -clients/thunar/RabbitVCS.py usr/lib/thunarx-1/python diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/rules rabbitvcs-0.16/packages/lucid/debian/rules --- rabbitvcs-0.15.3/packages/lucid/debian/rules 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/rules 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -#!/usr/bin/make -f - -# Uncomment this to turn on verbose mode. -# export DH_VERBOSE=1 - -%: - dh $@ diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/source/format rabbitvcs-0.16/packages/lucid/debian/source/format --- rabbitvcs-0.15.3/packages/lucid/debian/source/format 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/source/format 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -3.0 (quilt) \ No newline at end of file diff -Nru rabbitvcs-0.15.3/packages/lucid/debian/watch rabbitvcs-0.16/packages/lucid/debian/watch --- rabbitvcs-0.15.3/packages/lucid/debian/watch 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/lucid/debian/watch 1970-01-01 00:00:00.000000000 +0000 @@ -1,5 +0,0 @@ -version=3 -opts=\ -downloadurlmangle=s|.*[?]name=(.*?)&.*|http://rabbitvcs.googlecode.com/files/$1|,\ -filenamemangle=s|[^/]+[?]name=(.*?)&.*|$1| \ -http://code.google.com/p/rabbitvcs/downloads/detail[?]name=rabbitvcs-([0-9.]+).tar.gz&.* diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/changelog rabbitvcs-0.16/packages/maverick/debian/changelog --- rabbitvcs-0.15.3/packages/maverick/debian/changelog 2012-09-23 05:48:35.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/changelog 1970-01-01 00:00:00.000000000 +0000 @@ -1,90 +0,0 @@ -rabbitvcs (0.15.2-1~maverick) maverick; urgency=low - - * New upstream release 0.15.2 - * Issue 187: Drop-down list of pre-defined properties in the property dialog - * Issue 261: RabbitVCS incompatible with TortoiseHg - * Issue 562: 'Refresh Status' does not work - * Issue 585: Fix "Browser can not handle path with non-English name" - * Issue 586: Fixed "Browser can not handle path with non-English name" - * Issue 564: Debian: Version of python-svn in Depends: is too low - * Issue 579: Ask for dulwich 0.6.1+ - * Issue 605: Log window Forward button does not work for me - * Issue 628: (Sub)directories with a white space are not correctly managed - * Issue 716: Unicode regression from (Sub)directories with a white space are not correctly managed - * Fixed commit ID not being reported when committing to a git repository. - * Updated packaging for Ubuntu and Debian. Added packaging for Quantal Quetzal (12.10) Ubuntu release. - - -- Jason Heeris Sun, 16 Sep 2012 16:36:04 +0800 - -rabbitvcs (0.15.1-1~maverick) maverick; urgency=low - - * New upstream release (multiple bugfixes) - - -- Jason Heeris Sun, 26 Aug 2012 10:05:03 +0800 - -rabbitvcs (0.15.0.5-1~maverick) maverick; urgency=low - - * New upstream release fixing gtkspell integration issue - - -- Jason Heeris Thu, 10 Nov 2011 07:20:52 +0800 - -rabbitvcs (0.15.0.3-1~maverick) maverick; urgency=low - - * New upstream point release: fixes missing data files. - - -- Jason Heeris Wed, 09 Nov 2011 23:42:16 +0800 - -rabbitvcs (0.15.0.1-3~maverick) maverick; urgency=low - - * Fixed client installation - - -- Jason Heeris Tue, 08 Nov 2011 08:13:30 +0800 - -rabbitvcs (0.15.0.1-2~maverick) maverick; urgency=low - - * Fixed epoch numbering in dependency - - -- Jason Heeris Mon, 07 Nov 2011 23:39:17 +0800 - -rabbitvcs (0.15.0.1-1~maverick) maverick; urgency=low - - * New upstream release - * New client for Nautilus 3 - - -- Jason Heeris Sun, 06 Nov 2011 19:53:35 +0800 - -rabbitvcs (0.14.2.1-2~maverick) maverick; urgency=low - - * God I hate you Launchpad. - - -- Jason Heeris Wed, 15 Jun 2011 10:50:07 +0800 - -rabbitvcs (0.14.2.1-1~maverick) maverick; urgency=low - - * New upstream release - - -- Jason Heeris Sat, 19 Feb 2011 01:39:07 +0800 - -rabbitvcs (0.14.1.1-1~maverick) maverick; urgency=low - - * New upstream release. - - -- Jason Heeris Sun, 09 Jan 2011 17:38:04 +0800 - -rabbitvcs (0.14~beta4-1~maverick) maverick; urgency=low - - * New upstream beta release. - - -- Jason Heeris Wed, 15 Dec 2010 23:42:27 +0800 - -rabbitvcs (0.13.3-1~maverick) maverick; urgency=low - - * New point release. - - -- Jason Heeris Wed, 16 Jun 2010 21:26:14 +0800 - -rabbitvcs (0.13.2.1-1~maverick) maverick; urgency=low - - * First release for Maverick! - - -- Jason Heeris Sat, 05 Jun 2010 15:40:42 +0800 diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/clean rabbitvcs-0.16/packages/maverick/debian/clean --- rabbitvcs-0.15.3/packages/maverick/debian/clean 2011-11-06 11:58:28.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/clean 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -rabbitvcs/buildinfo.py - diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/compat rabbitvcs-0.16/packages/maverick/debian/compat --- rabbitvcs-0.15.3/packages/maverick/debian/compat 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -7 diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/control rabbitvcs-0.16/packages/maverick/debian/control --- rabbitvcs-0.15.3/packages/maverick/debian/control 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/control 1970-01-01 00:00:00.000000000 +0000 @@ -1,89 +0,0 @@ -Source: rabbitvcs -Maintainer: Jason Heeris -Section: devel -Priority: optional -Build-Depends: debhelper (>= 7), - python (>= 2.5.2) -Build-Depends-Indep: python-support (>= 0.5.3), - pkg-config (>= 0.20) -Standards-Version: 3.9.2.0 -XS-Python-Version: >= 2.5 -Homepage: http://www.rabbitvcs.org - -Package: rabbitvcs-core -Architecture: all -Depends: ${misc:Depends}, - ${python:Depends}, - python-gtk2 (>= 2.12.1), - python-gobject (>= 2.14.1), - python-svn (>= 1.7.2), - python-dbus (>= 0.82.4), - python-configobj (>= 4.4.0), - subversion (>= 1.4.6), - meld (>=1.1.2), - ipython (>=0.7.1), - hicolor-icon-theme (>= 0.10-2), - python-dulwich -Conflicts: nautilussvn, rabbitvcs -Replaces: nautilussvn -Description: Easy version control - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - There are extensions for Nautilus, Thunar and GEdit, and a simple command-line - interface. - -Package: rabbitvcs-cli -Architecture: all -Depends: ${misc:Depends}, - ${python:Depends}, - rabbitvcs-core (>= 0.15) -Description: Command line interface for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the command-line interface. - -Package: rabbitvcs-gedit -Architecture: all -Depends: ${misc:Depends}, - gedit, - rabbitvcs-core (>= 0.15) -Description: Gedit extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for gedit text editor. - -Package: rabbitvcs-nautilus -Architecture: all -Depends: ${misc:Depends}, - nautilus (<< 1:3.0~), - python-nautilus (>= 0.5.0~), - python-nautilus (<< 1.0~), - rabbitvcs-core (>= 0.15) -Description: Nautilus 2 extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Nautilus file manager (v2 only). - -Package: rabbitvcs-nautilus3 -Architecture: all -Depends: ${misc:Depends}, - nautilus (>= 1:3~), - python-nautilus (>= 1.0~), - python-gobject (>= 2.28.2~), - rabbitvcs-core (>= 0.15) -Description: Nautilus 3 extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Nautilus file manager (v3.0 or greater). - -Package: rabbitvcs-thunar -Architecture: all -Depends: ${misc:Depends}, - thunar (>= 0.4.0), - thunarx-python (>= 0.2.0), - rabbitvcs-core (>= 0.15) -Description: Thunar extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Thunar file manager. - diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/copyright rabbitvcs-0.16/packages/maverick/debian/copyright --- rabbitvcs-0.15.3/packages/maverick/debian/copyright 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/copyright 1970-01-01 00:00:00.000000000 +0000 @@ -1,92 +0,0 @@ -Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=48 -Name: rabbitvcs -Contact: RabbitVCS Team -Source: http://code.google.com/p/rabbitvcs/ - -Files: * -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2009-2010, Jason Heeris -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: debian/* -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2009-2011, Jason Heeris -License: GPL-3+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-3' - file. - -Files: rabbitvcs/data/icons/hicolor/scalable/emblems/*.svg -Copyright: TortoiseSVN -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: rabbitvcs/util/decorators.py -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2005-2009, Bastian Kleineidam - 2009, Jason Heeris -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: rabbitvcs/debug/ipython_view.py -Copyright: 2007, IBM Corporation -License: - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of the IBM nor the names of its contributors may be - used to endorse or promote products derived from this software without - specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - -Files: rabbitvcs/ui/wraplabel.py -Copyright: 2005, VMware Inc. -License: Expat - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to - deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/patches/99_setup.py.patch rabbitvcs-0.16/packages/maverick/debian/patches/99_setup.py.patch --- rabbitvcs-0.15.3/packages/maverick/debian/patches/99_setup.py.patch 2011-11-06 11:58:28.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/patches/99_setup.py.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -Description: Remove GTK icon cache rebuilding. - This removes the rebuilding of the GTK icon cache after installing the core. - It is not needed in any distro with hicolor-icon-theme >= 0.10-2 -Forwarded: not-needed -Author: Jason Heeris - -diff -Nur -x '*.orig' -x '*~' rabbitvcs-0.15/setup.py rabbitvcs-0.15.new/setup.py ---- rabbitvcs-0.15/setup.py 2011-11-06 11:32:48.053065966 +0800 -+++ rabbitvcs-0.15.new/setup.py 2011-11-06 11:33:02.232892091 +0800 -@@ -154,14 +154,3 @@ - # - # Post installation - # -- --# Make sure the icon cache is deleted and recreated --if sys.argv[1] == "install": -- -- if os.uname()[0] != 'Darwin': -- print "Running gtk-update-icon-cache" -- -- subprocess.Popen( -- ["gtk-update-icon-cache", icon_theme_directory], -- stdout=subprocess.PIPE -- ).communicate()[0] diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/patches/series rabbitvcs-0.16/packages/maverick/debian/patches/series --- rabbitvcs-0.15.3/packages/maverick/debian/patches/series 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -99_setup.py.patch diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/pycompat rabbitvcs-0.16/packages/maverick/debian/pycompat --- rabbitvcs-0.15.3/packages/maverick/debian/pycompat 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/pycompat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -2 diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/pyversions rabbitvcs-0.16/packages/maverick/debian/pyversions --- rabbitvcs-0.15.3/packages/maverick/debian/pyversions 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/pyversions 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -2.5- diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/rabbitvcs.1 rabbitvcs-0.16/packages/maverick/debian/rabbitvcs.1 --- rabbitvcs-0.15.3/packages/maverick/debian/rabbitvcs.1 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/rabbitvcs.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ -.\"Created with GNOME Manpages Editor Wizard -.\"http://sourceforge.net/projects/gmanedit2 -.TH rabbitvcs 1 "May 25, 2009" "" "rabbitvcs" - -.SH NAME -rabbitvcs \- Integrated version control for Nautilus - -.SH SYNOPSIS -.B rabbitvcs - [path1] [path2] ... -.br - -.SH DESCRIPTION -.B rabbitvcs -provides integrated support for various version control version systems in -the Nautilus file manager (currently only subversion). This command opens -a new -.B nautilus -window and applies the given VCS command. - -.SH OPTIONS -.B -.IP module -The VCS command to invoke. Available modules are: about, add, blame, checkout, -cleanup, commit, create, delete, export, ignore, import, lock, log, merge, -properties, relocate, rename, resolve, revert, settings, switch, unlock, update, -updateto - -.B -.IP path -The file(s) or directory(\-ies) to apply the action to. - -.SH "SEE ALSO" -.B nautilus(1) -, -.B svn(1) diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/rabbitvcs-cli.install rabbitvcs-0.16/packages/maverick/debian/rabbitvcs-cli.install --- rabbitvcs-0.15.3/packages/maverick/debian/rabbitvcs-cli.install 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/rabbitvcs-cli.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/cli/rabbitvcs usr/bin diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/rabbitvcs-cli.manpages rabbitvcs-0.16/packages/maverick/debian/rabbitvcs-cli.manpages --- rabbitvcs-0.15.3/packages/maverick/debian/rabbitvcs-cli.manpages 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/rabbitvcs-cli.manpages 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/rabbitvcs.1 diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/rabbitvcs-core.install rabbitvcs-0.16/packages/maverick/debian/rabbitvcs-core.install --- rabbitvcs-0.15.3/packages/maverick/debian/rabbitvcs-core.install 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/rabbitvcs-core.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/tmp/* . diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/rabbitvcs-gedit.install rabbitvcs-0.16/packages/maverick/debian/rabbitvcs-gedit.install --- rabbitvcs-0.15.3/packages/maverick/debian/rabbitvcs-gedit.install 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/rabbitvcs-gedit.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -clients/gedit/rabbitvcs-plugin.py usr/lib/gedit-2/plugins -clients/gedit/rabbitvcs-gedit2.gedit-plugin usr/lib/gedit-2/plugins diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/rabbitvcs-nautilus3.install rabbitvcs-0.16/packages/maverick/debian/rabbitvcs-nautilus3.install --- rabbitvcs-0.15.3/packages/maverick/debian/rabbitvcs-nautilus3.install 2011-11-11 17:20:08.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/rabbitvcs-nautilus3.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/nautilus-3.0/RabbitVCS.py usr/share/nautilus-python/extensions diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/rabbitvcs-nautilus.install rabbitvcs-0.16/packages/maverick/debian/rabbitvcs-nautilus.install --- rabbitvcs-0.15.3/packages/maverick/debian/rabbitvcs-nautilus.install 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/rabbitvcs-nautilus.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/nautilus/RabbitVCS.py usr/lib/nautilus/extensions-2.0/python diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/rabbitvcs-thunar.install rabbitvcs-0.16/packages/maverick/debian/rabbitvcs-thunar.install --- rabbitvcs-0.15.3/packages/maverick/debian/rabbitvcs-thunar.install 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/rabbitvcs-thunar.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -clients/thunar/RabbitVCS.py usr/lib/thunarx-2/python -clients/thunar/RabbitVCS.py usr/lib/thunarx-1/python diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/rules rabbitvcs-0.16/packages/maverick/debian/rules --- rabbitvcs-0.15.3/packages/maverick/debian/rules 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/rules 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -#!/usr/bin/make -f - -# Uncomment this to turn on verbose mode. -# export DH_VERBOSE=1 - -%: - dh $@ diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/source/format rabbitvcs-0.16/packages/maverick/debian/source/format --- rabbitvcs-0.15.3/packages/maverick/debian/source/format 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/source/format 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -3.0 (quilt) \ No newline at end of file diff -Nru rabbitvcs-0.15.3/packages/maverick/debian/watch rabbitvcs-0.16/packages/maverick/debian/watch --- rabbitvcs-0.15.3/packages/maverick/debian/watch 2010-11-27 17:28:25.000000000 +0000 +++ rabbitvcs-0.16/packages/maverick/debian/watch 1970-01-01 00:00:00.000000000 +0000 @@ -1,5 +0,0 @@ -version=3 -opts=\ -downloadurlmangle=s|.*[?]name=(.*?)&.*|http://rabbitvcs.googlecode.com/files/$1|,\ -filenamemangle=s|[^/]+[?]name=(.*?)&.*|$1| \ -http://code.google.com/p/rabbitvcs/downloads/detail[?]name=rabbitvcs-([0-9.]+).tar.gz&.* diff -Nru rabbitvcs-0.15.3/packages/natty/debian/changelog rabbitvcs-0.16/packages/natty/debian/changelog --- rabbitvcs-0.15.3/packages/natty/debian/changelog 2012-09-23 05:48:35.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/changelog 1970-01-01 00:00:00.000000000 +0000 @@ -1,61 +0,0 @@ -rabbitvcs (0.15.2-1~natty) natty; urgency=low - - * New upstream release 0.15.2 - * Issue 187: Drop-down list of pre-defined properties in the property dialog - * Issue 261: RabbitVCS incompatible with TortoiseHg - * Issue 562: 'Refresh Status' does not work - * Issue 585: Fix "Browser can not handle path with non-English name" - * Issue 586: Fixed "Browser can not handle path with non-English name" - * Issue 564: Debian: Version of python-svn in Depends: is too low - * Issue 579: Ask for dulwich 0.6.1+ - * Issue 605: Log window Forward button does not work for me - * Issue 628: (Sub)directories with a white space are not correctly managed - * Issue 716: Unicode regression from (Sub)directories with a white space are not correctly managed - * Fixed commit ID not being reported when committing to a git repository. - * Updated packaging for Ubuntu and Debian. Added packaging for Quantal Quetzal (12.10) Ubuntu release. - - -- Jason Heeris Sun, 16 Sep 2012 16:39:59 +0800 - -rabbitvcs (0.15.1-1~natty) natty; urgency=low - - * New upstream release (multiple bugfixes) - - -- Jason Heeris Sun, 26 Aug 2012 10:05:50 +0800 - -rabbitvcs (0.15.0.5-1~natty) natty; urgency=low - - * New upstream release fixing gtkspell integration issue - - -- Jason Heeris Thu, 10 Nov 2011 07:21:22 +0800 - -rabbitvcs (0.15.0.3-1~natty) natty; urgency=low - - * New upstream point release: fixes missing data files. - - -- Jason Heeris Wed, 09 Nov 2011 23:42:36 +0800 - -rabbitvcs (0.15.0.1-3~natty) natty; urgency=low - - * Fixed client installation - - -- Jason Heeris Tue, 08 Nov 2011 08:19:03 +0800 - -rabbitvcs (0.15.0.1-2~natty) natty; urgency=low - - * Fixed epoch numbers in release - - -- Jason Heeris Tue, 08 Nov 2011 08:05:51 +0800 - -rabbitvcs (0.15.0.1-1~natty) natty; urgency=low - - * New upstream release - * New client for Nautilus 3 - - -- Jason Heeris Sun, 06 Nov 2011 19:59:03 +0800 - -rabbitvcs (0.14.2.1-2~natty) natty; urgency=low - - * First packaging for Natty. - - -- Jason Heeris Wed, 15 Jun 2011 09:29:06 +0800 - diff -Nru rabbitvcs-0.15.3/packages/natty/debian/clean rabbitvcs-0.16/packages/natty/debian/clean --- rabbitvcs-0.15.3/packages/natty/debian/clean 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/clean 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -rabbitvcs/buildinfo.py - diff -Nru rabbitvcs-0.15.3/packages/natty/debian/compat rabbitvcs-0.16/packages/natty/debian/compat --- rabbitvcs-0.15.3/packages/natty/debian/compat 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -7 diff -Nru rabbitvcs-0.15.3/packages/natty/debian/control rabbitvcs-0.16/packages/natty/debian/control --- rabbitvcs-0.15.3/packages/natty/debian/control 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/control 1970-01-01 00:00:00.000000000 +0000 @@ -1,89 +0,0 @@ -Source: rabbitvcs -Maintainer: Jason Heeris -Section: devel -Priority: optional -Build-Depends: debhelper (>= 7), - python (>= 2.5.2) -Build-Depends-Indep: python-support (>= 0.5.3), - pkg-config (>= 0.20) -Standards-Version: 3.9.2.0 -XS-Python-Version: >= 2.5 -Homepage: http://www.rabbitvcs.org - -Package: rabbitvcs-core -Architecture: all -Depends: ${misc:Depends}, - ${python:Depends}, - python-gtk2 (>= 2.12.1), - python-gobject (>= 2.14.1), - python-svn (>= 1.7.2), - python-dbus (>= 0.82.4), - python-configobj (>= 4.4.0), - subversion (>= 1.4.6), - meld (>=1.1.2), - ipython (>=0.7.1), - hicolor-icon-theme (>= 0.10-2), - python-dulwich -Conflicts: nautilussvn, rabbitvcs -Replaces: nautilussvn -Description: Easy version control - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - There are extensions for Nautilus, Thunar and GEdit, and a simple command-line - interface. - -Package: rabbitvcs-cli -Architecture: all -Depends: ${misc:Depends}, - ${python:Depends}, - rabbitvcs-core (>= 0.15) -Description: Command line interface for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the command-line interface. - -Package: rabbitvcs-gedit -Architecture: all -Depends: ${misc:Depends}, - gedit, - rabbitvcs-core (>= 0.15) -Description: Gedit extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for gedit text editor. - -Package: rabbitvcs-nautilus -Architecture: all -Depends: ${misc:Depends}, - nautilus (<< 1:3.0~), - python-nautilus (>= 0.5.0~), - python-nautilus (<< 1.0~), - rabbitvcs-core (>= 0.15) -Description: Nautilus 2 extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Nautilus file manager (v2 only). - -Package: rabbitvcs-nautilus3 -Architecture: all -Depends: ${misc:Depends}, - nautilus (>= 1:3~), - python-nautilus (>= 1.0~), - python-gobject (>= 2.28.2~), - rabbitvcs-core (>= 0.15) -Description: Nautilus 3 extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Nautilus file manager (v3.0 or greater). - -Package: rabbitvcs-thunar -Architecture: all -Depends: ${misc:Depends}, - thunar (>= 0.4.0), - thunarx-python (>= 0.2.0), - rabbitvcs-core (>= 0.15) -Description: Thunar extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Thunar file manager. - diff -Nru rabbitvcs-0.15.3/packages/natty/debian/copyright rabbitvcs-0.16/packages/natty/debian/copyright --- rabbitvcs-0.15.3/packages/natty/debian/copyright 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/copyright 1970-01-01 00:00:00.000000000 +0000 @@ -1,92 +0,0 @@ -Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=48 -Name: rabbitvcs -Contact: RabbitVCS Team -Source: http://code.google.com/p/rabbitvcs/ - -Files: * -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2009-2010, Jason Heeris -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: debian/* -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2009-2011, Jason Heeris -License: GPL-3+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-3' - file. - -Files: rabbitvcs/data/icons/hicolor/scalable/emblems/*.svg -Copyright: TortoiseSVN -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: rabbitvcs/util/decorators.py -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2005-2009, Bastian Kleineidam - 2009, Jason Heeris -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: rabbitvcs/debug/ipython_view.py -Copyright: 2007, IBM Corporation -License: - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of the IBM nor the names of its contributors may be - used to endorse or promote products derived from this software without - specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - -Files: rabbitvcs/ui/wraplabel.py -Copyright: 2005, VMware Inc. -License: Expat - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to - deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. diff -Nru rabbitvcs-0.15.3/packages/natty/debian/patches/99_setup.py.patch rabbitvcs-0.16/packages/natty/debian/patches/99_setup.py.patch --- rabbitvcs-0.15.3/packages/natty/debian/patches/99_setup.py.patch 2011-11-06 12:12:27.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/patches/99_setup.py.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -Description: Remove GTK icon cache rebuilding. - This removes the rebuilding of the GTK icon cache after installing the core. - It is not needed in any distro with hicolor-icon-theme >= 0.10-2 -Forwarded: not-needed -Author: Jason Heeris - -diff -Nur -x '*.orig' -x '*~' rabbitvcs-0.15/setup.py rabbitvcs-0.15.new/setup.py ---- rabbitvcs-0.15/setup.py 2011-11-06 11:32:48.053065966 +0800 -+++ rabbitvcs-0.15.new/setup.py 2011-11-06 11:33:02.232892091 +0800 -@@ -154,14 +154,3 @@ - # - # Post installation - # -- --# Make sure the icon cache is deleted and recreated --if sys.argv[1] == "install": -- -- if os.uname()[0] != 'Darwin': -- print "Running gtk-update-icon-cache" -- -- subprocess.Popen( -- ["gtk-update-icon-cache", icon_theme_directory], -- stdout=subprocess.PIPE -- ).communicate()[0] diff -Nru rabbitvcs-0.15.3/packages/natty/debian/patches/series rabbitvcs-0.16/packages/natty/debian/patches/series --- rabbitvcs-0.15.3/packages/natty/debian/patches/series 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -99_setup.py.patch diff -Nru rabbitvcs-0.15.3/packages/natty/debian/pycompat rabbitvcs-0.16/packages/natty/debian/pycompat --- rabbitvcs-0.15.3/packages/natty/debian/pycompat 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/pycompat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -2 diff -Nru rabbitvcs-0.15.3/packages/natty/debian/pyversions rabbitvcs-0.16/packages/natty/debian/pyversions --- rabbitvcs-0.15.3/packages/natty/debian/pyversions 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/pyversions 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -2.5- diff -Nru rabbitvcs-0.15.3/packages/natty/debian/rabbitvcs.1 rabbitvcs-0.16/packages/natty/debian/rabbitvcs.1 --- rabbitvcs-0.15.3/packages/natty/debian/rabbitvcs.1 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/rabbitvcs.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ -.\"Created with GNOME Manpages Editor Wizard -.\"http://sourceforge.net/projects/gmanedit2 -.TH rabbitvcs 1 "May 25, 2009" "" "rabbitvcs" - -.SH NAME -rabbitvcs \- Integrated version control for Nautilus - -.SH SYNOPSIS -.B rabbitvcs - [path1] [path2] ... -.br - -.SH DESCRIPTION -.B rabbitvcs -provides integrated support for various version control version systems in -the Nautilus file manager (currently only subversion). This command opens -a new -.B nautilus -window and applies the given VCS command. - -.SH OPTIONS -.B -.IP module -The VCS command to invoke. Available modules are: about, add, blame, checkout, -cleanup, commit, create, delete, export, ignore, import, lock, log, merge, -properties, relocate, rename, resolve, revert, settings, switch, unlock, update, -updateto - -.B -.IP path -The file(s) or directory(\-ies) to apply the action to. - -.SH "SEE ALSO" -.B nautilus(1) -, -.B svn(1) diff -Nru rabbitvcs-0.15.3/packages/natty/debian/rabbitvcs-cli.install rabbitvcs-0.16/packages/natty/debian/rabbitvcs-cli.install --- rabbitvcs-0.15.3/packages/natty/debian/rabbitvcs-cli.install 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/rabbitvcs-cli.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/cli/rabbitvcs usr/bin diff -Nru rabbitvcs-0.15.3/packages/natty/debian/rabbitvcs-cli.manpages rabbitvcs-0.16/packages/natty/debian/rabbitvcs-cli.manpages --- rabbitvcs-0.15.3/packages/natty/debian/rabbitvcs-cli.manpages 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/rabbitvcs-cli.manpages 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/rabbitvcs.1 diff -Nru rabbitvcs-0.15.3/packages/natty/debian/rabbitvcs-core.install rabbitvcs-0.16/packages/natty/debian/rabbitvcs-core.install --- rabbitvcs-0.15.3/packages/natty/debian/rabbitvcs-core.install 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/rabbitvcs-core.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/tmp/* . diff -Nru rabbitvcs-0.15.3/packages/natty/debian/rabbitvcs-gedit.install rabbitvcs-0.16/packages/natty/debian/rabbitvcs-gedit.install --- rabbitvcs-0.15.3/packages/natty/debian/rabbitvcs-gedit.install 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/rabbitvcs-gedit.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -clients/gedit/rabbitvcs-plugin.py usr/lib/gedit-2/plugins -clients/gedit/rabbitvcs-gedit2.gedit-plugin usr/lib/gedit-2/plugins diff -Nru rabbitvcs-0.15.3/packages/natty/debian/rabbitvcs-nautilus3.install rabbitvcs-0.16/packages/natty/debian/rabbitvcs-nautilus3.install --- rabbitvcs-0.15.3/packages/natty/debian/rabbitvcs-nautilus3.install 2011-11-11 17:20:08.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/rabbitvcs-nautilus3.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/nautilus-3.0/RabbitVCS.py usr/share/nautilus-python/extensions diff -Nru rabbitvcs-0.15.3/packages/natty/debian/rabbitvcs-nautilus.install rabbitvcs-0.16/packages/natty/debian/rabbitvcs-nautilus.install --- rabbitvcs-0.15.3/packages/natty/debian/rabbitvcs-nautilus.install 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/rabbitvcs-nautilus.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/nautilus/RabbitVCS.py usr/lib/nautilus/extensions-2.0/python diff -Nru rabbitvcs-0.15.3/packages/natty/debian/rabbitvcs-thunar.install rabbitvcs-0.16/packages/natty/debian/rabbitvcs-thunar.install --- rabbitvcs-0.15.3/packages/natty/debian/rabbitvcs-thunar.install 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/rabbitvcs-thunar.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -clients/thunar/RabbitVCS.py usr/lib/thunarx-2/python -clients/thunar/RabbitVCS.py usr/lib/thunarx-1/python diff -Nru rabbitvcs-0.15.3/packages/natty/debian/rules rabbitvcs-0.16/packages/natty/debian/rules --- rabbitvcs-0.15.3/packages/natty/debian/rules 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/rules 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -#!/usr/bin/make -f - -# Uncomment this to turn on verbose mode. -# export DH_VERBOSE=1 - -%: - dh $@ diff -Nru rabbitvcs-0.15.3/packages/natty/debian/source/format rabbitvcs-0.16/packages/natty/debian/source/format --- rabbitvcs-0.15.3/packages/natty/debian/source/format 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/source/format 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -3.0 (quilt) \ No newline at end of file diff -Nru rabbitvcs-0.15.3/packages/natty/debian/watch rabbitvcs-0.16/packages/natty/debian/watch --- rabbitvcs-0.15.3/packages/natty/debian/watch 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/natty/debian/watch 1970-01-01 00:00:00.000000000 +0000 @@ -1,5 +0,0 @@ -version=3 -opts=\ -downloadurlmangle=s|.*[?]name=(.*?)&.*|http://rabbitvcs.googlecode.com/files/$1|,\ -filenamemangle=s|[^/]+[?]name=(.*?)&.*|$1| \ -http://code.google.com/p/rabbitvcs/downloads/detail[?]name=rabbitvcs-([0-9.]+).tar.gz&.* diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/changelog rabbitvcs-0.16/packages/oneiric/debian/changelog --- rabbitvcs-0.15.3/packages/oneiric/debian/changelog 2012-09-23 05:48:35.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/changelog 1970-01-01 00:00:00.000000000 +0000 @@ -1,53 +0,0 @@ -rabbitvcs (0.15.2-1~oneiric) oneiric; urgency=low - - * New upstream release 0.15.2 - * Issue 187: Drop-down list of pre-defined properties in the property dialog - * Issue 261: RabbitVCS incompatible with TortoiseHg - * Issue 562: 'Refresh Status' does not work - * Issue 585: Fix "Browser can not handle path with non-English name" - * Issue 586: Fixed "Browser can not handle path with non-English name" - * Issue 564: Debian: Version of python-svn in Depends: is too low - * Issue 579: Ask for dulwich 0.6.1+ - * Issue 605: Log window Forward button does not work for me - * Issue 628: (Sub)directories with a white space are not correctly managed - * Issue 716: Unicode regression from (Sub)directories with a white space are not correctly managed - * Fixed commit ID not being reported when committing to a git repository. - * Updated packaging for Ubuntu and Debian. Added packaging for Quantal Quetzal (12.10) Ubuntu release. - - -- Jason Heeris Sun, 16 Sep 2012 16:40:59 +0800 - -rabbitvcs (0.15.1-1~oneiric) oneiric; urgency=low - - * New upstream release (multiple bugfixes) - - -- Jason Heeris Sun, 26 Aug 2012 10:06:01 +0800 - -rabbitvcs (0.15.0.5-1~oneiric) oneiric; urgency=low - - * New upstream release fixing gtkspell integration issue - - -- Jason Heeris Thu, 10 Nov 2011 07:21:56 +0800 - -rabbitvcs (0.15.0.3-1~oneiric) oneiric; urgency=low - - * New upstream point release: fixes missing data files. - - -- Jason Heeris Wed, 09 Nov 2011 23:43:02 +0800 - -rabbitvcs (0.15.0.1-3~oneiric) oneiric; urgency=low - - * Fixed client installation - - -- Jason Heeris Tue, 08 Nov 2011 08:21:45 +0800 - -rabbitvcs (0.15.0.1-2~oneiric) oneiric; urgency=low - - * Fixed epoch numbering in dependency - - -- Jason Heeris Mon, 07 Nov 2011 23:50:35 +0800 - -rabbitvcs (0.15.0.1-1~oneiric~test1) oneiric; urgency=low - - * Initial packaging for Oneiric - - -- Jason Heeris Sun, 06 Nov 2011 20:15:57 +0800 diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/clean rabbitvcs-0.16/packages/oneiric/debian/clean --- rabbitvcs-0.15.3/packages/oneiric/debian/clean 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/clean 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -rabbitvcs/buildinfo.py - diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/compat rabbitvcs-0.16/packages/oneiric/debian/compat --- rabbitvcs-0.15.3/packages/oneiric/debian/compat 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -7 diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/control rabbitvcs-0.16/packages/oneiric/debian/control --- rabbitvcs-0.15.3/packages/oneiric/debian/control 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/control 1970-01-01 00:00:00.000000000 +0000 @@ -1,89 +0,0 @@ -Source: rabbitvcs -Maintainer: Jason Heeris -Section: devel -Priority: optional -Build-Depends: debhelper (>= 7), - python (>= 2.5.2) -Build-Depends-Indep: python-support (>= 0.5.3), - pkg-config (>= 0.20) -Standards-Version: 3.9.2.0 -XS-Python-Version: >= 2.5 -Homepage: http://www.rabbitvcs.org - -Package: rabbitvcs-core -Architecture: all -Depends: ${misc:Depends}, - ${python:Depends}, - python-gtk2 (>= 2.12.1), - python-gobject (>= 2.14.1), - python-svn (>= 1.7.2), - python-dbus (>= 0.82.4), - python-configobj (>= 4.4.0), - subversion (>= 1.4.6), - meld (>=1.1.2), - ipython (>=0.7.1), - hicolor-icon-theme (>= 0.10-2), - python-dulwich -Conflicts: nautilussvn, rabbitvcs -Replaces: nautilussvn -Description: Easy version control - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - There are extensions for Nautilus, Thunar and GEdit, and a simple command-line - interface. - -Package: rabbitvcs-cli -Architecture: all -Depends: ${misc:Depends}, - ${python:Depends}, - rabbitvcs-core (>= 0.15) -Description: Command line interface for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the command-line interface. - -Package: rabbitvcs-gedit -Architecture: all -Depends: ${misc:Depends}, - gedit (>= 3.0), - rabbitvcs-core (>= 0.15) -Description: Gedit extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for gedit text editor. - -Package: rabbitvcs-nautilus -Architecture: all -Depends: ${misc:Depends}, - nautilus (<< 1:3.0~), - python-nautilus (>= 0.5.0~), - python-nautilus (<< 1.0~), - rabbitvcs-core (>= 0.15) -Description: Nautilus 2 extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Nautilus file manager (v2 only). - -Package: rabbitvcs-nautilus3 -Architecture: all -Depends: ${misc:Depends}, - nautilus (>= 1:3~), - python-nautilus (>= 1.0~), - python-gobject (>= 2.28.2~), - rabbitvcs-core (>= 0.15) -Description: Nautilus 3 extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Nautilus file manager (v3.0 or greater). - -Package: rabbitvcs-thunar -Architecture: all -Depends: ${misc:Depends}, - thunar (>= 0.4.0), - thunarx-python (>= 0.2.0), - rabbitvcs-core (>= 0.15) -Description: Thunar extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Thunar file manager. - diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/copyright rabbitvcs-0.16/packages/oneiric/debian/copyright --- rabbitvcs-0.15.3/packages/oneiric/debian/copyright 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/copyright 1970-01-01 00:00:00.000000000 +0000 @@ -1,92 +0,0 @@ -Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=48 -Name: rabbitvcs -Contact: RabbitVCS Team -Source: http://code.google.com/p/rabbitvcs/ - -Files: * -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2009-2010, Jason Heeris -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: debian/* -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2009-2011, Jason Heeris -License: GPL-3+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-3' - file. - -Files: rabbitvcs/data/icons/hicolor/scalable/emblems/*.svg -Copyright: TortoiseSVN -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: rabbitvcs/util/decorators.py -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2005-2009, Bastian Kleineidam - 2009, Jason Heeris -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: rabbitvcs/debug/ipython_view.py -Copyright: 2007, IBM Corporation -License: - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of the IBM nor the names of its contributors may be - used to endorse or promote products derived from this software without - specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - -Files: rabbitvcs/ui/wraplabel.py -Copyright: 2005, VMware Inc. -License: Expat - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to - deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/patches/99_setup.py.patch rabbitvcs-0.16/packages/oneiric/debian/patches/99_setup.py.patch --- rabbitvcs-0.15.3/packages/oneiric/debian/patches/99_setup.py.patch 2011-11-06 12:12:27.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/patches/99_setup.py.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -Description: Remove GTK icon cache rebuilding. - This removes the rebuilding of the GTK icon cache after installing the core. - It is not needed in any distro with hicolor-icon-theme >= 0.10-2 -Forwarded: not-needed -Author: Jason Heeris - -diff -Nur -x '*.orig' -x '*~' rabbitvcs-0.15/setup.py rabbitvcs-0.15.new/setup.py ---- rabbitvcs-0.15/setup.py 2011-11-06 11:32:48.053065966 +0800 -+++ rabbitvcs-0.15.new/setup.py 2011-11-06 11:33:02.232892091 +0800 -@@ -154,14 +154,3 @@ - # - # Post installation - # -- --# Make sure the icon cache is deleted and recreated --if sys.argv[1] == "install": -- -- if os.uname()[0] != 'Darwin': -- print "Running gtk-update-icon-cache" -- -- subprocess.Popen( -- ["gtk-update-icon-cache", icon_theme_directory], -- stdout=subprocess.PIPE -- ).communicate()[0] diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/patches/series rabbitvcs-0.16/packages/oneiric/debian/patches/series --- rabbitvcs-0.15.3/packages/oneiric/debian/patches/series 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -99_setup.py.patch diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/pycompat rabbitvcs-0.16/packages/oneiric/debian/pycompat --- rabbitvcs-0.15.3/packages/oneiric/debian/pycompat 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/pycompat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -2 diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/pyversions rabbitvcs-0.16/packages/oneiric/debian/pyversions --- rabbitvcs-0.15.3/packages/oneiric/debian/pyversions 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/pyversions 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -2.5- diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/rabbitvcs.1 rabbitvcs-0.16/packages/oneiric/debian/rabbitvcs.1 --- rabbitvcs-0.15.3/packages/oneiric/debian/rabbitvcs.1 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/rabbitvcs.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ -.\"Created with GNOME Manpages Editor Wizard -.\"http://sourceforge.net/projects/gmanedit2 -.TH rabbitvcs 1 "May 25, 2009" "" "rabbitvcs" - -.SH NAME -rabbitvcs \- Integrated version control for Nautilus - -.SH SYNOPSIS -.B rabbitvcs - [path1] [path2] ... -.br - -.SH DESCRIPTION -.B rabbitvcs -provides integrated support for various version control version systems in -the Nautilus file manager (currently only subversion). This command opens -a new -.B nautilus -window and applies the given VCS command. - -.SH OPTIONS -.B -.IP module -The VCS command to invoke. Available modules are: about, add, blame, checkout, -cleanup, commit, create, delete, export, ignore, import, lock, log, merge, -properties, relocate, rename, resolve, revert, settings, switch, unlock, update, -updateto - -.B -.IP path -The file(s) or directory(\-ies) to apply the action to. - -.SH "SEE ALSO" -.B nautilus(1) -, -.B svn(1) diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/rabbitvcs-cli.install rabbitvcs-0.16/packages/oneiric/debian/rabbitvcs-cli.install --- rabbitvcs-0.15.3/packages/oneiric/debian/rabbitvcs-cli.install 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/rabbitvcs-cli.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/cli/rabbitvcs usr/bin diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/rabbitvcs-cli.manpages rabbitvcs-0.16/packages/oneiric/debian/rabbitvcs-cli.manpages --- rabbitvcs-0.15.3/packages/oneiric/debian/rabbitvcs-cli.manpages 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/rabbitvcs-cli.manpages 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/rabbitvcs.1 diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/rabbitvcs-core.install rabbitvcs-0.16/packages/oneiric/debian/rabbitvcs-core.install --- rabbitvcs-0.15.3/packages/oneiric/debian/rabbitvcs-core.install 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/rabbitvcs-core.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/tmp/* . diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/rabbitvcs-gedit.install rabbitvcs-0.16/packages/oneiric/debian/rabbitvcs-gedit.install --- rabbitvcs-0.15.3/packages/oneiric/debian/rabbitvcs-gedit.install 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/rabbitvcs-gedit.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -clients/gedit/rabbitvcs-plugin.py usr/share/gedit/plugins -clients/gedit/rabbitvcs-gedit3.plugin usr/share/gedit/plugins diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/rabbitvcs-nautilus3.install rabbitvcs-0.16/packages/oneiric/debian/rabbitvcs-nautilus3.install --- rabbitvcs-0.15.3/packages/oneiric/debian/rabbitvcs-nautilus3.install 2011-11-11 17:20:08.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/rabbitvcs-nautilus3.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/nautilus-3.0/RabbitVCS.py usr/share/nautilus-python/extensions diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/rabbitvcs-nautilus.install rabbitvcs-0.16/packages/oneiric/debian/rabbitvcs-nautilus.install --- rabbitvcs-0.15.3/packages/oneiric/debian/rabbitvcs-nautilus.install 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/rabbitvcs-nautilus.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/nautilus/RabbitVCS.py usr/lib/nautilus/extensions-2.0/python diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/rabbitvcs-thunar.install rabbitvcs-0.16/packages/oneiric/debian/rabbitvcs-thunar.install --- rabbitvcs-0.15.3/packages/oneiric/debian/rabbitvcs-thunar.install 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/rabbitvcs-thunar.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -clients/thunar/RabbitVCS.py usr/lib/thunarx-2/python -clients/thunar/RabbitVCS.py usr/lib/thunarx-1/python diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/rules rabbitvcs-0.16/packages/oneiric/debian/rules --- rabbitvcs-0.15.3/packages/oneiric/debian/rules 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/rules 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -#!/usr/bin/make -f - -# Uncomment this to turn on verbose mode. -# export DH_VERBOSE=1 - -%: - dh $@ diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/source/format rabbitvcs-0.16/packages/oneiric/debian/source/format --- rabbitvcs-0.15.3/packages/oneiric/debian/source/format 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/source/format 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -3.0 (quilt) \ No newline at end of file diff -Nru rabbitvcs-0.15.3/packages/oneiric/debian/watch rabbitvcs-0.16/packages/oneiric/debian/watch --- rabbitvcs-0.15.3/packages/oneiric/debian/watch 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/oneiric/debian/watch 1970-01-01 00:00:00.000000000 +0000 @@ -1,5 +0,0 @@ -version=3 -opts=\ -downloadurlmangle=s|.*[?]name=(.*?)&.*|http://rabbitvcs.googlecode.com/files/$1|,\ -filenamemangle=s|[^/]+[?]name=(.*?)&.*|$1| \ -http://code.google.com/p/rabbitvcs/downloads/detail[?]name=rabbitvcs-([0-9.]+).tar.gz&.* diff -Nru rabbitvcs-0.15.3/packages/precise/debian/changelog rabbitvcs-0.16/packages/precise/debian/changelog --- rabbitvcs-0.15.3/packages/precise/debian/changelog 2012-09-23 05:48:35.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/changelog 1970-01-01 00:00:00.000000000 +0000 @@ -1,53 +0,0 @@ -rabbitvcs (0.15.2-1~precise) precise; urgency=low - - * New upstream release 0.15.2 - * Issue 187: Drop-down list of pre-defined properties in the property dialog - * Issue 261: RabbitVCS incompatible with TortoiseHg - * Issue 562: 'Refresh Status' does not work - * Issue 585: Fix "Browser can not handle path with non-English name" - * Issue 586: Fixed "Browser can not handle path with non-English name" - * Issue 564: Debian: Version of python-svn in Depends: is too low - * Issue 579: Ask for dulwich 0.6.1+ - * Issue 605: Log window Forward button does not work for me - * Issue 628: (Sub)directories with a white space are not correctly managed - * Issue 716: Unicode regression from (Sub)directories with a white space are not correctly managed - * Fixed commit ID not being reported when committing to a git repository. - * Updated packaging for Ubuntu and Debian. Added packaging for Quantal Quetzal (12.10) Ubuntu release. - - -- Jason Heeris Sun, 16 Sep 2012 16:44:44 +0800 - -rabbitvcs (0.15.1-1~precise) precise; urgency=low - - * New upstream release (multiple bugfixes) - - -- Jason Heeris Sun, 26 Aug 2012 10:06:10 +0800 - -rabbitvcs (0.15.0.5-1~precise) precise; urgency=low - - * New upstream release fixing gtkspell integration issue - - -- Jason Heeris Thu, 10 Nov 2011 07:22:26 +0800 - -rabbitvcs (0.15.0.3-1~precise) precise; urgency=low - - * New upstream point release: fixes missing data files. - - -- Jason Heeris Wed, 09 Nov 2011 23:43:26 +0800 - -rabbitvcs (0.15.0.1-3~precise) precise; urgency=low - - * Fixed client installation - - -- Jason Heeris Tue, 08 Nov 2011 08:22:51 +0800 - -rabbitvcs (0.15.0.1-2~precise) precise; urgency=low - - * Fixed epoch numbering of dependencies - - -- Jason Heeris Mon, 07 Nov 2011 23:57:30 +0800 - -rabbitvcs (0.15.0.1-1~precise~test1) precise; urgency=low - - * Initial packaging for precise - - -- Jason Heeris Sun, 06 Nov 2011 20:15:57 +0800 diff -Nru rabbitvcs-0.15.3/packages/precise/debian/clean rabbitvcs-0.16/packages/precise/debian/clean --- rabbitvcs-0.15.3/packages/precise/debian/clean 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/clean 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -rabbitvcs/buildinfo.py - diff -Nru rabbitvcs-0.15.3/packages/precise/debian/compat rabbitvcs-0.16/packages/precise/debian/compat --- rabbitvcs-0.15.3/packages/precise/debian/compat 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -7 diff -Nru rabbitvcs-0.15.3/packages/precise/debian/control rabbitvcs-0.16/packages/precise/debian/control --- rabbitvcs-0.15.3/packages/precise/debian/control 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/control 1970-01-01 00:00:00.000000000 +0000 @@ -1,89 +0,0 @@ -Source: rabbitvcs -Maintainer: Jason Heeris -Section: devel -Priority: optional -Build-Depends: debhelper (>= 7), - python (>= 2.5.2) -Build-Depends-Indep: python-support (>= 0.5.3), - pkg-config (>= 0.20) -Standards-Version: 3.9.2.0 -XS-Python-Version: >= 2.5 -Homepage: http://www.rabbitvcs.org - -Package: rabbitvcs-core -Architecture: all -Depends: ${misc:Depends}, - ${python:Depends}, - python-gtk2 (>= 2.12.1), - python-gobject (>= 2.14.1), - python-svn (>= 1.7.2), - python-dbus (>= 0.82.4), - python-configobj (>= 4.4.0), - subversion (>= 1.4.6), - meld (>=1.1.2), - ipython (>=0.7.1), - hicolor-icon-theme (>= 0.10-2), - python-dulwich (>= 0.6.1) -Conflicts: nautilussvn, rabbitvcs -Replaces: nautilussvn -Description: Easy version control - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - There are extensions for Nautilus, Thunar and GEdit, and a simple command-line - interface. - -Package: rabbitvcs-cli -Architecture: all -Depends: ${misc:Depends}, - ${python:Depends}, - rabbitvcs-core (>= 0.15) -Description: Command line interface for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the command-line interface. - -Package: rabbitvcs-gedit -Architecture: all -Depends: ${misc:Depends}, - gedit (>= 3.0), - rabbitvcs-core (>= 0.15) -Description: Gedit extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for gedit text editor. - -Package: rabbitvcs-nautilus -Architecture: all -Depends: ${misc:Depends}, - nautilus (<< 1:3.0~), - python-nautilus (>= 0.5.0~), - python-nautilus (<< 1.0~), - rabbitvcs-core (>= 0.15) -Description: Nautilus 2 extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Nautilus file manager (v2 only). - -Package: rabbitvcs-nautilus3 -Architecture: all -Depends: ${misc:Depends}, - nautilus (>= 1:3~), - python-nautilus (>= 1.0~), - python-gobject (>= 2.28.2~), - rabbitvcs-core (>= 0.15) -Description: Nautilus 3 extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Nautilus file manager (v3.0 or greater). - -Package: rabbitvcs-thunar -Architecture: all -Depends: ${misc:Depends}, - thunar (>= 0.4.0), - thunarx-python (>= 0.2.0), - rabbitvcs-core (>= 0.15) -Description: Thunar extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Thunar file manager. - diff -Nru rabbitvcs-0.15.3/packages/precise/debian/copyright rabbitvcs-0.16/packages/precise/debian/copyright --- rabbitvcs-0.15.3/packages/precise/debian/copyright 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/copyright 1970-01-01 00:00:00.000000000 +0000 @@ -1,92 +0,0 @@ -Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=48 -Name: rabbitvcs -Contact: RabbitVCS Team -Source: http://code.google.com/p/rabbitvcs/ - -Files: * -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2009-2010, Jason Heeris -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: debian/* -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2009-2011, Jason Heeris -License: GPL-3+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-3' - file. - -Files: rabbitvcs/data/icons/hicolor/scalable/emblems/*.svg -Copyright: TortoiseSVN -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: rabbitvcs/util/decorators.py -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2005-2009, Bastian Kleineidam - 2009, Jason Heeris -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: rabbitvcs/debug/ipython_view.py -Copyright: 2007, IBM Corporation -License: - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of the IBM nor the names of its contributors may be - used to endorse or promote products derived from this software without - specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - -Files: rabbitvcs/ui/wraplabel.py -Copyright: 2005, VMware Inc. -License: Expat - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to - deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. diff -Nru rabbitvcs-0.15.3/packages/precise/debian/patches/99_setup.py.patch rabbitvcs-0.16/packages/precise/debian/patches/99_setup.py.patch --- rabbitvcs-0.15.3/packages/precise/debian/patches/99_setup.py.patch 2011-11-06 12:12:27.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/patches/99_setup.py.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -Description: Remove GTK icon cache rebuilding. - This removes the rebuilding of the GTK icon cache after installing the core. - It is not needed in any distro with hicolor-icon-theme >= 0.10-2 -Forwarded: not-needed -Author: Jason Heeris - -diff -Nur -x '*.orig' -x '*~' rabbitvcs-0.15/setup.py rabbitvcs-0.15.new/setup.py ---- rabbitvcs-0.15/setup.py 2011-11-06 11:32:48.053065966 +0800 -+++ rabbitvcs-0.15.new/setup.py 2011-11-06 11:33:02.232892091 +0800 -@@ -154,14 +154,3 @@ - # - # Post installation - # -- --# Make sure the icon cache is deleted and recreated --if sys.argv[1] == "install": -- -- if os.uname()[0] != 'Darwin': -- print "Running gtk-update-icon-cache" -- -- subprocess.Popen( -- ["gtk-update-icon-cache", icon_theme_directory], -- stdout=subprocess.PIPE -- ).communicate()[0] diff -Nru rabbitvcs-0.15.3/packages/precise/debian/patches/series rabbitvcs-0.16/packages/precise/debian/patches/series --- rabbitvcs-0.15.3/packages/precise/debian/patches/series 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -99_setup.py.patch diff -Nru rabbitvcs-0.15.3/packages/precise/debian/pycompat rabbitvcs-0.16/packages/precise/debian/pycompat --- rabbitvcs-0.15.3/packages/precise/debian/pycompat 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/pycompat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -2 diff -Nru rabbitvcs-0.15.3/packages/precise/debian/pyversions rabbitvcs-0.16/packages/precise/debian/pyversions --- rabbitvcs-0.15.3/packages/precise/debian/pyversions 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/pyversions 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -2.5- diff -Nru rabbitvcs-0.15.3/packages/precise/debian/rabbitvcs.1 rabbitvcs-0.16/packages/precise/debian/rabbitvcs.1 --- rabbitvcs-0.15.3/packages/precise/debian/rabbitvcs.1 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/rabbitvcs.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ -.\"Created with GNOME Manpages Editor Wizard -.\"http://sourceforge.net/projects/gmanedit2 -.TH rabbitvcs 1 "May 25, 2009" "" "rabbitvcs" - -.SH NAME -rabbitvcs \- Integrated version control for Nautilus - -.SH SYNOPSIS -.B rabbitvcs - [path1] [path2] ... -.br - -.SH DESCRIPTION -.B rabbitvcs -provides integrated support for various version control version systems in -the Nautilus file manager (currently only subversion). This command opens -a new -.B nautilus -window and applies the given VCS command. - -.SH OPTIONS -.B -.IP module -The VCS command to invoke. Available modules are: about, add, blame, checkout, -cleanup, commit, create, delete, export, ignore, import, lock, log, merge, -properties, relocate, rename, resolve, revert, settings, switch, unlock, update, -updateto - -.B -.IP path -The file(s) or directory(\-ies) to apply the action to. - -.SH "SEE ALSO" -.B nautilus(1) -, -.B svn(1) diff -Nru rabbitvcs-0.15.3/packages/precise/debian/rabbitvcs-cli.install rabbitvcs-0.16/packages/precise/debian/rabbitvcs-cli.install --- rabbitvcs-0.15.3/packages/precise/debian/rabbitvcs-cli.install 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/rabbitvcs-cli.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/cli/rabbitvcs usr/bin diff -Nru rabbitvcs-0.15.3/packages/precise/debian/rabbitvcs-cli.manpages rabbitvcs-0.16/packages/precise/debian/rabbitvcs-cli.manpages --- rabbitvcs-0.15.3/packages/precise/debian/rabbitvcs-cli.manpages 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/rabbitvcs-cli.manpages 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/rabbitvcs.1 diff -Nru rabbitvcs-0.15.3/packages/precise/debian/rabbitvcs-core.install rabbitvcs-0.16/packages/precise/debian/rabbitvcs-core.install --- rabbitvcs-0.15.3/packages/precise/debian/rabbitvcs-core.install 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/rabbitvcs-core.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/tmp/* . diff -Nru rabbitvcs-0.15.3/packages/precise/debian/rabbitvcs-gedit.install rabbitvcs-0.16/packages/precise/debian/rabbitvcs-gedit.install --- rabbitvcs-0.15.3/packages/precise/debian/rabbitvcs-gedit.install 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/rabbitvcs-gedit.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -clients/gedit/rabbitvcs-plugin.py usr/share/gedit/plugins -clients/gedit/rabbitvcs-gedit3.plugin usr/share/gedit/plugins diff -Nru rabbitvcs-0.15.3/packages/precise/debian/rabbitvcs-nautilus3.install rabbitvcs-0.16/packages/precise/debian/rabbitvcs-nautilus3.install --- rabbitvcs-0.15.3/packages/precise/debian/rabbitvcs-nautilus3.install 2011-11-11 17:20:08.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/rabbitvcs-nautilus3.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/nautilus-3.0/RabbitVCS.py usr/share/nautilus-python/extensions diff -Nru rabbitvcs-0.15.3/packages/precise/debian/rabbitvcs-nautilus.install rabbitvcs-0.16/packages/precise/debian/rabbitvcs-nautilus.install --- rabbitvcs-0.15.3/packages/precise/debian/rabbitvcs-nautilus.install 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/rabbitvcs-nautilus.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/nautilus/RabbitVCS.py usr/lib/nautilus/extensions-2.0/python diff -Nru rabbitvcs-0.15.3/packages/precise/debian/rabbitvcs-thunar.install rabbitvcs-0.16/packages/precise/debian/rabbitvcs-thunar.install --- rabbitvcs-0.15.3/packages/precise/debian/rabbitvcs-thunar.install 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/rabbitvcs-thunar.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -clients/thunar/RabbitVCS.py usr/lib/thunarx-2/python -clients/thunar/RabbitVCS.py usr/lib/thunarx-1/python diff -Nru rabbitvcs-0.15.3/packages/precise/debian/rules rabbitvcs-0.16/packages/precise/debian/rules --- rabbitvcs-0.15.3/packages/precise/debian/rules 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/rules 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -#!/usr/bin/make -f - -# Uncomment this to turn on verbose mode. -# export DH_VERBOSE=1 - -%: - dh $@ diff -Nru rabbitvcs-0.15.3/packages/precise/debian/source/format rabbitvcs-0.16/packages/precise/debian/source/format --- rabbitvcs-0.15.3/packages/precise/debian/source/format 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/source/format 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -3.0 (quilt) \ No newline at end of file diff -Nru rabbitvcs-0.15.3/packages/precise/debian/watch rabbitvcs-0.16/packages/precise/debian/watch --- rabbitvcs-0.15.3/packages/precise/debian/watch 2011-10-23 07:36:59.000000000 +0000 +++ rabbitvcs-0.16/packages/precise/debian/watch 1970-01-01 00:00:00.000000000 +0000 @@ -1,5 +0,0 @@ -version=3 -opts=\ -downloadurlmangle=s|.*[?]name=(.*?)&.*|http://rabbitvcs.googlecode.com/files/$1|,\ -filenamemangle=s|[^/]+[?]name=(.*?)&.*|$1| \ -http://code.google.com/p/rabbitvcs/downloads/detail[?]name=rabbitvcs-([0-9.]+).tar.gz&.* diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/changelog rabbitvcs-0.16/packages/quantal/debian/changelog --- rabbitvcs-0.15.3/packages/quantal/debian/changelog 2012-09-23 05:48:35.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/changelog 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -rabbitvcs (0.15.2-1~quantal) quantal; urgency=low - - * New upstream release 0.15.2 - * Issue 187: Drop-down list of pre-defined properties in the property dialog - * Issue 261: RabbitVCS incompatible with TortoiseHg - * Issue 562: 'Refresh Status' does not work - * Issue 585: Fix "Browser can not handle path with non-English name" - * Issue 586: Fixed "Browser can not handle path with non-English name" - * Issue 564: Debian: Version of python-svn in Depends: is too low - * Issue 579: Ask for dulwich 0.6.1+ - * Issue 605: Log window Forward button does not work for me - * Issue 628: (Sub)directories with a white space are not correctly managed - * Issue 716: Unicode regression from (Sub)directories with a white space are not correctly managed - * Fixed commit ID not being reported when committing to a git repository. - * Updated packaging for Ubuntu and Debian. Added packaging for Quantal Quetzal (12.10) Ubuntu release. - - -- Jason Heeris Sun, 16 Sep 2012 16:46:59 +0800 - -rabbitvcs (0.15.1-1~quantal) quantal; urgency=low - - * New upstream release (multiple bugfixes) - - -- Jason Heeris Sun, 26 Aug 2012 10:06:23 +0800 diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/clean rabbitvcs-0.16/packages/quantal/debian/clean --- rabbitvcs-0.15.3/packages/quantal/debian/clean 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/clean 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -rabbitvcs/buildinfo.py - diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/compat rabbitvcs-0.16/packages/quantal/debian/compat --- rabbitvcs-0.15.3/packages/quantal/debian/compat 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/compat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -7 diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/control rabbitvcs-0.16/packages/quantal/debian/control --- rabbitvcs-0.15.3/packages/quantal/debian/control 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/control 1970-01-01 00:00:00.000000000 +0000 @@ -1,89 +0,0 @@ -Source: rabbitvcs -Maintainer: Jason Heeris -Section: devel -Priority: optional -Build-Depends: debhelper (>= 7), - python (>= 2.5.2) -Build-Depends-Indep: python-support (>= 0.5.3), - pkg-config (>= 0.20) -Standards-Version: 3.9.2.0 -XS-Python-Version: >= 2.5 -Homepage: http://www.rabbitvcs.org - -Package: rabbitvcs-core -Architecture: all -Depends: ${misc:Depends}, - ${python:Depends}, - python-gtk2 (>= 2.12.1), - python-gobject (>= 2.14.1), - python-svn (>= 1.7.2), - python-dbus (>= 0.82.4), - python-configobj (>= 4.4.0), - subversion (>= 1.4.6), - meld (>=1.1.2), - ipython (>=0.7.1), - hicolor-icon-theme (>= 0.10-2), - python-dulwich (>= 0.6.1) -Conflicts: nautilussvn, rabbitvcs -Replaces: nautilussvn -Description: Easy version control - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - There are extensions for Nautilus, Thunar and GEdit, and a simple command-line - interface. - -Package: rabbitvcs-cli -Architecture: all -Depends: ${misc:Depends}, - ${python:Depends}, - rabbitvcs-core (>= 0.15) -Description: Command line interface for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the command-line interface. - -Package: rabbitvcs-gedit -Architecture: all -Depends: ${misc:Depends}, - gedit (>= 3.0), - rabbitvcs-core (>= 0.15) -Description: Gedit extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for gedit text editor. - -Package: rabbitvcs-nautilus -Architecture: all -Depends: ${misc:Depends}, - nautilus (<< 1:3.0~), - python-nautilus (>= 0.5.0~), - python-nautilus (<< 1.0~), - rabbitvcs-core (>= 0.15) -Description: Nautilus 2 extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Nautilus file manager (v2 only). - -Package: rabbitvcs-nautilus3 -Architecture: all -Depends: ${misc:Depends}, - nautilus (>= 1:3~), - python-nautilus (>= 1.0~), - python-gobject (>= 2.28.2~), - rabbitvcs-core (>= 0.15) -Description: Nautilus 3 extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Nautilus file manager (v3.0 or greater). - -Package: rabbitvcs-thunar -Architecture: all -Depends: ${misc:Depends}, - thunar (>= 0.4.0), - thunarx-python (>= 0.2.0), - rabbitvcs-core (>= 0.15) -Description: Thunar extension for RabbitVCS - RabbitVCS is a set of graphical tools written to provide simple and - straightforward access to the version control systems SVN (Subversion) and Git. - This is the extension for the Thunar file manager. - diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/copyright rabbitvcs-0.16/packages/quantal/debian/copyright --- rabbitvcs-0.15.3/packages/quantal/debian/copyright 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/copyright 1970-01-01 00:00:00.000000000 +0000 @@ -1,92 +0,0 @@ -Format-Specification: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=48 -Name: rabbitvcs -Contact: RabbitVCS Team -Source: http://code.google.com/p/rabbitvcs/ - -Files: * -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2009-2010, Jason Heeris -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: debian/* -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2009-2011, Jason Heeris -License: GPL-3+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-3' - file. - -Files: rabbitvcs/data/icons/hicolor/scalable/emblems/*.svg -Copyright: TortoiseSVN -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: rabbitvcs/util/decorators.py -Copyright: 2006-2008, Jason Field - 2007-2008, Bruce van der Kooij - 2008-2008, Adam Plumb - 2005-2009, Bastian Kleineidam - 2009, Jason Heeris -License: GPL-2+ - On Debian systems the full text of the GNU General Public - License can be found in the `/usr/share/common-licenses/GPL-2' - file. - -Files: rabbitvcs/debug/ipython_view.py -Copyright: 2007, IBM Corporation -License: - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - - Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - Neither the name of the IBM nor the names of its contributors may be - used to endorse or promote products derived from this software without - specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - -Files: rabbitvcs/ui/wraplabel.py -Copyright: 2005, VMware Inc. -License: Expat - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to - deal in the Software without restriction, including without limitation the - rights to use, copy, modify, merge, publish, distribute, sublicense, and/or - sell copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/patches/99_setup.py.patch rabbitvcs-0.16/packages/quantal/debian/patches/99_setup.py.patch --- rabbitvcs-0.15.3/packages/quantal/debian/patches/99_setup.py.patch 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/patches/99_setup.py.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -Description: Remove GTK icon cache rebuilding. - This removes the rebuilding of the GTK icon cache after installing the core. - It is not needed in any distro with hicolor-icon-theme >= 0.10-2 -Forwarded: not-needed -Author: Jason Heeris - -diff -Nur -x '*.orig' -x '*~' rabbitvcs-0.15/setup.py rabbitvcs-0.15.new/setup.py ---- rabbitvcs-0.15/setup.py 2011-11-06 11:32:48.053065966 +0800 -+++ rabbitvcs-0.15.new/setup.py 2011-11-06 11:33:02.232892091 +0800 -@@ -154,14 +154,3 @@ - # - # Post installation - # -- --# Make sure the icon cache is deleted and recreated --if sys.argv[1] == "install": -- -- if os.uname()[0] != 'Darwin': -- print "Running gtk-update-icon-cache" -- -- subprocess.Popen( -- ["gtk-update-icon-cache", icon_theme_directory], -- stdout=subprocess.PIPE -- ).communicate()[0] diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/patches/series rabbitvcs-0.16/packages/quantal/debian/patches/series --- rabbitvcs-0.15.3/packages/quantal/debian/patches/series 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -99_setup.py.patch diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/pycompat rabbitvcs-0.16/packages/quantal/debian/pycompat --- rabbitvcs-0.15.3/packages/quantal/debian/pycompat 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/pycompat 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -2 diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/pyversions rabbitvcs-0.16/packages/quantal/debian/pyversions --- rabbitvcs-0.15.3/packages/quantal/debian/pyversions 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/pyversions 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -2.5- diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/rabbitvcs.1 rabbitvcs-0.16/packages/quantal/debian/rabbitvcs.1 --- rabbitvcs-0.15.3/packages/quantal/debian/rabbitvcs.1 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/rabbitvcs.1 1970-01-01 00:00:00.000000000 +0000 @@ -1,36 +0,0 @@ -.\"Created with GNOME Manpages Editor Wizard -.\"http://sourceforge.net/projects/gmanedit2 -.TH rabbitvcs 1 "May 25, 2009" "" "rabbitvcs" - -.SH NAME -rabbitvcs \- Integrated version control for Nautilus - -.SH SYNOPSIS -.B rabbitvcs - [path1] [path2] ... -.br - -.SH DESCRIPTION -.B rabbitvcs -provides integrated support for various version control version systems in -the Nautilus file manager (currently only subversion). This command opens -a new -.B nautilus -window and applies the given VCS command. - -.SH OPTIONS -.B -.IP module -The VCS command to invoke. Available modules are: about, add, blame, checkout, -cleanup, commit, create, delete, export, ignore, import, lock, log, merge, -properties, relocate, rename, resolve, revert, settings, switch, unlock, update, -updateto - -.B -.IP path -The file(s) or directory(\-ies) to apply the action to. - -.SH "SEE ALSO" -.B nautilus(1) -, -.B svn(1) diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/rabbitvcs-cli.install rabbitvcs-0.16/packages/quantal/debian/rabbitvcs-cli.install --- rabbitvcs-0.15.3/packages/quantal/debian/rabbitvcs-cli.install 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/rabbitvcs-cli.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/cli/rabbitvcs usr/bin diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/rabbitvcs-cli.manpages rabbitvcs-0.16/packages/quantal/debian/rabbitvcs-cli.manpages --- rabbitvcs-0.15.3/packages/quantal/debian/rabbitvcs-cli.manpages 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/rabbitvcs-cli.manpages 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/rabbitvcs.1 diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/rabbitvcs-core.install rabbitvcs-0.16/packages/quantal/debian/rabbitvcs-core.install --- rabbitvcs-0.15.3/packages/quantal/debian/rabbitvcs-core.install 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/rabbitvcs-core.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -debian/tmp/* . diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/rabbitvcs-gedit.install rabbitvcs-0.16/packages/quantal/debian/rabbitvcs-gedit.install --- rabbitvcs-0.15.3/packages/quantal/debian/rabbitvcs-gedit.install 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/rabbitvcs-gedit.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -clients/gedit/rabbitvcs-plugin.py usr/share/gedit/plugins -clients/gedit/rabbitvcs-gedit3.plugin usr/share/gedit/plugins diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/rabbitvcs-nautilus3.install rabbitvcs-0.16/packages/quantal/debian/rabbitvcs-nautilus3.install --- rabbitvcs-0.15.3/packages/quantal/debian/rabbitvcs-nautilus3.install 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/rabbitvcs-nautilus3.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/nautilus-3.0/RabbitVCS.py usr/share/nautilus-python/extensions diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/rabbitvcs-nautilus.install rabbitvcs-0.16/packages/quantal/debian/rabbitvcs-nautilus.install --- rabbitvcs-0.15.3/packages/quantal/debian/rabbitvcs-nautilus.install 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/rabbitvcs-nautilus.install 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -clients/nautilus/RabbitVCS.py usr/lib/nautilus/extensions-2.0/python diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/rabbitvcs-thunar.install rabbitvcs-0.16/packages/quantal/debian/rabbitvcs-thunar.install --- rabbitvcs-0.15.3/packages/quantal/debian/rabbitvcs-thunar.install 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/rabbitvcs-thunar.install 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -clients/thunar/RabbitVCS.py usr/lib/thunarx-2/python -clients/thunar/RabbitVCS.py usr/lib/thunarx-1/python diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/rules rabbitvcs-0.16/packages/quantal/debian/rules --- rabbitvcs-0.15.3/packages/quantal/debian/rules 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/rules 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -#!/usr/bin/make -f - -# Uncomment this to turn on verbose mode. -# export DH_VERBOSE=1 - -%: - dh $@ diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/source/format rabbitvcs-0.16/packages/quantal/debian/source/format --- rabbitvcs-0.15.3/packages/quantal/debian/source/format 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/source/format 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -3.0 (quilt) \ No newline at end of file diff -Nru rabbitvcs-0.15.3/packages/quantal/debian/watch rabbitvcs-0.16/packages/quantal/debian/watch --- rabbitvcs-0.15.3/packages/quantal/debian/watch 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/packages/quantal/debian/watch 1970-01-01 00:00:00.000000000 +0000 @@ -1,5 +0,0 @@ -version=3 -opts=\ -downloadurlmangle=s|.*[?]name=(.*?)&.*|http://rabbitvcs.googlecode.com/files/$1|,\ -filenamemangle=s|[^/]+[?]name=(.*?)&.*|$1| \ -http://code.google.com/p/rabbitvcs/downloads/detail[?]name=rabbitvcs-([0-9.]+).tar.gz&.* diff -Nru rabbitvcs-0.15.3/rabbitvcs/__init__.py rabbitvcs-0.16/rabbitvcs/__init__.py --- rabbitvcs-0.15.3/rabbitvcs/__init__.py 2013-05-05 03:50:49.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/__init__.py 2014-02-16 09:07:47.000000000 +0000 @@ -31,7 +31,7 @@ except Exception, e: pass -version = "0.15.3" +version = "0.16.0" APP_NAME = "RabbitVCS" TEMP_DIR_PREFIX = "rabbitvcs-" LOCALE_DIR = "%s/locale" % os.path.dirname(os.path.dirname(os.path.realpath(__file__))) diff -Nru rabbitvcs-0.15.3/rabbitvcs/test.py rabbitvcs-0.16/rabbitvcs/test.py --- rabbitvcs-0.15.3/rabbitvcs/test.py 2010-12-10 00:06:15.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/test.py 2014-02-16 09:07:47.000000000 +0000 @@ -23,12 +23,12 @@ import unittest import doctest -import lib.helper +import rabbitvcs.util.helper if __name__ == "__main__": suite = unittest.TestSuite() - for module in (lib.helper,): + for module in (rabbitvcs.util.helper,): suite.addTest(doctest.DocTestSuite(module)) runner = unittest.TextTestRunner() runner.run(suite) diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/add.py rabbitvcs-0.16/rabbitvcs/ui/add.py --- rabbitvcs-0.15.3/rabbitvcs/ui/add.py 2012-09-30 10:18:07.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/add.py 2014-02-16 09:07:47.000000000 +0000 @@ -36,6 +36,7 @@ import rabbitvcs.util.helper import rabbitvcs.vcs from rabbitvcs.util.log import Log +from rabbitvcs.vcs.status import Status log = Log("rabbitvcs.ui.add") @@ -63,6 +64,13 @@ self.last_row_clicked = None self.vcs = rabbitvcs.vcs.VCS() self.items = [] + self.show_ignored = False + + # TODO Remove this when there is svn support + for path in paths: + if rabbitvcs.vcs.guess(path)['vcs'] == rabbitvcs.vcs.VCS_SVN: + self.get_widget("show_ignored").set_sensitive(False) + self.statuses = self.vcs.statuses_for_add(paths) self.files_table = rabbitvcs.ui.widget.Table( self.get_widget("files_table"), @@ -93,6 +101,25 @@ gtk.gdk.threads_enter() self.get_widget("status").set_text(_("Loading...")) self.items = self.vcs.get_items(self.paths, self.statuses) + + if self.show_ignored: + for path in paths: + # TODO Refactor + # TODO SVN support + # TODO Further fix ignore patterns + if rabbitvcs.vcs.guess(path)['vcs'] == rabbitvcs.vcs.VCS_GIT: + git = self.vcs.git(path) + for ignored_path in git.client.get_all_ignore_file_paths(path): + should_add = True + for item in self.items: + if item.path == os.path.realpath(ignored_path): + should_add = False + + if should_add: + self.items.append(Status(os.path.realpath(ignored_path), 'unversioned')) + + + self.populate_files_table() self.get_widget("status").set_text(_("Found %d item(s)") % len(self.items)) gtk.gdk.threads_leave() @@ -106,6 +133,10 @@ rabbitvcs.util.helper.get_file_extension(item.path) ]) + def toggle_ignored(self): + self.show_ignored = not self.show_ignored + self.initialize_items() + # Overrides the GtkContextMenuCaller method def on_context_menu_command_finished(self): self.initialize_items() @@ -135,6 +166,9 @@ for row in self.files_table.get_items(): row[0] = self.TOGGLE_ALL + def on_show_ignored_toggled(self, widget): + self.toggle_ignored() + def on_files_table_row_activated(self, treeview, event, col): paths = self.files_table.get_selected_row_items(1) rabbitvcs.util.helper.launch_diff_tool(*paths) diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/branches.py rabbitvcs-0.16/rabbitvcs/ui/branches.py --- rabbitvcs-0.15.3/rabbitvcs/ui/branches.py 2012-09-30 10:18:07.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/branches.py 2014-02-16 09:07:47.000000000 +0000 @@ -38,6 +38,8 @@ import rabbitvcs.util.helper import rabbitvcs.vcs +import xml.sax.saxutils as saxutils + from rabbitvcs import gettext _ = gettext.gettext @@ -189,7 +191,7 @@ self.branch_list = self.git.branch_list() for item in self.branch_list: - name = item.name + name = saxutils.escape(item.name) if item.tracking: name = "%s" % name self.items_treeview.append([name]) @@ -198,11 +200,15 @@ self.show_add() def on_delete_clicked(self, widget): - selected = self.items_treeview.get_selected_row_items(0) + items = self.items_treeview.get_selected_row_items(0) + + selected = [] + for branch in items: + selected.append(saxutils.unescape(branch).replace("", "").replace("", "")) confirm = rabbitvcs.ui.dialog.Confirmation(_("Are you sure you want to delete %s?" % ", ".join(selected))) result = confirm.run() - + if result == gtk.RESPONSE_OK or result == True: for branch in selected: self.git.branch_delete(branch) @@ -275,7 +281,7 @@ def show_edit(self, branch_name): self.state = STATE_EDIT - + branch_name = saxutils.unescape(branch_name) self.selected_branch = None for item in self.branch_list: if item.name == branch_name: @@ -284,15 +290,16 @@ self.save_button.set_label(_("Save")) - self.branch_entry.set_text(self.selected_branch.name) - self.revision_label.set_text(unicode(self.selected_branch.revision)) - self.message_label.set_text(self.selected_branch.message.rstrip("\n")) - if self.selected_branch.tracking: - self.checkout_checkbox.set_active(True) - self.checkout_checkbox.set_sensitive(False) - else: - self.checkout_checkbox.set_active(False) - self.checkout_checkbox.set_sensitive(True) + if self.selected_branch: + self.branch_entry.set_text(self.selected_branch.name) + self.revision_label.set_text(unicode(self.selected_branch.revision)) + self.message_label.set_text(self.selected_branch.message.rstrip("\n")) + if self.selected_branch.tracking: + self.checkout_checkbox.set_active(True) + self.checkout_checkbox.set_sensitive(False) + else: + self.checkout_checkbox.set_active(False) + self.checkout_checkbox.set_sensitive(True) self.show_containers(self.view_containers) self.get_widget("detail_label").set_markup(_("Branch Detail")) diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/changes.py rabbitvcs-0.16/rabbitvcs/ui/changes.py --- rabbitvcs-0.15.3/rabbitvcs/ui/changes.py 2012-09-30 10:18:07.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/changes.py 2014-02-16 09:07:47.000000000 +0000 @@ -198,23 +198,24 @@ self.more_actions.set_sensitive(False) def view_selected_diff(self, sidebyside=False): - url1 = self.changes_table.get_row(self.selected_rows[0])[0] - url2 = url1 - if url1 == ".": - url1 = "" - url2 = "" - - url1 = rabbitvcs.util.helper.url_join(self.first_urls.get_active_text(), url1) - url2 = rabbitvcs.util.helper.url_join(self.second_urls.get_active_text(), url2) - rev1 = self.get_first_revision() - rev2 = self.get_second_revision() - - rabbitvcs.util.helper.launch_ui_window("diff", [ - "%s@%s" % (url1, unicode(rev1)), - "%s@%s" % (url2, unicode(rev2)), - "%s" % (sidebyside and "-s" or ""), - "--vcs=%s" % self.get_vcs_name() - ]) + for row in self.selected_rows: + url1 = self.changes_table.get_row(row)[0] + url2 = url1 + if url1 == ".": + url1 = "" + url2 = "" + + url1 = rabbitvcs.util.helper.url_join(self.first_urls.get_active_text(), url1) + url2 = rabbitvcs.util.helper.url_join(self.second_urls.get_active_text(), url2) + rev1 = self.get_first_revision() + rev2 = self.get_second_revision() + + rabbitvcs.util.helper.launch_ui_window("diff", [ + "%s@%s" % (url1, unicode(rev1)), + "%s@%s" % (url2, unicode(rev2)), + "%s" % (sidebyside and "-s" or ""), + "--vcs=%s" % self.get_vcs_name() + ]) # @@ -276,8 +277,11 @@ gobject.TYPE_STRING], [_("Path"), _("Change"), _("Property Change")], flags={ - "sortable": True, + "sortable": True, "sort_on": 1 + }, + callbacks={ + "mouse-event": self.on_changes_table_button_released } ) @@ -428,7 +432,7 @@ class MenuViewDiff(MenuItem): identifier = "RabbitVCS::View_Diff" - label = _("View unified diff") + label = _("View unified diff(s)") icon = "rabbitvcs-diff" class MenuCompare(MenuItem): @@ -457,12 +461,12 @@ def view_diff(self): return ( - len(self.caller.selected_rows) == 1 + len(self.caller.selected_rows) > 0 ) def compare(self): return ( - len(self.caller.selected_rows) == 1 + len(self.caller.selected_rows) > 0 ) class ChangesContextMenuCallbacks: @@ -477,7 +481,12 @@ url = rabbitvcs.util.helper.url_join(self.caller.first_urls.get_active_text(), path) rev = self.caller.get_first_revision() - rabbitvcs.util.helper.launch_ui_window("open", [url, "-r", unicode(rev)]) + + rabbitvcs.util.helper.launch_ui_window("open", [ + "--vcs=%s" % self.caller.get_vcs_name(), + url, + "-r%s" % unicode(rev) + ]) def open_second(self, widget, data=None): path = self.caller.changes_table.get_row(self.caller.selected_rows[0])[0] @@ -486,29 +495,34 @@ url = rabbitvcs.util.helper.url_join(self.caller.second_urls.get_active_text(), path) rev = self.caller.get_second_revision() - rabbitvcs.util.helper.launch_ui_window("open", [url, "-r", unicode(rev)]) + rabbitvcs.util.helper.launch_ui_window("open", [ + "--vcs=%s" % self.caller.get_vcs_name(), + url, + "-r%s" % unicode(rev) + ]) def view_diff(self, widget, data=None): self.caller.view_selected_diff() def compare(self, widget, data=None): - url1 = self.caller.changes_table.get_row(self.caller.selected_rows[0])[0] - url2 = url1 - if url1 == ".": - url1 = "" - url2 = "" - - url1 = rabbitvcs.util.helper.url_join(self.caller.first_urls.get_active_text(), url1) - url2 = rabbitvcs.util.helper.url_join(self.caller.second_urls.get_active_text(), url2) - rev1 = self.caller.get_first_revision() - rev2 = self.caller.get_second_revision() - - rabbitvcs.util.helper.launch_ui_window("diff", [ - "%s@%s" % (url1, unicode(rev1)), - "%s@%s" % (url2, unicode(rev2)), - "-s", - "--vcs=%s" % self.caller.get_vcs_name() - ]) + for row in self.caller.selected_rows: + url1 = self.caller.changes_table.get_row(row)[0] + url2 = url1 + if url1 == ".": + url1 = "" + url2 = "" + + url1 = rabbitvcs.util.helper.url_join(self.caller.first_urls.get_active_text(), url1) + url2 = rabbitvcs.util.helper.url_join(self.caller.second_urls.get_active_text(), url2) + rev1 = self.caller.get_first_revision() + rev2 = self.caller.get_second_revision() + + rabbitvcs.util.helper.launch_ui_window("diff", [ + "%s@%s" % (url1, unicode(rev1)), + "%s@%s" % (url2, unicode(rev2)), + "-s", + "--vcs=%s" % self.caller.get_vcs_name() + ]) class ChangesContextMenu: """ diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/commit.py rabbitvcs-0.16/rabbitvcs/ui/commit.py --- rabbitvcs-0.15.3/rabbitvcs/ui/commit.py 2012-09-30 10:20:41.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/commit.py 2014-02-16 09:07:47.000000000 +0000 @@ -72,11 +72,13 @@ self.base_dir = base_dir self.vcs = rabbitvcs.vcs.VCS() + self.items = [] self.files_table = rabbitvcs.ui.widget.Table( self.get_widget("files_table"), [gobject.TYPE_BOOLEAN, rabbitvcs.ui.widget.TYPE_PATH, - gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING], + gobject.TYPE_STRING, rabbitvcs.ui.widget.TYPE_STATUS, + gobject.TYPE_STRING], [rabbitvcs.ui.widget.TOGGLE_BUTTON, _("Path"), _("Extension"), _("Text Status"), _("Property Status")], filters=[{ @@ -98,7 +100,7 @@ } ) self.files_table.allow_multiple() - + self.get_widget("toggle_show_unversioned").set_active(not self.SHOW_UNVERSIONED) self.message = rabbitvcs.ui.widget.TextView( self.get_widget("message"), (message and message or "") @@ -128,7 +130,6 @@ gtk.gdk.threads_enter() self.populate_files_table() - self.get_widget("status").set_text(_("Found %d item(s)") % len(self.items)) gtk.gdk.threads_leave() # Overrides the GtkContextMenuCaller method @@ -179,11 +180,14 @@ # # Event handlers # + def on_refresh_clicked(self, widget): + self.initialize_items() + def on_key_pressed(self, widget, data): if InterfaceView.on_key_pressed(self, widget, data): return True - if (data.state & (gtk.gdk.SHIFT_MASK | gtk.gdk.CONTROL_MASK) and + if (data.state & (gtk.gdk.CONTROL_MASK) and gtk.gdk.keyval_name(data.keyval) == "Return"): self.on_ok_clicked(widget) return True @@ -238,6 +242,7 @@ """ self.files_table.clear() + n = 0 for item in self.items: if item.path in self.changes: checked = self.changes[item.path] @@ -247,6 +252,7 @@ if not self.should_item_be_visible(item): continue + n += 1 self.files_table.append([ checked, item.path, @@ -254,6 +260,7 @@ item.simple_content_status(), item.simple_metadata_status() ]) + self.get_widget("status").set_text(_("Found %d item(s)") % n) class SVNCommit(Commit): def __init__(self, paths, base_dir=None, message=None): @@ -305,12 +312,17 @@ self.action.append( rabbitvcs.util.helper.save_log_message, self.message.get_text() - ) - self.action.append(self.vcs.svn().commit, items, self.message.get_text(), recurse=recurse) - self.action.append(self.action.set_status, _("Completed Commit")) + ), + self.action.append(self.do_commit, items, recurse) self.action.append(self.action.finish) self.action.start() + def do_commit(self, items, recurse): + # pysvn.Revision + revision = self.vcs.svn().commit(items, self.message.get_text(), recurse=recurse) + + self.action.set_status(_("Completed Commit") + " at Revision: " + str(revision.number)) + def on_files_table_toggle_event(self, row, col): # Adds path: True/False to the dict self.changes[row[1]] = row[col] @@ -365,7 +377,7 @@ ) self.action.append(self.action.set_status, _("Completed Commit")) self.action.append(self.action.finish) - self.action.start() + self.action.start() def on_files_table_toggle_event(self, row, col): # Adds path: True/False to the dict diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/editconflicts.py rabbitvcs-0.16/rabbitvcs/ui/editconflicts.py --- rabbitvcs-0.15.3/rabbitvcs/ui/editconflicts.py 2011-10-21 17:07:55.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/editconflicts.py 2014-02-16 09:07:47.000000000 +0000 @@ -113,7 +113,7 @@ paths = os.listdir(os.path.dirname(path)) for head in paths: if head.find(os.path.basename(path)) != -1 and head.find("merge-right") != -1: - return head + return os.path.join(os.path.dirname(path), head) # If no merge-right file exists, merging is coming from head # so export the file from head diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/log.py rabbitvcs-0.16/rabbitvcs/ui/log.py --- rabbitvcs-0.15.3/rabbitvcs/ui/log.py 2012-09-26 14:13:29.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/log.py 2014-02-16 09:07:47.000000000 +0000 @@ -46,6 +46,8 @@ DATETIME_FORMAT = rabbitvcs.util.helper.LOCAL_DATETIME_FORMAT REVISION_LABEL = _("Revision") +DATE_LABEL = _("Date") +AUTHOR_LABEL = _("Author") def revision_grapher(history): """ @@ -105,7 +107,8 @@ selected_rows = [] selected_row = [] paths_selected_rows = [] - + display_items = [] + limit = 100 def __init__(self, path): @@ -120,6 +123,7 @@ self.get_widget("Log").set_title(_("Log - %s") % path) self.vcs = rabbitvcs.vcs.VCS() + self.filter_text = None self.path = path self.cache = LogCache() @@ -138,6 +142,7 @@ ) self.stop_on_copy = False + self.revision_clipboard = gtk.Clipboard() # # UI Signal Callback Methods @@ -154,6 +159,13 @@ self.close() + def on_key_pressed(self, widget, data): + InterfaceView.on_key_pressed(self, widget, data) + if (data.state & gtk.gdk.CONTROL_MASK and + gtk.gdk.keyval_name(data.keyval).lower() == "c"): + if len(self.revisions_table.get_selected_rows()) > 0: + self.copy_revision_text() + def on_stop_on_copy_toggled(self, widget): self.stop_on_copy = self.get_widget("stop_on_copy").get_active() if not self.is_loading: @@ -164,12 +176,28 @@ self.cache.empty() self.load() + + def on_search(self, widget): + tb = self.get_widget("search_buffer") + self.filter_text = tb.get_text(tb.get_start_iter(), tb.get_end_iter()).lower() + + self.refresh() + # # Revisions table callbacks # + # In this UI, we have an ability to filter and display only certain items. + def get_displayed_row_items(self, col): + items = [] + for row in self.selected_rows: + items.append(self.display_items[row][col]) + + return items + def on_revisions_table_row_activated(self, treeview, event, col): - paths = self.revisions_table.get_selected_row_items(1) + paths = self.revisions_table.get_displayed_row_items(1) + rabbitvcs.util.helper.launch_diff_tool(*paths) def on_revisions_table_mouse_event(self, treeview, data=None): @@ -193,8 +221,8 @@ def on_paths_table_row_activated(self, treeview, data=None, col=None): try: - revision1 = unicode(self.revision_items[self.revisions_table.get_selected_rows()[0]].revision) - revision2 = unicode(self.revision_items[self.revisions_table.get_selected_rows()[0]+1].revision) + revision1 = unicode(self.display_items[self.revisions_table.get_selected_rows()[0]].revision) + revision2 = unicode(self.display_items[self.revisions_table.get_selected_rows()[0]+1].revision) path_item = self.paths_table.get_row(self.paths_table.get_selected_rows()[0])[1] url = self.root_url + path_item self.view_diff_for_path(url, unicode(revision1), unicode(revision2), sidebyside=True) @@ -209,21 +237,21 @@ revisions = [] for row in self.revisions_table.get_selected_rows(): line = { - "revision": self.revision_items[row].revision, - "author": self.revision_items[row].author, - "message": self.revision_items[row].message + "revision": self.display_items[row].revision, + "author": self.display_items[row].author, + "message": self.display_items[row].message } - if self.revision_items[row].parents: - line["parents"] = self.revision_items[row].parents + if self.display_items[row].parents: + line["parents"] = self.display_items[row].parents try: - line["next_revision"] = self.revision_items[row+1].revision + line["next_revision"] = self.display_items[row+1].revision except IndexError,e: pass try: - line["previous_revision"] = self.revision_items[row-1].revision + line["previous_revision"] = self.display_items[row-1].revision except IndexError,e: pass @@ -281,17 +309,17 @@ revisions = [] for row in self.revisions_table.get_selected_rows(): line = { - "revision": self.revision_items[row].revision, - "author": self.revision_items[row].author, - "message": self.revision_items[row].message + "revision": self.display_items[row].revision, + "author": self.display_items[row].author, + "message": self.display_items[row].message } try: - line["next_revision"] = self.revision_items[row+1].revision + line["next_revision"] = self.display_items[row+1].revision except IndexError,e: pass try: - line["previous_revision"] = self.revision_items[row-1].revision + line["previous_revision"] = self.display_items[row-1].revision except IndexError,e: pass @@ -328,22 +356,30 @@ return vcs class SVNLog(Log): - def __init__(self, path): + def __init__(self, path, merge_candidate_revisions=None): Log.__init__(self, path) self.svn = self.vcs.svn() + self.merge_candidate_revisions = merge_candidate_revisions self.revisions_table = rabbitvcs.ui.widget.Table( self.get_widget("revisions_table"), [gobject.TYPE_STRING, gobject.TYPE_STRING, - gobject.TYPE_STRING, gobject.TYPE_STRING], + gobject.TYPE_STRING, gobject.TYPE_STRING, + rabbitvcs.ui.widget.TYPE_HIDDEN], [_("Revision"), _("Author"), - _("Date"), _("Message")], + _("Date"), _("Message"), + _("Color")], callbacks={ "mouse-event": self.on_revisions_table_mouse_event } ) + for i in range(4): + column = self.revisions_table.get_column(i) + cell = column.get_cell_renderers()[0] + column.add_attribute(cell, 'foreground', 4) + self.paths_table = rabbitvcs.ui.widget.Table( self.get_widget("paths_table"), [gobject.TYPE_STRING, gobject.TYPE_STRING, @@ -413,30 +449,56 @@ if self.rev_start > self.rev_max: self.rev_max = self.rev_start + self.display_items = [] + + for item in self.revision_items: + msg = cgi.escape(item.message).lower() + + should_add = not self.filter_text + should_add = should_add or msg.find(self.filter_text) > -1 + should_add = should_add or item.author.lower().find(self.filter_text) > -1 + should_add = should_add or str(item.revision).lower().find(self.filter_text) > -1 + should_add = should_add or str(item.date).lower().find(self.filter_text) > -1 + + if should_add: + self.display_items.append(item) + self.set_start_revision(self.rev_start) self.set_end_revision(self.rev_end) - for item in self.revision_items: + self.check_previous_sensitive() + self.check_next_sensitive() + + for item in self.display_items: msg = cgi.escape(rabbitvcs.util.helper.format_long_text(item.message, 80)) + rev = item.revision + color = "#000000" + if (self.merge_candidate_revisions != None and + int(rev.short()) not in self.merge_candidate_revisions): + color = "#c9c9c9" - self.revisions_table.append([ - unicode(item.revision), - item.author, - rabbitvcs.util.helper.format_datetime(item.date), - msg - ]) + self.populate_table(rev, item.author, item.date, msg, color) # Stop on copy after adding the item to the table # so the user can look at the item that was copied if self.stop_on_copy: for path in item.changed_paths: if path.copy_from_path or path.copy_from_revision: + self.set_loading(False) return - - self.check_previous_sensitive() - self.check_next_sensitive() + self.set_loading(False) + def populate_table(self, revision, author, date, msg, color): + self.revisions_table.append([ + unicode(revision), + author, + rabbitvcs.util.helper.format_datetime(date), + msg, + color + ]) + + def load(self): self.set_loading(True) @@ -470,7 +532,7 @@ ) for row in self.revisions_table.get_selected_rows(): - item = self.revision_items[row] + item = self.display_items[row] self.action.append( self.svn.revpropset, prop_name, @@ -484,20 +546,42 @@ self.action.start() def on_log_message_edited(self, index, val): - self.revision_items[index].message = val + self.display_items[index].message = val self.revisions_table.set_row_item(index, 3, val) self.message.set_text(val) def on_author_edited(self, index, val): - self.revision_items[index].author = val + self.display_items[index].author = val self.revisions_table.set_row_item(index, 1, val) + def copy_revision_text(self): + text = "" + for selected_row in self.revisions_table.get_selected_rows(): + item = self.display_items[selected_row] + + text += "%s: %s\n" % (REVISION_LABEL, unicode(item.revision)) + text += "%s: %s\n" % (AUTHOR_LABEL, unicode(item.author)) + text += "%s: %s\n" % (DATE_LABEL, unicode(item.date)) + text += "%s\n\n" % item.message + if item.changed_paths is not None: + for subitem in item.changed_paths: + text += "%s\t%s" % (subitem.action, subitem.path) + + if subitem.copy_from_path or subitem.copy_from_revision: + text += " (Copied from %s %s)" % (subitem.copy_from_path, subitem.copy_from_revision) + + text += "\n" + + text += "\n\n\n" + + self.revision_clipboard.set_text(text) + def update_revision_message(self): combined_paths = [] subitems = [] for selected_row in self.revisions_table.get_selected_rows(): - item = self.revision_items[selected_row] + item = self.display_items[selected_row] if len(self.revisions_table.get_selected_rows()) == 1: self.message.set_text(item.message) @@ -549,7 +633,7 @@ sensitive = True if self.rev_end == 1: sensitive = False - if len(self.revision_items) <= self.limit: + if len(self.revision_items) < self.limit: sensitive = False self.get_widget("next").set_sensitive(sensitive) @@ -623,15 +707,30 @@ self.set_start_revision(self.revision_items[0].revision.short()) self.set_end_revision(self.revision_items[-1].revision.short()) - grapher = revision_grapher(self.revision_items) + self.display_items = [] + + for item in self.revision_items: + msg = cgi.escape(item.message).lower() + + should_add = not self.filter_text + should_add = should_add or msg.find(self.filter_text) > -1 + should_add = should_add or item.author.lower().find(self.filter_text) > -1 + should_add = should_add or unicode(item.revision).lower().find(self.filter_text) > -1 + should_add = should_add or str(item.date).lower().find(self.filter_text) > -1 + + if should_add: + self.display_items.append(item) + + grapher = revision_grapher(self.display_items) max_columns = 1 for (item, node, in_lines, out_lines) in grapher: if max_columns < len(out_lines): max_columns = len(out_lines) - graph_column = self.revisions_table.get_column(0) - cell = graph_column.get_cell_renderers()[0] - self.revisions_table.set_column_width(0, 16*max_columns) + if not self.filter_text: + graph_column = self.revisions_table.get_column(0) + cell = graph_column.get_cell_renderers()[0] + self.revisions_table.set_column_width(0, 16*max_columns) index = 0 for (item, node, in_lines, out_lines) in grapher: @@ -646,8 +745,12 @@ author = "%s" % author date = "%s" % date + graph_render = () + if not self.filter_text: + graph_render = (node, in_lines, out_lines) + self.revisions_table.append([ - (node, in_lines, out_lines), + graph_render, revision, author, date, @@ -678,12 +781,24 @@ self.action.append(self.refresh) self.action.start() + def copy_revision_text(self): + text = "" + for selected_row in self.revisions_table.get_selected_rows(): + item = self.display_items[selected_row] + + text += "%s: %s\n" % (REVISION_LABEL, unicode(item.revision.short())) + text += "%s: %s\n" % (AUTHOR_LABEL, unicode(item.author)) + text += "%s: %s\n" % (DATE_LABEL, unicode(item.date)) + text += "%s\n\n" % item.message + + self.revision_clipboard.set_text(text) + def update_revision_message(self): combined_paths = [] subitems = [] for selected_row in self.revisions_table.get_selected_rows(): - item = self.revision_items[selected_row] + item = self.display_items[selected_row] if len(self.revisions_table.get_selected_rows()) == 1: self.message.set_text(item.message) @@ -727,7 +842,7 @@ def check_next_sensitive(self): sensitive = True - if len(self.revision_items) <= self.limit: + if len(self.revision_items) < self.limit: sensitive = False self.get_widget("next").set_sensitive(sensitive) @@ -736,13 +851,13 @@ self.root_url = self.git.get_repository() + "/" class SVNLogDialog(SVNLog): - def __init__(self, path, ok_callback=None, multiple=False): + def __init__(self, path, ok_callback=None, multiple=False, merge_candidate_revisions=None): """ Override the normal SVNLog class so that we can hide the window as we need. Also, provide a callback for when the OK button is clicked so that we can get some desired data. """ - SVNLog.__init__(self, path) + SVNLog.__init__(self, path, merge_candidate_revisions) self.ok_callback = ok_callback self.multiple = multiple @@ -844,6 +959,17 @@ tooltip = _("Update the selected path to this revision") icon = "rabbitvcs-update" +class MenuRevertChangesFromThisRevision(MenuItem): + identifier = "RabbitVCS::Revert_Changes_From_This_Revision" + label = _("Revert changes from this revision") + tooltip = _("Update the selected path by reverse merging the changes") + icon = "rabbitvcs-revert" + +class MenuCopyClipboard(MenuItem): + identifier = "RabbitVCS::Copy_Clipboard" + label = _("Copy to clipboard") + tooltip = _("Copy to clipboard the full data of these revisions") + class MenuEditAuthor(MenuItem): identifier = "RabbitVCS::Edit_Author" label = _("Edit author...") @@ -876,6 +1002,9 @@ def view_diff_working_copy(self, data=None): return (self.vcs.is_in_a_or_a_working_copy(self.path) and len(self.revisions) == 1) + def copy_clipboard(self, data=None): + return (len(self.revisions) > 0) + def view_diff_previous_revision(self, data=None): item = self.revisions[0]["revision"] return ("previous_revision" in self.revisions[0] and len(self.revisions) == 1) @@ -903,6 +1032,11 @@ def update_to_this_revision(self, data=None): return (self.vcs_name == rabbitvcs.vcs.VCS_SVN and len(self.revisions) == 1) + # TODO Evaluate multiple revisions later + # TODO Git? + def revert_changes_from_this_revision(self, data=None): + return (self.vcs_name == rabbitvcs.vcs.VCS_SVN and len(self.revisions) == 1) + def checkout(self, data=None): return (len(self.revisions) == 1) @@ -964,6 +1098,9 @@ "--vcs=%s" % self.caller.get_vcs_name() ]) + def copy_clipboard(self, widget, data=None): + self.caller.copy_revision_text() + def view_diff_previous_revision(self, widget, data=None): parent = self.find_parent(self.revisions[0]) @@ -1052,6 +1189,13 @@ "-r", unicode(self.revisions[0]["revision"]), "--vcs=%s" % self.caller.get_vcs_name() ]) + + def revert_changes_from_this_revision(self, widget, data=None): + rabbitvcs.util.helper.launch_ui_window("merge", [ + self.path, + unicode(self.revisions[0]["revision"]) + "-" + str(int(unicode(self.revisions[0]["revision"])) - 1), + "--vcs=%s" % self.caller.get_vcs_name() + ]) def checkout(self, widget, data=None): url = "" @@ -1189,7 +1333,7 @@ # The first element of each tuple is a key that matches a # ContextMenuItems item. The second element is either None when there # is no submenu, or a recursive list of tuples for desired submenus. - self.structure = [ + self.structure = [ (MenuViewDiffWorkingCopy, None), (MenuViewDiffPreviousRevision, None), (MenuViewDiffRevisions, None), @@ -1199,7 +1343,10 @@ (MenuShowChangesPreviousRevision, None), (MenuShowChangesRevisions, None), (MenuSeparator, None), + (MenuCopyClipboard, None), + (MenuSeparator, None), (MenuUpdateToThisRevision, None), + (MenuRevertChangesFromThisRevision, None), (MenuCheckout, None), (MenuBranches, None), (MenuTags, None), diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/merge.py rabbitvcs-0.16/rabbitvcs/ui/merge.py --- rabbitvcs-0.15.3/rabbitvcs/ui/merge.py 2012-09-30 10:24:35.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/merge.py 2014-02-16 09:07:47.000000000 +0000 @@ -37,9 +37,10 @@ _ = gettext.gettext class SVNMerge(InterfaceView): - def __init__(self, path): + def __init__(self, path, revision_range = None): InterfaceView.__init__(self, "merge", "Merge") + self.revision_range = revision_range self.assistant = self.get_widget("Merge") @@ -64,9 +65,25 @@ self.assistant.set_forward_page_func(self.on_forward_clicked) self.repo_paths = rabbitvcs.util.helper.get_repository_paths() - + # Keeps track of which stages should be marked as complete self.type = None + + self.initialize_root_url() + + def initialize_root_url(self): + action = SVNAction( + self.svn, + notification=False, + run_in_thread=False + ) + + self.root_url = action.run_single( + self.svn.get_repo_url, + self.path + ) + + # # Assistant UI Signal Callbacks # @@ -126,7 +143,7 @@ else: high = int(r) low = high - 1 - + # Before pysvn v1.6.3, there was a bug that required the ranges # tuple to have three elements, even though only two were used # Fixed in Pysvn Revision 1114 @@ -208,7 +225,8 @@ self.path ) kwargs = { - "recurse": recursive + "recurse": recursive, + "dry_run": test } if len(args) > 0: @@ -239,6 +257,8 @@ if self.get_widget("mergetype_range_opt").get_active(): next = 1 self.type = "range" + if self.revision_range: + self.get_widget("mergerange_revisions").set_text(self.revision_range) elif self.get_widget("mergetype_reintegrate_opt").get_active(): next = 2 self.type = "reintegrate" @@ -260,15 +280,21 @@ self.get_widget("mergerange_from_urls"), self.repo_paths ) + self.mergerange_repos.set_child_text(self.root_url) self.get_widget("mergerange_working_copy").set_text(self.path) self.mergerange_check_ready() def on_mergerange_show_log1_clicked(self, widget): + merge_candidate_revisions = self.svn.find_merge_candidate_revisions( + self.get_widget("mergerange_from_urls").get_active_text(), + self.path + ) SVNLogDialog( self.get_widget("mergerange_from_urls").get_active_text(), ok_callback=self.on_mergerange_log1_closed, - multiple=True + multiple=True, + merge_candidate_revisions=merge_candidate_revisions ) def on_mergerange_log1_closed(self, data): @@ -550,7 +576,7 @@ from rabbitvcs.ui import main, VCS_OPT (options, args) = main( [VCS_OPT], - usage="Usage: rabbitvcs merge path [revision... (for git)]" + usage="Usage: rabbitvcs merge path [revision/revision_range]" ) path = args[0] @@ -560,15 +586,15 @@ vcs_name = rabbitvcs.vcs.guess(path)["vcs"] window = None + revision_text = None + if len(args) >= 2: + revision_text = args[1] + if vcs_name == rabbitvcs.vcs.VCS_SVN: - window = SVNMerge(path) + window = SVNMerge(path, revision_text) window.register_gtk_quit() gtk.main() elif vcs_name == rabbitvcs.vcs.VCS_GIT: - revision1 = None - if len(args) == 2: - revision1 = args[1] - - window = GitMerge(path, revision1) + window = GitMerge(path, revision_text) window.register_gtk_quit() gtk.main() diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/revert.py rabbitvcs-0.16/rabbitvcs/ui/revert.py --- rabbitvcs-0.15.3/rabbitvcs/ui/revert.py 2010-12-17 20:26:47.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/revert.py 2014-02-16 09:07:47.000000000 +0000 @@ -20,20 +20,31 @@ # along with RabbitVCS; If not, see . # +import os import thread +from time import sleep import pygtk import gobject import gtk from rabbitvcs.ui import InterfaceView -from rabbitvcs.ui.add import Add -from rabbitvcs.ui.action import SVNAction +from rabbitvcs.util.contextmenu import GtkFilesContextMenu, GtkContextMenuCaller import rabbitvcs.ui.widget import rabbitvcs.ui.dialog import rabbitvcs.ui.action import rabbitvcs.util.helper +import rabbitvcs.vcs from rabbitvcs.util.log import Log +from rabbitvcs.vcs.status import Status + +log = Log("rabbitvcs.ui.revert") + +from rabbitvcs import gettext +_ = gettext.gettext + +gtk.gdk.threads_init() + import rabbitvcs.vcs @@ -42,25 +53,25 @@ from rabbitvcs import gettext _ = gettext.gettext -class SVNRevert(Add): - def __init__(self, paths, base_dir=None): - InterfaceView.__init__(self, "add", "Add") +class Revert(InterfaceView, GtkContextMenuCaller): + + TOGGLE_ALL = True - self.window = self.get_widget("Add") - self.window.set_title(_("Revert")) + def __init__(self, paths, base_dir=None): + InterfaceView.__init__(self, "revert", "Revert") self.paths = paths self.base_dir = base_dir self.last_row_clicked = None self.vcs = rabbitvcs.vcs.VCS() - self.items = None - self.statuses = self.vcs.svn().STATUSES_FOR_REVERT + self.items = [] + + self.statuses = self.vcs.statuses_for_revert(paths) self.files_table = rabbitvcs.ui.widget.Table( - self.get_widget("files_table"), - [gobject.TYPE_BOOLEAN, rabbitvcs.ui.widget.TYPE_PATH, - gobject.TYPE_STRING ,gobject.TYPE_STRING, gobject.TYPE_STRING], - [rabbitvcs.ui.widget.TOGGLE_BUTTON, _("Path"), _("Extension"), - _("Text Status"), _("Property Status")], + self.get_widget("files_table"), + [gobject.TYPE_BOOLEAN, rabbitvcs.ui.widget.TYPE_PATH, + gobject.TYPE_STRING], + [rabbitvcs.ui.widget.TOGGLE_BUTTON, _("Path"), _("Extension")], filters=[{ "callback": rabbitvcs.ui.widget.path_filter, "user_data": { @@ -89,6 +100,69 @@ ]) def on_ok_clicked(self, widget): + return True + + def load(self): + gtk.gdk.threads_enter() + self.get_widget("status").set_text(_("Loading...")) + self.items = self.vcs.get_items(self.paths, self.statuses) + + self.populate_files_table() + self.get_widget("status").set_text(_("Found %d item(s)") % len(self.items)) + gtk.gdk.threads_leave() + + def populate_files_table(self): + self.files_table.clear() + for item in self.items: + self.files_table.append([ + True, + item.path, + rabbitvcs.util.helper.get_file_extension(item.path) + ]) + + # Overrides the GtkContextMenuCaller method + def on_context_menu_command_finished(self): + self.initialize_items() + + def initialize_items(self): + """ + Initializes the activated cache and loads the file items in a new thread + """ + + try: + thread.start_new_thread(self.load, ()) + except Exception, e: + log.exception(e) + + def on_select_all_toggled(self, widget): + self.TOGGLE_ALL = not self.TOGGLE_ALL + for row in self.files_table.get_items(): + row[0] = self.TOGGLE_ALL + + def on_files_table_row_activated(self, treeview, event, col): + paths = self.files_table.get_selected_row_items(1) + rabbitvcs.util.helper.launch_diff_tool(*paths) + + def on_files_table_key_event(self, treeview, data=None): + if gtk.gdk.keyval_name(data.keyval) == "Delete": + self.delete_items(treeview, data) + + def on_files_table_mouse_event(self, treeview, data=None): + if data is not None and data.button == 3: + self.show_files_table_popup_menu(treeview, data) + + def show_files_table_popup_menu(self, treeview, data): + paths = self.files_table.get_selected_row_items(1) + GtkFilesContextMenu(self, data, self.base_dir, paths).show() + + +class SVNRevert(Revert): + def __init__(self, paths, base_dir=None): + Revert.__init__(self, paths, base_dir) + + self.svn = self.vcs.svn() + + def on_ok_clicked(self, widget): items = self.files_table.get_activated_rows(1) if not items: self.close() @@ -107,52 +181,13 @@ self.action.append(self.action.finish) self.action.start() -class GitRevert(Add): - def __init__(self, paths, base_dir=None): - InterfaceView.__init__(self, "add", "Add") - - self.window = self.get_widget("Add") - self.window.set_title(_("Revert")) - self.paths = paths - self.base_dir = base_dir - self.last_row_clicked = None - self.vcs = rabbitvcs.vcs.VCS() +class GitRevert(Revert): + def __init__(self, paths, base_dir=None): + Revert.__init__(self, paths, base_dir) + self.git = self.vcs.git(self.paths[0]) - self.items = None - self.statuses = self.git.STATUSES_FOR_REVERT - self.files_table = rabbitvcs.ui.widget.Table( - self.get_widget("files_table"), - [gobject.TYPE_BOOLEAN, rabbitvcs.ui.widget.TYPE_PATH, - gobject.TYPE_STRING ,gobject.TYPE_STRING], - [rabbitvcs.ui.widget.TOGGLE_BUTTON, _("Path"), _("Extension"), - _("Status")], - filters=[{ - "callback": rabbitvcs.ui.widget.path_filter, - "user_data": { - "base_dir": base_dir, - "column": 1 - } - }], - callbacks={ - "row-activated": self.on_files_table_row_activated, - "mouse-event": self.on_files_table_mouse_event, - "key-event": self.on_files_table_key_event - } - ) - self.initialize_items() - - def populate_files_table(self): - self.files_table.clear() - for item in self.items: - self.files_table.append([ - True, - item.path, - rabbitvcs.util.helper.get_file_extension(item.path), - item.simple_content_status() - ]) - def on_ok_clicked(self, widget): items = self.files_table.get_activated_rows(1) if not items: diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/settings.py rabbitvcs-0.16/rabbitvcs/ui/settings.py --- rabbitvcs-0.15.3/rabbitvcs/ui/settings.py 2012-09-30 10:24:35.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/settings.py 2014-02-16 09:07:47.000000000 +0000 @@ -37,13 +37,15 @@ import rabbitvcs.services.checkerservice from rabbitvcs.services.checkerservice import StatusCheckerStub -from rabbitvcs import gettext +from rabbitvcs import gettext, _gettext, APP_NAME, LOCALE_DIR _ = gettext.gettext CHECKER_UNKNOWN_INFO = _("Unknown") CHECKER_SERVICE_ERROR = _( "There was an error communicating with the status checker service.") +from locale import getdefaultlocale + class Settings(InterfaceView): def __init__(self, base_dir=None): """ @@ -54,9 +56,14 @@ self.settings = rabbitvcs.util.settings.SettingsManager() + langs = [] + language = os.environ.get('LANGUAGE', None) + if language: + langs += language.split(":") + self.language = rabbitvcs.ui.widget.ComboBox( self.get_widget("language"), - [_("English")] + langs ) self.language.set_active_from_value( self.settings.get("general", "language") diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/update.py rabbitvcs-0.16/rabbitvcs/ui/update.py --- rabbitvcs-0.15.3/rabbitvcs/ui/update.py 2012-09-30 10:24:35.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/update.py 2014-02-16 09:07:47.000000000 +0000 @@ -76,24 +76,48 @@ self.get_widget("repository_container"), self.git ) + + def on_apply_changes_toggled(self, widget, data=None): + self.get_widget("merge").set_sensitive(self.get_widget("apply_changes").get_active()) + self.get_widget("rebase").set_sensitive(self.get_widget("apply_changes").get_active()) def on_ok_clicked(self, widget, data=None): self.hide() - merge = self.get_widget("merge").get_active() + + rebase = self.get_widget("rebase").get_active() + + git_function_params = [] + + apply_changes = self.get_widget("apply_changes").get_active() repository = self.repository_selector.repository_opt.get_active_text() branch = self.repository_selector.branch_opt.get_active_text() - + fetch_all = self.get_widget("all").get_active() + self.action = GitAction( self.git, register_gtk_quit=self.gtk_quit_is_set() ) self.action.append(self.action.set_header, _("Update")) self.action.append(self.action.set_status, _("Updating...")) - if merge: - self.action.append(self.git.pull, repository, branch) + + if not apply_changes: + if fetch_all: + self.action.append(self.git.fetch, "--all") + else: + self.action.append(self.git.fetch, repository, branch) + else: - self.action.append(self.git.fetch, repository, branch) + if rebase: + git_function_params.append ("rebase") + + if fetch_all: + git_function_params.append ("all") + repository = "" + branch = "" + + self.action.append(self.git.pull, repository, branch, git_function_params) + self.action.append(self.action.set_status, _("Completed Update")) self.action.append(self.action.finish) self.action.start() diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/widget.py rabbitvcs-0.16/rabbitvcs/ui/widget.py --- rabbitvcs-0.15.3/rabbitvcs/ui/widget.py 2012-09-26 14:17:58.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/widget.py 2014-02-16 09:07:47.000000000 +0000 @@ -87,6 +87,7 @@ TYPE_ELLIPSIZED = 'TYPE_ELLIPSIZED' TYPE_GRAPH = 'TYPE_GRAPH' TYPE_MARKUP = 'TYPE_MARKUP' +TYPE_HIDDEN = 'TYPE_HIDDEN' ELLIPSIZE_COLUMN_CHARS = 20 @@ -359,6 +360,10 @@ cell.set_property('yalign', 0) col.pack_start(cell, False) col.set_attributes(cell, text=i) + elif coltypes[i] == TYPE_HIDDEN: + coltypes[i] = str + col = gtk.TreeViewColumn(name, cell) + col.set_visible(False) elif coltypes[i] == TYPE_ELLIPSIZED: coltypes[i] = str cell = gtk.CellRendererText() diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/xml/add.xml rabbitvcs-0.16/rabbitvcs/ui/xml/add.xml --- rabbitvcs-0.15.3/rabbitvcs/ui/xml/add.xml 2012-09-30 10:27:36.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/xml/add.xml 2014-02-16 09:07:47.000000000 +0000 @@ -55,6 +55,22 @@ + + Show ignored files + True + True + False + False + True + + + + False + False + 2 + + + True @@ -122,4 +138,4 @@ - + \ No newline at end of file diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/xml/changes.xml rabbitvcs-0.16/rabbitvcs/ui/xml/changes.xml --- rabbitvcs-0.15.3/rabbitvcs/ui/xml/changes.xml 2012-09-30 10:27:36.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/xml/changes.xml 2014-02-16 09:07:47.000000000 +0000 @@ -374,7 +374,6 @@ - diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/xml/commit.xml rabbitvcs-0.16/rabbitvcs/ui/xml/commit.xml --- rabbitvcs-0.15.3/rabbitvcs/ui/xml/commit.xml 2011-11-11 19:22:00.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/xml/commit.xml 2014-02-16 09:07:47.000000000 +0000 @@ -43,6 +43,7 @@ 0 True char + True 1 @@ -56,44 +57,56 @@ - + True - 6 - vertical + True + 6 - + True - 0 - <b>Add Message</b> - True - - - False - False - 0 - - - - - True - 12 + 6 + vertical + + + True + 0 + <b>Add Message</b> + True + + + False + False + 0 + + - + True - 6 - vertical + 12 - - 0 + True - start + 6 + vertical - - Previous Messages + + 0 True - True - True - + start + + + Previous Messages + True + True + True + + + + False + False + 0 + + False @@ -101,120 +114,121 @@ 0 - - - False - False - 0 - - - - - True - True - automatic - automatic - etched-in - + True True - True - 7 - word - False + automatic + automatic + etched-in + + + True + True + True + 7 + word + False + + + + -1 + - - -1 - + + 1 + - 1 - - - - - 1 - - - - - True - 6 - vertical - - - True - 0 - <b>Changed Files</b> (double-click to compare with base) - True - - - False - False - 0 + False + True - + True - 12 + 6 + vertical - + True - 6 - vertical - - - True - True - automatic - automatic - etched-in - - - True - True - - - - - 0 - - + 0 + <b>Changed Files</b> (double-click to compare with base) + True + + + False + False + 0 + + + + + True + 12 - + True + 6 vertical - - Select / Deselect all + True True - False - True - + automatic + automatic + etched-in + + + True + True + + - False - False 0 - - Show unversioned files + True - True - False - True - True - + vertical + + + Select / Deselect all + True + True + False + True + + + + False + False + 0 + + + + + Show unversioned files + True + True + False + True + True + + + + False + False + 1 + + False @@ -223,31 +237,30 @@ - - False - False - 1 - + + 1 + - 1 + False + True - + - - 2 - + + 6 True True 0 + True False @@ -256,6 +269,26 @@ + + True + True + True + Refresh + + + + True + gtk-refresh + + + + + False + False + 0 + + + True 6 diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/xml/dialogs/property.xml rabbitvcs-0.16/rabbitvcs/ui/xml/dialogs/property.xml --- rabbitvcs-0.15.3/rabbitvcs/ui/xml/dialogs/property.xml 2012-09-23 05:18:34.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/xml/dialogs/property.xml 2014-02-16 09:07:47.000000000 +0000 @@ -6,7 +6,8 @@ - 400 + 600 + 400 5 Property center diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/xml/git-update.xml rabbitvcs-0.16/rabbitvcs/ui/xml/git-update.xml --- rabbitvcs-0.15.3/rabbitvcs/ui/xml/git-update.xml 2012-09-30 10:27:36.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/xml/git-update.xml 2014-02-16 09:07:47.000000000 +0000 @@ -1,4 +1,4 @@ - + @@ -6,8 +6,8 @@ True Update Local Repository center-always - - + + True @@ -51,12 +51,18 @@ - + True + 5 - - 90 + + Apply remote changes True + True + False + True + True + False @@ -65,25 +71,108 @@ - - Merge changes into local branch + + True + 5 + + + True + + + 30 + True + + + False + 0 + + + + + merge into local branch + True + True + False + none + True + True + + + 1 + + + + + 0 + + + + + True + + + 30 + True + + + False + 0 + + + + + apply remote changes prior to local changes (rebase) + True + True + False + none + True + True + merge + + + 1 + + + + + 1 + + + + + 1 + + + + + False + False + 2 + + + + + True + + + Fetch all True True False - True True False False - 1 + 0 False False - 2 + 3 @@ -98,7 +187,7 @@ True True True - + False @@ -113,7 +202,7 @@ True True True - + False diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/xml/log.xml rabbitvcs-0.16/rabbitvcs/ui/xml/log.xml --- rabbitvcs-0.15.3/rabbitvcs/ui/xml/log.xml 2012-09-30 10:27:36.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/xml/log.xml 2014-02-16 09:07:47.000000000 +0000 @@ -48,6 +48,54 @@ + + True + False + 1 + 3 + + + True + 1 + 3 + 4 + 3 + 4 + search_buffer + + + + + True + True + 0 + + + + + True + True + 1 + + + + + Stop on copy + True + True + False + False + True + + + + False + False + end + 1 + + + True 3 @@ -95,22 +143,6 @@ 2 - - - Stop on copy - True - True - False - True - - - - False - False - end - 1 - - False @@ -424,6 +456,11 @@ + + + + + diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/xml/merge.xml rabbitvcs-0.16/rabbitvcs/ui/xml/merge.xml --- rabbitvcs-0.15.3/rabbitvcs/ui/xml/merge.xml 2012-09-30 10:27:36.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/xml/merge.xml 2014-02-16 09:07:47.000000000 +0000 @@ -3,7 +3,7 @@ - 550 + 600 True 12 Merge Assistant diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/xml/notification.xml rabbitvcs-0.16/rabbitvcs/ui/xml/notification.xml --- rabbitvcs-0.15.3/rabbitvcs/ui/xml/notification.xml 2011-01-14 14:51:17.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/xml/notification.xml 2014-02-16 09:07:47.000000000 +0000 @@ -37,6 +37,7 @@ True 0 + True False diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/xml/property_editor.xml rabbitvcs-0.16/rabbitvcs/ui/xml/property_editor.xml --- rabbitvcs-0.15.3/rabbitvcs/ui/xml/property_editor.xml 2011-01-14 14:51:17.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/xml/property_editor.xml 2014-02-16 09:07:47.000000000 +0000 @@ -3,7 +3,8 @@ - 440 + 600 + 400 True Property Editor rabbitvcs-small diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/xml/revert.xml rabbitvcs-0.16/rabbitvcs/ui/xml/revert.xml --- rabbitvcs-0.15.3/rabbitvcs/ui/xml/revert.xml 1970-01-01 00:00:00.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/xml/revert.xml 2014-02-16 09:07:47.000000000 +0000 @@ -0,0 +1,125 @@ + + + + + + 450 + True + Revert + center + 400 + 300 + rabbitvcs-small + center + + + + + True + 12 + vertical + 6 + + + 200 + True + True + automatic + automatic + etched-in + + + True + True + + + + + 0 + + + + + Select / Deselect all + True + True + False + True + True + + + + False + False + 1 + + + + + True + + + True + 0 + + + False + False + 1 + + + + + True + 6 + end + + + gtk-cancel + True + True + True + True + + + + False + False + 0 + + + + + gtk-ok + True + True + True + True + + + + False + False + 1 + + + + + False + False + end + 1 + + + + + False + False + end + 2 + + + + + + \ No newline at end of file diff -Nru rabbitvcs-0.15.3/rabbitvcs/ui/xml/settings.xml rabbitvcs-0.16/rabbitvcs/ui/xml/settings.xml --- rabbitvcs-0.15.3/rabbitvcs/ui/xml/settings.xml 2012-09-30 10:27:36.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/ui/xml/settings.xml 2014-02-16 09:07:47.000000000 +0000 @@ -1,4 +1,4 @@ - + @@ -6,16 +6,17 @@ 550 425 True + False Settings center rabbitvcs-small - - + + True + False 12 - vertical 18 @@ -24,16 +25,17 @@ True - vertical + False True + False 12 - vertical 6 True + False 0 <b>RabbitVCS</b> True @@ -47,53 +49,21 @@ True + False 12 True - vertical + False 6 - - - - 90 - True - 0 - 5 - Language: - - - False - False - 0 - - - - - True - - - False - False - end - 1 - - - - - False - False - 0 - - - True - vertical + False Enable file attributes + False True True False @@ -107,9 +77,9 @@ - - Enable emblems - True + + Enable recursive status checks + False True False True @@ -118,12 +88,14 @@ False False - 1 + 2 - - Enable recursive status checks + + Enable emblems + False + True True False True @@ -138,10 +110,11 @@ Show RabbitVCS debugging tools + False True True False - The debug menu is used to diagnose problems with RabbitVCS itself + The debug menu is used to diagnose problems with RabbitVCS itself True @@ -173,10 +146,69 @@ 0 + + + True + False + 12 + 6 + + + True + False + 0 + <b>Language</b> + True + + + False + False + 0 + + + + + True + False + 12 + + + True + False + 6 + + + True + False + + + False + False + end + 0 + + + + + + + False + False + 1 + + + + + False + False + 1 + + + False General @@ -186,17 +218,18 @@ True + False 12 - vertical 18 True - vertical + False 6 True + False 0 <b>Program used to compare files</b> True @@ -210,35 +243,45 @@ True + False 12 True - vertical + False 6 True + False 6 True True + False + False + True + True + True + True 0 + False True True True - Browse... - + Browse... + True + False gtk-harddisk @@ -259,6 +302,7 @@ Show new version on the left side + False True True False @@ -287,10 +331,14 @@ + + 1 + True + False External Programs @@ -301,17 +349,18 @@ True + False 12 - vertical 18 True - vertical + False 6 True + False 0 <b>URL History</b> True @@ -325,18 +374,23 @@ True + False 12 True + False 6 True + False 0 Number of URLs to remember + True + True 0 @@ -345,6 +399,10 @@ 60 True True + False + False + True + True False @@ -355,11 +413,12 @@ gtk-clear + False True True True True - + False @@ -386,11 +445,12 @@ True - vertical + False 6 True + False 0 <b>Log Messages</b> True @@ -404,48 +464,58 @@ True + False 12 True + False 6 True + False 0 Number of messages to remember word-char + True + True 0 - - 60 + + gtk-clear + False True True + True + True + False False - 2 + end + 1 - - gtk-clear + + 60 True True - True - True - + False + False + True + True False False - end - 1 + 2 @@ -467,11 +537,12 @@ True - vertical + False 6 True + False 0 <b>Authentication</b> True @@ -485,29 +556,35 @@ True + False 12 True + False 6 True + False 0.0099999997764825821 Clear your authentication information + True + True 0 gtk-clear + False True True True True - + False @@ -533,10 +610,14 @@ + + 2 + True + False Saved Data @@ -547,12 +628,13 @@ True + False 12 - vertical 6 True + False 0 0 <b>Logging Options</b> @@ -567,18 +649,21 @@ True + False 12 True - vertical + False 6 True + False True + False 0 Type: @@ -591,6 +676,7 @@ True + False False @@ -609,9 +695,11 @@ True + False True + False 0 Minimum level to log @@ -624,6 +712,7 @@ True + False False @@ -643,14 +732,20 @@ + True + True 1 + + 3 + True + False Logging @@ -661,18 +756,20 @@ True + False 12 - vertical 6 True + False 0 6 6 True + False 3 2 12 @@ -680,6 +777,7 @@ True + False 0 <b>Checker type:</b> True @@ -691,6 +789,7 @@ True + False 0 <b>Memory usage:</b> True @@ -704,6 +803,7 @@ True + False 0 Unknown @@ -716,6 +816,7 @@ True + False 0 Unknown @@ -730,6 +831,7 @@ True + False 0 <b>Process ID:</b> True @@ -743,6 +845,7 @@ True + False 0 Unknown @@ -759,6 +862,7 @@ False + True 6 0 @@ -766,20 +870,24 @@ True + False False + True 1 True + False 0 none True + False 0 0 12 @@ -794,26 +902,31 @@ True + False <b>Other Information</b> True + True + True 2 True + False center Refresh Information + False True True True - + False @@ -824,10 +937,11 @@ Restart Checker + False True True True - + False @@ -838,11 +952,12 @@ Stop Checker + False True True True 0.54000002145767212 - + False @@ -858,10 +973,14 @@ + + 4 + True + False Status Checker @@ -872,12 +991,13 @@ True + False 12 - vertical 6 True + False 0 <b>Configuration Editor</b> True @@ -891,20 +1011,27 @@ True + False 12 + True + True 1 + + 5 + True + False Git @@ -914,22 +1041,26 @@ + True + True 0 True + False 6 end gtk-cancel + False True True True True - + False @@ -940,11 +1071,12 @@ gtk-ok + False True True True True - + False diff -Nru rabbitvcs-0.15.3/rabbitvcs/util/contextmenu.py rabbitvcs-0.16/rabbitvcs/util/contextmenu.py --- rabbitvcs-0.15.3/rabbitvcs/util/contextmenu.py 2012-09-23 05:48:35.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/util/contextmenu.py 2014-02-16 09:07:47.000000000 +0000 @@ -384,14 +384,23 @@ pathrev1 = rabbitvcs.util.helper.create_path_revision_string(self.vcs_client.svn().get_repo_url(self.paths[0]), previous_revision_number) pathrev2 = rabbitvcs.util.helper.create_path_revision_string(self.paths[0], "working") - proc = rabbitvcs.util.helper.launch_ui_window("diff", [pathrev1, pathrev2]) + proc = rabbitvcs.util.helper.launch_ui_window("diff", [ + "-s", + pathrev1, + pathrev2, + "--vcs=%s" % rabbitvcs.vcs.VCS_SVN + ]) self.caller.rescan_after_process_exit(proc, self.paths) def compare_tool(self, widget, data1=None, data2=None): pathrev1 = rabbitvcs.util.helper.create_path_revision_string(self.paths[0], "base") pathrev2 = rabbitvcs.util.helper.create_path_revision_string(self.paths[0], "working") - proc = rabbitvcs.util.helper.launch_ui_window("diff", ["-s", pathrev1, pathrev2]) + proc = rabbitvcs.util.helper.launch_ui_window("diff", [ + "-s", + pathrev1, + pathrev2 + ]) self.caller.rescan_after_process_exit(proc, self.paths) def compare_tool_multiple(self, widget, data1=None, data2=None): @@ -403,10 +412,15 @@ if guess["vcs"] == rabbitvcs.vcs.VCS_SVN: previous_revision_number = self.vcs_client.svn().get_revision(self.paths[0]) - 1 - pathrev1 = rabbitvcs.util.helper.create_path_revision_string(self.vcs_client.get_repo_url(self.paths[0]), previous_revision_number) + pathrev1 = rabbitvcs.util.helper.create_path_revision_string(self.vcs_client.svn().get_repo_url(self.paths[0]), previous_revision_number) pathrev2 = rabbitvcs.util.helper.create_path_revision_string(self.paths[0], "working") - proc = rabbitvcs.util.helper.launch_ui_window("diff", ["-s", pathrev1, pathrev2]) + proc = rabbitvcs.util.helper.launch_ui_window("diff", [ + "-s", + pathrev1, + pathrev2, + "--vcs=%s" % rabbitvcs.vcs.VCS_SVN + ]) self.caller.rescan_after_process_exit(proc, self.paths) def show_changes(self, widget, data1=None, data2=None): diff -Nru rabbitvcs-0.15.3/rabbitvcs/util/helper.py rabbitvcs-0.16/rabbitvcs/util/helper.py --- rabbitvcs-0.15.3/rabbitvcs/util/helper.py 2012-09-23 05:48:35.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/util/helper.py 2014-02-16 09:07:47.000000000 +0000 @@ -68,7 +68,7 @@ def get_tmp_path(filename): day = datetime.datetime.now().day - m = hashlib.md5(str(day)).hexdigest()[0:10] + m = hashlib.md5(str(day) + str(os.geteuid())).hexdigest()[0:10] tmpdir = "/tmp/rabbitvcs-%s" %m if not os.path.isdir(tmpdir): @@ -274,6 +274,22 @@ return returner +def get_exclude_paths_path(): + return os.path.join(get_home_folder(), "exclude_paths") + +def get_exclude_paths(): + path = get_exclude_paths_path() + if not os.path.exists(path): + return [] + + f = open(path, "r") + paths = [] + for l in f: + paths.append(l.strip()) + f.close() + + return paths + def encode_revisions(revision_array): """ Takes a list of integer revision numbers and converts to a TortoiseSVN-like @@ -440,7 +456,7 @@ if not os.path.exists(diff["path"]): return - os.popen("%s %s %s" % (diff["path"], path1, path2)) + os.popen("%s '%s' '%s'" % (diff["path"], path1, path2)) def get_file_extension(path): """ diff -Nru rabbitvcs-0.15.3/rabbitvcs/util/_locale.py rabbitvcs-0.16/rabbitvcs/util/_locale.py --- rabbitvcs-0.15.3/rabbitvcs/util/_locale.py 2010-05-18 16:53:43.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/util/_locale.py 2014-02-16 09:07:47.000000000 +0000 @@ -2,13 +2,24 @@ import os from rabbitvcs.util.log import Log +import rabbitvcs.util.settings +import rabbitvcs.util.helper + log = Log("rabbitvcs.util.locale") def initialize_locale(): try: + settings = rabbitvcs.util.settings.SettingsManager() + sane_default = locale.getdefaultlocale(['LANG', 'LANGUAGE']) + # Just try to set the default locale for the user locale.setlocale(locale.LC_ALL, sane_default) + + # Now, if the user has set a default, try to apply that + user_default = settings.get("general", "language") + if user_default: + locale.setlocale(locale.LC_ALL, (user_default, sane_default[1])) except locale.Error: # If the user's environment does not specify an encoding, Python will # pick a default which might not be available. It seems to pick diff -Nru rabbitvcs-0.15.3/rabbitvcs/vcs/git/gittyup/client.py rabbitvcs-0.16/rabbitvcs/vcs/git/gittyup/client.py --- rabbitvcs-0.15.3/rabbitvcs/vcs/git/gittyup/client.py 2012-09-23 05:04:00.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/vcs/git/gittyup/client.py 2014-02-16 09:07:47.000000000 +0000 @@ -908,7 +908,7 @@ # Actually move the file/folder shutil.move(source, dest) - def pull(self, repository="origin", refspec="master"): + def pull(self, repository="origin", refspec="master", options=None): """ Fetch objects from a remote repository and merge with the local repository @@ -922,7 +922,18 @@ """ self.numberOfCommandStages = 2 - cmd = ["git", "pull","--progress", repository, refspec] + cmd = ["git", "pull", "--progress"] + + if options != None: + if options.count("rebase"): + cmd.append("--rebase") + + if options.count("all"): + cmd.append("--all") + else: + cmd.append (repository) + cmd.append (refspec) + try: (status, stdout, stderr) = GittyupCommand(cmd, cwd=self.repo.path, notify=self.notify_and_parse_git_pull, cancel=self.get_cancel).execute() except GittyupCommandError, e: @@ -1195,9 +1206,10 @@ untracked_directories = [] for line in stdout: components = re.match("^(Would remove)\s(.*?)$", line) - untracked_path = components.group(2) - if untracked_path[-1]=='/': - untracked_directories.append(untracked_path[:-1]) + if components: + untracked_path = components.group(2) + if untracked_path[-1]=='/': + untracked_directories.append(untracked_path[:-1]) #Determine the ignored files and directories in Repo cmd = ["git", "clean", "-ndX", self.repo.path] @@ -1208,15 +1220,17 @@ ignored_directories=[] for line in stdout: components = re.match("^(Would remove)\s(.*?)$", line) - ignored_path=components.group(2) - if ignored_path[-1]=='/': - ignored_directories.append(ignored_path[:-1]) - next - statuses.append(IgnoredStatus(ignored_path)) - try: - del files_hash[ignored_path] - except Exception, e: - pass + if components: + ignored_path=components.group(2) + if ignored_path[-1]=='/': + ignored_directories.append(ignored_path[:-1]) + next + statuses.append(IgnoredStatus(ignored_path)) + self.ignored_paths.append(ignored_path) + try: + del files_hash[ignored_path] + except Exception, e: + pass for file,data in files_hash.items(): ignore_file=False untracked_file=False @@ -1230,8 +1244,11 @@ break if untracked_file==True: statuses.append(UntrackedStatus(file)) + if ignore_file==True: + self.ignored_paths.append(file) elif ignore_file==True: statuses.append(IgnoredStatus(file)) + self.ignored_paths.append(file) else: statuses.append(NormalStatus(file)) @@ -1336,6 +1353,8 @@ if not self._ignore_file(patterns, os.path.basename(name)): statuses.append(UntrackedStatus(name)) + else: + self.ignored_paths.append(name) # Determine status of folders based on child contents for d in directories: @@ -1350,7 +1369,13 @@ return statuses + def get_all_ignore_file_paths(self, path): + return self.ignored_paths + + def status(self, path): + # TODO - simply get this from the status implementation / avoid global state + self.ignored_paths = [] version = self._get_git_version() if version and self._version_greater_than(version, [1,7,-1]): return self.status_porcelain(path) diff -Nru rabbitvcs-0.15.3/rabbitvcs/vcs/git/gittyup/command.py rabbitvcs-0.16/rabbitvcs/vcs/git/gittyup/command.py --- rabbitvcs-0.15.3/rabbitvcs/vcs/git/gittyup/command.py 2012-06-30 00:33:02.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/vcs/git/gittyup/command.py 2014-02-16 09:07:47.000000000 +0000 @@ -40,11 +40,14 @@ return returner def execute(self): + env = os.environ.copy() + env["LANG"] = "C"; proc = subprocess.Popen(self.command, cwd=self.cwd, stdin=None, stderr=subprocess.STDOUT, stdout=subprocess.PIPE, + env=env, close_fds=True, preexec_fn=os.setsid, universal_newlines=True) diff -Nru rabbitvcs-0.15.3/rabbitvcs/vcs/git/__init__.py rabbitvcs-0.16/rabbitvcs/vcs/git/__init__.py --- rabbitvcs-0.15.3/rabbitvcs/vcs/git/__init__.py 2012-06-30 00:33:02.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/vcs/git/__init__.py 2014-02-16 09:07:47.000000000 +0000 @@ -561,7 +561,7 @@ return self.client.move(source, dest) - def pull(self, repository="origin", refspec="master"): + def pull(self, repository="origin", refspec="master", options=None): """ Fetch objects from a remote repository and merge with the local repository @@ -574,7 +574,7 @@ """ - return self.client.pull(repository, refspec) + return self.client.pull(repository, refspec, options) def push(self, repository="origin", refspec="master"): """ diff -Nru rabbitvcs-0.15.3/rabbitvcs/vcs/__init__.py rabbitvcs-0.16/rabbitvcs/vcs/__init__.py --- rabbitvcs-0.15.3/rabbitvcs/vcs/__init__.py 2012-09-26 13:55:59.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/vcs/__init__.py 2014-02-16 09:07:47.000000000 +0000 @@ -27,6 +27,8 @@ from rabbitvcs.util.log import Log logger = Log("rabbitvcs.vcs") +from rabbitvcs.util.helper import get_exclude_paths + EXT_UTIL_ERROR = _("The output from '%s' was not able to be processed.\n%s") VCS_SVN = 'svn' @@ -77,9 +79,10 @@ class VCS: clients = {} + exclude_paths = [] def __init__(self): - pass + self.exclude_paths = get_exclude_paths() def dummy(self): if VCS_DUMMY in self.clients: @@ -168,6 +171,10 @@ return self.clients[VCS_MERCURIAL] def client(self, path, vcs=None): + if self.should_exclude(path): + logger.debug("Excluding path: %s" % path) + return self.dummy() + # Determine the VCS instance based on the vcs parameter if vcs: if vcs == VCS_SVN: @@ -187,6 +194,13 @@ else: return self.dummy() + def should_exclude(self, path): + for exclude_path in self.exclude_paths: + if path.startswith(exclude_path): + return True + + return False + def guess(self, path): return guess(path) diff -Nru rabbitvcs-0.15.3/rabbitvcs/vcs/svn/__init__.py rabbitvcs-0.16/rabbitvcs/vcs/svn/__init__.py --- rabbitvcs-0.15.3/rabbitvcs/vcs/svn/__init__.py 2012-08-21 05:27:38.000000000 +0000 +++ rabbitvcs-0.16/rabbitvcs/vcs/svn/__init__.py 2014-02-16 09:07:47.000000000 +0000 @@ -24,6 +24,8 @@ Concrete VCS implementation for Subversion functionality. """ import subprocess +import os +import shutil import os.path from os.path import isdir, isfile, dirname, islink, realpath from datetime import datetime @@ -66,15 +68,22 @@ self.value = value self.is_revision_object = True + # TODO Shift to options factory? + if self.value and str(self.value).lower().strip() == 'head': + self.kind = "head" + if self.value is None and self.kind in ("number", "date"): self.kind = "head" + if self.kind == "head": + self.value = None + self.__revision_kind = self.KINDS[self.kind] self.__revision = None try: - if value is not None: - self.__revision = pysvn.Revision(self.__revision_kind, value) + if self.value is not None: + self.__revision = pysvn.Revision(self.__revision_kind, self.value) else: self.__revision = pysvn.Revision(self.__revision_kind) except Exception, e: @@ -342,11 +351,14 @@ if self.is_working_copy(path): return True else: - # info will return nothing for an unversioned file inside a working copy - if (self.is_in_a_or_a_working_copy(path) and - self.client_info(path)): - return True - + try: + # info will return nothing for an unversioned file inside a working copy + if (self.is_in_a_or_a_working_copy(path) and + self.client_info(path)): + return True + except Exception, e: + log.exception("is_versioned exception for %s" % path) + return False def is_status(self, path, status_kind): @@ -537,6 +549,49 @@ return returner + def find_merge_candidate_revisions(self, from_url, to_path): + """ + Return the list of revisions from from_url that are not already merged into to_path. + + @type from_url: string + @param from_url: A repository URL to merge from. + + @type to_path: string + @param to_path: A working copy path to merge into. + + @rtype: list + @return: A list of revisions not already merged. + """ + + from_url_root = self.get_repo_root_url(from_url) + from_branch = from_url.replace(from_url_root, '') + from_branch = from_branch.rstrip('/') + + merge_info = self.propget(to_path, "svn:mergeinfo") + + merged_revisions = [] + for branch in merge_info.split('\n'): + if not branch.startswith(from_branch + ':'): + continue + revisions = branch.split(':')[1] # branch:rev,rev-rev,... + for rev in revisions.split(','): + if rev.find('-') != -1: + (rev_s, rev_e) = rev.split('-') + merged_revisions += range(int(rev_s), int(rev_e) + 1) + else: + merged_revisions.append(int(rev)) + + from_log = self.log(from_url, strict_node_history=False) + from_revisions = [ int(l.revision.short()) for l in from_log ] + + to_log = self.log(to_path, strict_node_history=False) + to_revisions = [ int(l.revision.short()) for l in to_log ] + + candidate_revisions = list(set(from_revisions) - set(to_revisions) - set(merged_revisions)) + + return candidate_revisions + + # # properties # @@ -1182,7 +1237,14 @@ @param recurse: Whether or not to run a recursive checkout. """ - + if os.path.exists(dest_path): + if os.path.isdir(dest_path): + shutil.rmtree(dest_path) + else: + os.remove(dest_path) + + + return self.client.export(src_url_or_path, dest_path, force, revision.primitive(), native_eol, ignore_externals, recurse) diff -Nru rabbitvcs-0.15.3/setup.py rabbitvcs-0.16/setup.py --- rabbitvcs-0.15.3/setup.py 2013-05-05 03:50:49.000000000 +0000 +++ rabbitvcs-0.16/setup.py 2014-02-16 09:07:47.000000000 +0000 @@ -48,7 +48,7 @@ # This will eventually be passed to the setup function, but we already need them # for doing some other stuff so we have to declare them here. name = "rabbitvcs" -version = "0.15.3" +version = "0.16.0" description = "Easy version control" long_description = """RabbitVCS is a set of graphical tools written to provide simple and straightforward access to the version control systems you use.""" author = "Bruce van der Kooij"